:root {
  --navy: #001F3A;
  --navy-mid: #002d56;
  --navy-soft: #0b355c;
  --gold: #F2A30F;
  --charcoal: #1D2730;
  --slate: #5B6670;
  --muted: #5B6670;
  --off-white: #F7F4EF;
  --canvas: #F7F4EF;
  --line: #E0E2E3;
  --line-strong: #C8CACC;
  --white: #ffffff;
  --danger: #dc2626;
  --success: #16a34a;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
  --chevron-svg: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235B6670'><path d='M3.22 5.97a.75.75 0 0 1 1.06 0L8 9.69l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L3.22 7.03a.75.75 0 0 1 0-1.06Z'/></svg>");
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--canvas);
  color: var(--charcoal);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

a {
  color: var(--navy);
}

a:hover {
  color: var(--navy-mid);
}

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

/* ── App shell ──────────────────────────────────────────────────────────── */

.app-shell {
  display: grid;
  grid-template-columns: 244px 1fr;
  min-height: 100vh;
}

.sidebar {
  background: linear-gradient(180deg, #001f3a 0%, #052844 100%);
  border-right: none;
  height: 100vh;
  overflow-y: auto;
  padding: 20px 16px 22px;
  position: sticky;
  top: 0;
}

.brand {
  align-items: center;
  display: flex;
  margin-bottom: 28px;
  min-width: 0;
  padding: 0 4px;
}

.brand__link {
  align-items: center;
  border-radius: 8px;
  display: flex;
  min-width: 0;
  outline-offset: 4px;
  width: 100%;
}

.brand__link:focus-visible {
  outline: 2px solid rgba(242, 163, 15, 0.9);
}

.brand .logo-full {
  display: block;
  height: auto;
  max-height: 42px;
  max-width: 100%;
  min-width: 0;
  object-fit: contain;
  width: 100%;
}

.brand .logo-mark {
  display: none;
  height: 40px;
  width: auto;
}

.nav {
  display: grid;
  gap: 2px;
}

.nav-section {
  color: rgba(255, 255, 255, 0.44);
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  margin: 22px 8px 7px;
  text-transform: uppercase;
}
/* Current shell-mode indicator at the top of the sidebar. */
.nav-mode {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: block;
  margin: 0 8px 10px;
  padding: 2px 8px 12px;
}

.nav-mode__label {
  color: rgba(255, 255, 255, 0.44);
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.nav-mode__value {
  color: var(--white);
  display: block;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.nav a {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 7px;
  color: rgba(255, 255, 255, 0.78);
  display: flex;
  font-size: 13.5px;
  font-weight: 680;
  gap: 10px;
  min-height: 38px;
  padding: 8px 10px;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
}

.nav-icon {
  align-items: center;
  color: rgba(255, 255, 255, 0.58);
  display: inline-flex;
  flex: 0 0 auto;
  height: 19px;
  justify-content: center;
  width: 19px;
}

.nav-icon svg {
  display: block;
  fill: currentColor;
  height: 19px;
  width: 19px;
}

.nav a:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.08);
  color: var(--white);
}

.nav a:hover .nav-icon {
  color: rgba(255, 255, 255, 0.82);
}

.nav a.active {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.14);
  color: var(--white);
  font-weight: 780;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.nav a.active .nav-icon {
  color: var(--white);
}

.nav a.active:hover {
  background: rgba(255, 255, 255, 0.14);
  color: var(--white);
}

.nav a:focus-visible {
  border-color: rgba(255, 255, 255, 0.42);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.12);
  color: var(--white);
  outline: none;
}

.nav a:focus-visible .nav-icon {
  color: var(--white);
}

.nav-divider {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: block;
  margin: 18px 8px 8px;
}

.nav-utility-link {
  color: rgba(255, 255, 255, 0.7);
}

.main {
  min-width: 0;
}

/* ── Topbar ─────────────────────────────────────────────────────────────── */

.topbar {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  min-height: 58px;
  padding: 10px 30px;
  position: sticky;
  top: 0;
  z-index: 30;
  backdrop-filter: blur(12px);
}

.scope {
  color: var(--slate);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  font-size: 13px;
}

.scope strong {
  color: var(--charcoal);
}

.topbar .actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 0;
}

.workspace-switcher {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

.workspace-chip {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--charcoal);
  display: inline-flex;
  gap: 7px;
  max-width: min(280px, 100%);
  min-height: 34px;
  min-width: 0;
  padding: 6px 10px;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.workspace-chip:hover {
  background: #F7F4EF;
  border-color: var(--line-strong);
  color: var(--charcoal);
  box-shadow: var(--shadow-sm);
}
/* The chip matching the current shell mode is marked so the Workspace/Project
   pair reads as a toggle, not a passive breadcrumb. */
.workspace-chip.is-active-mode {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
}

.workspace-chip.is-active-mode:hover {
  background: var(--navy-mid);
  border-color: var(--navy-mid);
  color: var(--white);
}

.workspace-chip.is-active-mode .workspace-chip__label {
  color: rgba(255, 255, 255, 0.62);
}

.workspace-chip.is-active-mode strong {
  color: var(--white);
}


.workspace-chip__label {
  color: var(--slate);
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.workspace-chip strong {
  display: block;
  font-size: 13px;
  line-height: 1.1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-divider {
  color: var(--line-strong);
  font-weight: 850;
}

.project-switcher {
  min-width: 0;
  position: relative;
}

.project-switcher summary {
  cursor: pointer;
  list-style: none;
}

.project-switcher summary::-webkit-details-marker {
  display: none;
}

.project-switcher summary::after {
  background: var(--chevron-svg) center/contain no-repeat;
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  height: 14px;
  margin-left: 4px;
  transition: transform .15s ease;
  width: 14px;
}

.project-switcher[open] summary::after {
  transform: rotate(180deg);
}

.project-switcher[open] summary {
  background: #F7F4EF;
  border-color: var(--line-strong);
  box-shadow: var(--shadow-sm);
}

.project-switcher[open] summary.workspace-chip.is-active-mode {
  background: var(--navy-mid);
  border-color: var(--navy-mid);
  color: var(--white);
}

.project-switcher[open] summary.workspace-chip.is-active-mode .workspace-chip__label {
  color: rgba(255, 255, 255, 0.62);
}

.project-switcher[open] summary.workspace-chip.is-active-mode strong {
  color: var(--white);
}

.project-switcher__panel {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-md);
  display: grid;
  gap: 8px;
  left: 0;
  padding: 8px;
  position: absolute;
  top: calc(100% + 8px);
  width: min(360px, calc(100vw - 32px));
  z-index: 90;
}

.project-switcher__search input {
  min-height: 38px;
}

.project-switcher__list {
  display: grid;
  gap: 3px;
  max-height: 280px;
  overflow-y: auto;
}

.project-switcher__option {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 7px;
  box-shadow: none;
  color: var(--charcoal);
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  min-height: 0;
  padding: 9px 10px;
  text-align: left;
  width: 100%;
}

.project-switcher__option:hover:not(:disabled) {
  background: #EDE9E2;
  box-shadow: none;
  color: var(--charcoal);
  transform: none;
}

.project-switcher__option:disabled {
  background: #F7F4EF;
  border: 0;
  box-shadow: none;
  color: var(--charcoal);
  cursor: default;
  opacity: 1;
}

.project-switcher__option-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.project-switcher__option-copy strong,
.project-switcher__option-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-switcher__option-copy strong {
  color: var(--charcoal);
  font-size: 13px;
}

.project-switcher__option-copy small {
  color: var(--slate);
  font-size: 12px;
}

.project-switcher__check {
  color: var(--success);
  font-size: 12px;
  font-weight: 900;
}

.project-switcher__new {
  border-top: 1px solid var(--line);
  color: var(--navy);
  display: block;
  font-size: 13px;
  font-weight: 800;
  padding: 9px 10px 4px;
  text-decoration: none;
}

.project-switcher__new:hover {
  color: var(--navy-mid);
}

.project-switcher__empty {
  color: var(--slate);
  font-size: 13px;
  margin: 0;
  padding: 8px 10px;
}

.account-menu {
  position: relative;
}

.account-menu summary {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--charcoal);
  cursor: pointer;
  display: flex;
  gap: 8px;
  list-style: none;
  min-height: 38px;
  padding: 4px 10px 4px 4px;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}

.account-menu summary::-webkit-details-marker {
  display: none;
}

.account-menu summary::after {
  background: var(--chevron-svg) center/contain no-repeat;
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  height: 14px;
  margin-left: 4px;
  transition: transform .15s ease;
  width: 14px;
}

.account-menu[open] summary::after {
  transform: rotate(180deg);
}

.account-menu[open] summary,
.account-menu summary:hover {
  background: #F7F4EF;
  border-color: var(--line-strong);
  box-shadow: var(--shadow-sm);
}

.account-avatar {
  align-items: center;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-soft) 100%);
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 999px;
  color: var(--white);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 850;
  height: 30px;
  justify-content: center;
  text-transform: uppercase;
  width: 30px;
}

.account-avatar--large {
  font-size: 24px;
  height: 58px;
  width: 58px;
}

.account-menu__name {
  display: inline-block;
  font-size: 13px;
  font-weight: 750;
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-menu__panel {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow-md);
  display: grid;
  gap: 6px;
  min-width: 240px;
  padding: 8px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 80;
}

.account-menu__identity {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 2px;
  margin-bottom: 4px;
  padding: 8px 8px 10px;
}

.account-menu__identity strong {
  color: var(--charcoal);
  font-size: 13px;
}

.account-menu__identity span {
  color: var(--slate);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-menu__panel a,
.account-menu__panel button {
  background: transparent;
  border: 0;
  border-radius: 7px;
  box-shadow: none;
  color: var(--charcoal);
  display: block;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  padding: 9px 10px;
  text-align: left;
  text-decoration: none;
  width: 100%;
}

.account-menu__panel a:hover,
.account-menu__panel button:hover {
  background: #EDE9E2;
  box-shadow: none;
  color: var(--navy);
  transform: none;
}

.account-profile-summary {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 14px;
  margin-bottom: 18px;
  padding-bottom: 18px;
}

/* Hamburger — hidden on desktop */
.hamburger {
  background: none;
  border: none;
  box-shadow: none;
  color: var(--charcoal);
  cursor: pointer;
  display: none;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  padding: 6px;
}

.hamburger:hover {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  color: var(--charcoal);
  transform: none;
}

/* Scrim — always hidden until JS adds .visible (only used on mobile) */
.sidebar-scrim {
  display: none;
}

/* ── Content ────────────────────────────────────────────────────────────── */

.content {
  margin-inline: auto;
  max-width: 1600px;
  padding: 26px 30px 40px;
  width: 100%;
}

/* ── Auth ───────────────────────────────────────────────────────────────── */

.auth-page {
  display: grid;
  min-height: 100vh;
  place-items: center;
}

.auth-card,
.panel,
.card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
}

.auth-card {
  max-width: 420px;
  padding: 28px;
  width: calc(100% - 32px);
}

.panel {
  margin-bottom: 20px;
  padding: 18px 20px;
}

.panel--form {
  margin-left: auto;
  margin-right: auto;
  max-width: 640px;
}

.card {
  padding: 16px;
}

/* ── Grid ───────────────────────────────────────────────────────────────── */

.grid {
  display: grid;
  gap: 16px;
}

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

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

/* ── Actions ────────────────────────────────────────────────────────────── */

.actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

/* ── Buttons ────────────────────────────────────────────────────────────── */

.button,
button,
input[type="submit"] {
  align-items: center;
  background: var(--charcoal);
  border: 1px solid var(--charcoal);
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.1);
  color: var(--white);
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  gap: 6px;
  justify-content: center;
  line-height: 1.2;
  min-height: 40px;
  padding: 9px 14px;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s, transform 0.15s;
  white-space: nowrap;
}

.button:hover,
button:hover,
input[type="submit"]:hover {
  background: var(--navy);
  border-color: var(--navy);
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.12);
  color: var(--white);
  transform: translateY(-1px);
}

.button.secondary,
button.secondary {
  background: var(--white);
  border-color: var(--line-strong);
  box-shadow: none;
  color: var(--charcoal);
}

.button.secondary:hover,
button.secondary:hover {
  background: #F7F4EF;
  border-color: #C8C3BB;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
  color: var(--charcoal);
}

.button.gold {
  background: var(--charcoal);
  border-color: var(--charcoal);
  color: var(--white);
}

.button.gold:hover {
  background: var(--navy-mid);
  border-color: var(--navy-mid);
  color: var(--white);
}

button:disabled,
input[type="submit"]:disabled,
.button.disabled {
  background: #EDE9E2;
  border-color: var(--line);
  box-shadow: none;
  color: var(--slate);
  cursor: not-allowed;
  opacity: 0.62;
  transform: none;
}

button:disabled:hover,
input[type="submit"]:disabled:hover,
.button.disabled:hover {
  background: #EDE9E2;
  border-color: var(--line);
  box-shadow: none;
  color: var(--slate);
  transform: none;
}

/* ── Form elements ──────────────────────────────────────────────────────── */

input,
select,
textarea {
  background: var(--white);
  border: 1px solid #C8CACC;
  border-radius: 6px;
  color: var(--charcoal);
  font: inherit;
  min-height: 44px;
  padding: 9px 10px;
  transition: border-color 0.15s, box-shadow 0.15s;
  width: 100%;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--navy);
  box-shadow: 0 0 0 3px rgba(0, 31, 58, 0.08);
  outline: none;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--navy);
  height: 16px;
  min-height: auto;
  padding: 0;
  width: 16px;
}

.field:has(input[type="checkbox"]):not(:has(.checkbox-list)) {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  gap: 8px;
  justify-content: flex-start;
}

.checkbox-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}

.checkbox-list li {
  align-items: center;
  display: flex;
  gap: 8px;
  list-style: none;
}

.checkbox-list label {
  font-size: 13px;
  font-weight: 500;
}

/* Scenario wizard */
.wizard-steps {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

.wizard-step {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.wizard-step--active {
  color: var(--text);
}

.wizard-step--done {
  color: var(--gold);
}

.wizard-step-sep {
  color: var(--border);
  font-size: 12px;
}

.wizard-panel--hidden {
  display: none;
}

.wizard-panel .form-actions {
  margin-top: 24px;
}

label {
  display: block;
  color: var(--charcoal);
  font-size: 13px;
  font-weight: 750;
  margin-bottom: 6px;
}

form p {
  margin: 0 0 14px;
}

.input-group {
  display: flex;
}

.input-group__prefix {
  align-items: center;
  background: #F7F4EF;
  border: 1px solid #C8CACC;
  border-radius: 6px 0 0 6px;
  border-right: 0;
  color: var(--slate);
  display: flex;
  font-size: 12px;
  padding: 9px 10px;
  white-space: nowrap;
}

.input-group input,
.input-group select {
  border-radius: 0 6px 6px 0;
  flex: 1;
  min-width: 0;
}

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

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

.field {
  min-width: 0;
}

.field--wide,
.form-grid .field:has(textarea),
.form-actions {
  grid-column: 1 / -1;
}

.help-text {
  color: var(--slate);
  font-size: 12px;
  margin: 6px 0 0;
}

.errorlist {
  color: var(--danger);
  font-size: 12px;
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
}

.form-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.fork-form fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.fork-form legend {
  color: var(--charcoal);
  font-size: 13px;
  font-weight: 750;
  margin-bottom: 8px;
}

.fork-mode-grid {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fork-mode-option {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  cursor: pointer;
  display: flex;
  gap: 8px;
  margin: 0;
  min-height: 36px;
  padding: 7px 12px;
  transition: background 0.15s, border-color 0.15s, box-shadow 0.15s, color 0.15s;
  white-space: nowrap;
}

.fork-mode-option input[type="radio"] {
  accent-color: var(--navy);
  border-radius: 50%;
  flex: 0 0 auto;
  height: 16px;
  margin: 0;
  min-height: 0;
  padding: 0;
  width: 16px;
}

.fork-mode-option span {
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
}

.fork-mode-option:has(input:checked) {
  background: #f3f8fd;
  border-color: #9ab8d6;
  box-shadow: 0 0 0 3px rgba(0, 31, 58, 0.05);
  color: var(--navy);
}

.fork-form__rule,
.fork-mode-copy p,
.form-help {
  color: var(--slate);
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}

.fork-mode-copy {
  margin-top: -2px;
}

.fork-reference {
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px 14px;
}

.fork-reference p {
  color: var(--charcoal);
  margin: 6px 0 0;
}

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

.inline-form select {
  min-width: 0;
  width: auto;
}

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

.launch-actions form {
  margin: 0;
}

.launch-form {
  align-items: flex-end;
  display: grid;
  gap: 8px;
  min-width: 220px;
}

.launch-form.compact {
  grid-template-columns: minmax(140px, 1fr) auto;
  min-width: 260px;
}

.launch-form.compact select {
  min-height: 38px;
}

.launch-form.compact button {
  white-space: nowrap;
}

.launch-actions button {
  min-height: 38px;
  padding: 8px 10px;
}

.launch-actions--large {
  margin-top: 16px;
}

.launch-actions--large button {
  min-height: 44px;
  padding: 10px 14px;
}

.button-pair {
  display: flex;
  gap: 8px;
}

.button-pair button {
  flex: 1 1 auto;
}

.compact-button {
  min-height: 36px;
  padding: 7px 11px;
}

.strong-link {
  font-weight: 800;
}

.action-col {
  width: 270px;
}

.row-actions {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
}

.row-actions form {
  margin: 0;
}

.icon-button {
  align-items: center;
  background: none;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--slate);
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  min-height: auto;
  padding: 5px;
}

.icon-button:hover {
  background: var(--off-white);
  border-color: var(--line);
  color: var(--charcoal);
}

.icon-button.danger:hover {
  background: #fef2f2;
  border-color: #fca5a5;
  color: var(--danger);
}

/* ── Pre-flight / queued animation ──────────────────────────────────────── */

.preflight-scene {
  align-items: center;
  animation: preflight-scene-in 0.6s ease 1.8s both;
  display: flex;
  gap: 0;
  justify-content: center;
  margin: 32px auto 0;
  max-width: 480px;
  padding: 0 16px;
}

@keyframes preflight-scene-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.preflight-actor {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100px;
}

.preflight-actor__avatar {
  align-items: center;
  background: var(--white);
  border: 2px solid var(--line-strong);
  border-radius: 50%;
  color: var(--slate);
  display: flex;
  height: 52px;
  justify-content: center;
  width: 52px;
}

.preflight-actor--audience .preflight-actor__avatar {
  animation: preflight-avatar-pulse 3s ease-in-out infinite;
  border-color: var(--navy);
  color: var(--navy);
}

.preflight-actor--assistant .preflight-actor__avatar {
  animation: preflight-avatar-pulse 3s ease-in-out 1.5s infinite;
  border-color: var(--gold);
  color: var(--charcoal);
}

@keyframes preflight-avatar-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(0,31,58,0); }
  40%       { box-shadow: 0 0 0 5px rgba(0,31,58,0.08); }
  65%       { box-shadow: 0 0 0 10px rgba(0,31,58,0); }
}

.preflight-actor__label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.preflight-bubble {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  box-shadow: var(--shadow-sm);
  display: flex;
  gap: 5px;
  height: 34px;
  justify-content: center;
  padding: 0 14px;
  width: 78px;
}

.preflight-bubble--audience  { border-bottom-left-radius: 3px; }
.preflight-bubble--assistant { border-bottom-right-radius: 3px; }

.preflight-dot {
  animation: preflight-dot-bounce 1.4s ease-in-out 2.4s infinite;
  background: var(--slate);
  border-radius: 50%;
  display: block;
  flex-shrink: 0;
  height: 7px;
  opacity: 0.35;
  width: 7px;
}

.preflight-dot:nth-child(2) { animation-delay: 2.58s; }
.preflight-dot:nth-child(3) { animation-delay: 2.76s; }

.preflight-bubble--assistant .preflight-dot             { animation-delay: 3.3s; }
.preflight-bubble--assistant .preflight-dot:nth-child(2) { animation-delay: 3.48s; }
.preflight-bubble--assistant .preflight-dot:nth-child(3) { animation-delay: 3.66s; }

@keyframes preflight-dot-bounce {
  0%, 55%, 100% { opacity: 0.3; transform: translateY(0); }
  25%            { opacity: 1;   transform: translateY(-6px); }
}

.preflight-channel {
  flex: 1;
  max-width: 180px;
  min-width: 40px;
  overflow: hidden;
  padding: 0 4px;
  transform: translateY(-22px);
}

.preflight-signal {
  border-top: 1.5px dashed var(--line-strong);
  position: relative;
}

.preflight-signal::before,
.preflight-signal::after {
  border-radius: 50%;
  content: '';
  height: 9px;
  position: absolute;
  top: -5px;
  width: 9px;
}

.preflight-signal::before {
  animation: preflight-ltr 2.6s ease-in-out 2.4s infinite;
  background: var(--navy);
}

.preflight-signal::after {
  animation: preflight-rtl 2.6s ease-in-out 3.7s infinite;
  background: var(--gold);
}

@keyframes preflight-ltr {
  0%   { left: 0;                  opacity: 0; transform: scale(0.4); }
  8%   {                           opacity: 1; transform: scale(1); }
  92%  {                           opacity: 1; transform: scale(1); }
  100% { left: calc(100% - 9px);   opacity: 0; transform: scale(0.4); }
}

@keyframes preflight-rtl {
  0%   { left: calc(100% - 9px);   opacity: 0; transform: scale(0.4); }
  8%   {                           opacity: 1; transform: scale(1); }
  92%  {                           opacity: 1; transform: scale(1); }
  100% { left: 0;                  opacity: 0; transform: scale(0.4); }
}

.preflight-caption {
  animation: preflight-scene-in 0.6s ease 1.8s both, preflight-caption-breathe 2.6s ease-in-out 2.4s infinite;
  color: var(--muted);
  font-size: 13px;
  margin: 20px 0 0;
  text-align: center;
}

@keyframes preflight-caption-breathe {
  0%, 100% { opacity: 0.45; }
  50%       { opacity: 1; }
}

.preflight-actions {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  padding-bottom: 32px;
}

.choice-option-edit {
  position: relative;
}

.choice-option-edit > summary {
  list-style: none;
  cursor: pointer;
}

.choice-option-edit > summary::-webkit-details-marker {
  display: none;
}

.choice-option-edit__form {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-md);
  display: grid;
  gap: 10px;
  padding: 14px;
  position: fixed;
  width: min(320px, 90vw);
  z-index: 50;
}

.choice-option-edit__form label {
  color: var(--slate);
  display: grid;
  font-size: 11px;
  font-weight: 800;
  gap: 4px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.choice-option-edit__form input,
.choice-option-edit__form select,
.choice-option-edit__form textarea {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: normal;
  text-transform: none;
}

.option-chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  padding: 0.18rem 0.5rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.1;
}

.option-chip--owned_offering {
  border-color: rgba(16, 185, 129, 0.35);
  color: #047857;
  background: rgba(16, 185, 129, 0.08);
}

.option-chip--external_competitor {
  border-color: rgba(245, 158, 11, 0.35);
  color: #92400e;
  background: rgba(245, 158, 11, 0.08);
}

.danger-zone {
  border-color: #f5c2c0;
}

.danger-zone .panel-title {
  color: var(--danger);
}

.confirm-delete-panel {
  max-width: 520px;
}

.confirm-delete-name {
  font-size: 1.1rem;
  font-weight: 800;
  margin-bottom: 6px;
}

.confirm-delete-actions {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}

.button.danger {
  background: var(--danger);
  border: 1px solid var(--danger);
  color: var(--white);
}

.button.danger:hover {
  background: #b91c1c;
  border-color: #b91c1c;
  color: var(--white);
}

.roadmap-status-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.roadmap-status-row .segmented-toggle form {
  margin: 0;
}

.form-kicker {
  color: var(--slate);
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

/* ── Typography ─────────────────────────────────────────────────────────── */

.mono-input,
code,
pre {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

/* Persona structured field editor */
.pf-ui { margin-top: 4px; }

.pf-object-grid {
  display: grid;
  gap: 12px 20px;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.pf-field--array {
  grid-column: 1 / -1;
}

.pf-field--array .pf-array__tags {
  flex-direction: row;
  flex-wrap: wrap;
}

.pf-field--array .pf-array__input-row {
  max-width: 320px;
}

.pf-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pf-field__label {
  color: var(--slate);
  font-size: 12px;
  font-weight: 600;
}

.pf-field__label--checkbox {
  align-items: center;
  flex-direction: row;
  gap: 8px;
}

.pf-field__input {
  background: var(--white);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  color: var(--charcoal);
  font: inherit;
  font-size: 14px;
  padding: 6px 10px;
  width: 100%;
}

.pf-field__input:focus {
  border-color: var(--navy);
  outline: none;
}

.pf-field__checkbox {
  accent-color: var(--navy);
  height: 15px;
  width: 15px;
}

/* Array tag widget */
.pf-array { display: flex; flex-direction: column; gap: 6px; }

.pf-array__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 28px;
}

.pf-tag {
  align-items: center;
  background: var(--off-white);
  border: 1px solid var(--line-strong);
  border-radius: 20px;
  display: inline-flex;
  font-size: 13px;
  gap: 4px;
  padding: 2px 10px 2px 12px;
}

.pf-tag__remove {
  background: none;
  border: none;
  color: var(--slate);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  padding: 0 2px;
}

.pf-tag__remove:hover { color: var(--danger); }

.pf-array__input-row {
  display: flex;
  gap: 6px;
}

.pf-array__input {
  background: var(--white);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  color: var(--charcoal);
  flex: 1;
  font: inherit;
  font-size: 14px;
  padding: 5px 10px;
}

.pf-array__input:focus {
  border-color: var(--navy);
  outline: none;
}

.pf-array__add {
  background: var(--off-white);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  color: var(--charcoal);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  padding: 5px 12px;
  white-space: nowrap;
}

.pf-array__add:hover { background: var(--line); }

.eyebrow {
  color: var(--slate);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  margin: 0 0 6px;
  text-transform: uppercase;
}

h1,
h2,
h3 {
  color: var(--charcoal);
  letter-spacing: 0;
  margin-top: 0;
}

h1 {
  font-size: clamp(1.65rem, 2.2vw, 2.15rem);
  line-height: 1.12;
  margin-bottom: 8px;
}

h2 {
  font-size: 1.1rem;
}

.muted {
  color: var(--slate);
}

.page-titlebar {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 22px;
}

.page-titlebar__copy p {
  margin: 0;
}

.page-titlebar__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-titlebar__actions--stacked {
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.page-titlebar__buttons {
  align-items: center;
  display: flex;
  gap: 10px;
}


.titlebar-stat {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 10px;
  display: flex;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 10px 16px;
}
.titlebar-stat div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.titlebar-stat dt {
  color: var(--slate);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.titlebar-stat dd {
  color: var(--charcoal);
  font-size: 22px;
  font-weight: 700;
  margin: 0;
}
.titlebar-stat__sub {
  color: var(--slate);
  font-size: 11px;
  font-weight: 500;
  margin: 0px 0 0;
}

.icon-btn {
  align-items: center;
  background: none;
  border: 1.5px solid var(--line-strong);
  border-radius: 8px;
  color: var(--slate);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  height: 44px;
  justify-content: center;
  padding: 0;
  text-decoration: none;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
  width: 44px;
}
.icon-btn svg {
  display: block;
  height: 22px;
  width: 22px;
}
.icon-btn .fluent-icon,
.icon-action .fluent-icon {
  fill: currentColor;
  stroke: none;
}
.icon-btn .fluent-icon path,
.icon-action .fluent-icon path {
  fill: currentColor;
  stroke: none;
}
.icon-btn:hover {
  border-color: var(--charcoal);
  color: var(--charcoal);
}
button.icon-btn:hover {
  background: none;
  border-color: var(--charcoal);
  box-shadow: none;
  color: var(--charcoal);
  transform: none;
}
.icon-btn--primary {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
}
.icon-btn--primary:hover {
  background: #d4890a;
  border-color: #d4890a;
  color: #fff;
}

.project-titlebar {
  align-items: center;
}

.project-toolbar {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 180px) minmax(160px, 190px) auto;
  margin-bottom: 18px;
  padding: 14px;
}

.project-toolbar label {
  margin: 0;
}

.project-toolbar__actions {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.project-card-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 20px;
}

.project-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: 14px;
  min-height: 220px;
  padding: 18px;
  position: relative;
}

.project-card--active {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
  border-color: #C8C3BB;
  box-shadow: 0 0 0 3px rgba(0, 31, 58, 0.06), var(--shadow-sm);
}
/* Clickable card surface: a stretched link/button covers the whole card to
   switch project context, while explicit controls stay on top via .project-card__action. */
.project-card--switchable,
.project-card--active {
  cursor: pointer;
}

.project-card--switchable:hover {
  border-color: var(--line-strong);
  box-shadow: 0 0 0 2px rgba(0, 31, 58, 0.05), var(--shadow-sm);
}

.project-card__open-form {
  margin: 0;
}

.project-card__open {
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  inset: 0;
  padding: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.project-card__open:focus-visible {
  box-shadow: 0 0 0 2px var(--navy);
  outline: none;
}

.project-card__open:hover,
.project-card__open:active {
  background: transparent;
  box-shadow: none;
  color: inherit;
}

.project-card__action {
  position: relative;
  z-index: 2;
}

.project-card__action {
  margin: 0;
}

.project-card__hint {
  color: var(--slate);
  font-size: 12px;
  font-weight: 800;
}

/* Add-new placeholder card occupying the next grid cell. */
.project-card--add {
  align-content: center;
  background: transparent;
  border-style: dashed;
  box-shadow: none;
  color: var(--slate);
  cursor: pointer;
  gap: 8px;
  justify-items: center;
  text-decoration: none;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.project-card--add:hover {
  background: rgba(0, 31, 58, 0.02);
  border-color: var(--navy);
  color: var(--navy);
}

.project-card__add-icon {
  align-items: center;
  border: 1.5px solid currentColor;
  border-radius: 999px;
  display: flex;
  font-size: 22px;
  font-weight: 700;
  height: 38px;
  justify-content: center;
  line-height: 1;
  width: 38px;
}

.project-card__add-label {
  font-size: 13px;
  font-weight: 850;
}


.project-card__header,
.project-card__footer {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.project-card__header h2 {
  font-size: 1.02rem;
  margin: 0 0 4px;
}

.project-card__header p,
.project-card__description {
  color: var(--slate);
  margin: 0;
}

.project-card__description {
  min-height: 44px;
}

.project-card__metrics {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.project-card__metrics div {
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 10px;
}

.project-card__metrics dt,
.project-overview-band__stats dt {
  color: var(--slate);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.project-card__metrics dd,
.project-overview-band__stats dd {
  color: var(--charcoal);
  font-weight: 850;
  margin: 3px 0 0;
}

.project-card__footer {
  align-items: center;
  margin-top: auto;
}

.active-pill {
  background: #eef6ff;
  border: 1px solid #cfe0f2;
  border-radius: 999px;
  color: var(--navy);
  display: inline-flex;
  font-size: 12px;
  font-weight: 850;
  padding: 4px 9px;
}

.project-empty-state {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: 5px;
  grid-column: 1 / -1;
}

.project-empty-state strong {
  color: var(--charcoal);
}

.project-empty-state span {
  color: var(--slate);
}

.project-create-panel {
  margin-bottom: 22px;
  margin-left: auto;
  margin-right: auto;
  max-width: 640px;
  padding: 0;
}

.project-create-panel[hidden] {
  display: none;
}

.project-create-panel__header {
  border-bottom: 1px solid var(--line);
  display: block;
  padding: 16px 18px;
}

.project-create-panel__header strong,
.project-create-panel__header small {
  display: block;
}

.project-create-panel__header small {
  color: var(--slate);
  font-size: 13px;
  margin-top: 2px;
}

.project-create-panel form {
  padding: 18px;
}

.project-overview-band {
  align-items: stretch;
  background: linear-gradient(135deg, var(--navy) 0%, #123e66 100%);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  color: var(--white);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(220px, 1.1fr) minmax(300px, 1fr);
  margin: 24px 0 18px;
  padding: 22px;
}

.project-overview-band .eyebrow,
.project-overview-band p,
.project-overview-band__stats dt {
  color: rgba(255, 255, 255, 0.72);
}

.project-overview-band h2 {
  color: var(--white);
  font-size: 1.45rem;
  margin-bottom: 6px;
}

.project-overview-band__main p:last-child {
  margin: 0;
}

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

.project-overview-band__stats div {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 7px;
  padding: 11px 12px;
}

.project-overview-band__stats dd {
  color: var(--white);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-overview-band__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  grid-column: 1 / -1;
}

.project-overview-band__actions a {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  color: var(--white);
  font-size: 13px;
  font-weight: 800;
  padding: 7px 10px;
  text-decoration: none;
}

.project-overview-band__actions a:hover {
  background: rgba(255, 255, 255, 0.16);
}

.project-settings-layout {
  display: grid;
  gap: 18px;
}

.project-setup-stack {
  min-width: 0;
}

.project-setup-section {
  scroll-margin-top: 84px;
}

.project-setup-section .panel-header {
  align-items: flex-start;
}

.setup-summary {
  display: grid;
  gap: 14px 28px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.setup-summary--business,
.setup-summary--project {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.setup-summary div {
  min-width: 0;
}

.setup-summary__wide {
  grid-column: 1 / -1;
}

.setup-summary dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.setup-summary dd {
  color: var(--charcoal);
  font-size: 14px;
  line-height: 1.45;
  margin: 0;
  overflow-wrap: anywhere;
}

.setup-editor {
  position: relative;
}

.setup-editor > summary {
  list-style: none;
}

.setup-editor > summary::-webkit-details-marker {
  display: none;
}

.setup-editor[open] > summary:not(.gold) {
  background: var(--off-white);
  border-color: var(--line);
}

.setup-editor__form {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-md);
  padding: 16px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: min(720px, calc(100vw - 56px));
  z-index: 40;
}

.setup-editor--project .setup-editor__form {
  width: min(560px, calc(100vw - 56px));
}

@media (max-width: 760px) {
  .setup-summary,
  .setup-summary--business,
  .setup-summary--project {
    grid-template-columns: 1fr;
  }

  .setup-editor__form,
  .setup-editor--project .setup-editor__form {
    right: -4px;
    width: min(92vw, 560px);
  }
}

.project-option-table {
  border: 1px solid var(--line);
  border-radius: 8px;
}

.project-option-table table {
  min-width: 680px;
}

.project-option-form {
  border-top: 0;
  margin: 0;
}

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

.surface {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
}

.empty-state {
  color: var(--slate);
  padding: 32px 18px;
  text-align: center;
}

/* ── Messages ───────────────────────────────────────────────────────────── */

.messages {
  display: grid;
  gap: 8px;
  max-width: 380px;
  position: fixed;
  right: 20px;
  top: 20px;
  z-index: 1100;
}

.message {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  display: flex;
  gap: 8px;
  justify-content: space-between;
  padding: 10px 14px;
}

.message__close {
  align-items: center;
  background: none;
  border: none;
  color: var(--slate);
  cursor: pointer;
  display: inline-flex;
  flex-shrink: 0;
  padding: 2px;
}

.message__close:hover {
  color: var(--charcoal);
}

.launch-toast {
  background: var(--navy);
  border-radius: 8px;
  bottom: 24px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.22);
  color: #fff;
  font-size: 14px;
  font-weight: 650;
  opacity: 0;
  padding: 13px 18px;
  position: fixed;
  right: 24px;
  transform: translateY(12px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 1000;
}

.launch-toast--in {
  opacity: 1;
  transform: translateY(0);
}

.notice {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 20px;
  padding: 12px 16px;
}

.notice > div {
  display: grid;
  gap: 4px;
}

.notice strong {
  color: var(--charcoal);
}

.notice span {
  color: var(--slate);
}

.notice code {
  background: #EDE9E2;
  border-radius: 4px;
  color: var(--navy);
  display: inline-block;
  font-size: 12px;
  margin-top: 4px;
  padding: 3px 6px;
  width: fit-content;
}

.notice-warning {
  background: #F7F4EF;
  border-color: var(--line-strong);
}

.notice-success {
  align-items: center;
  background: #F7F4EF;
  border-color: #cfe8d6;
  grid-template-columns: minmax(0, 1fr) auto;
}

/* ── Tables ─────────────────────────────────────────────────────────────── */

.table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table {
  border-collapse: collapse;
  min-width: 480px;
  width: 100%;
}

th,
td {
  border-bottom: 1px solid var(--line);
  padding: 13px 12px;
  text-align: left;
  vertical-align: middle;
}

th {
  color: var(--slate);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

tbody tr:last-child td {
  border-bottom: 0;
}

.data-table {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  margin-bottom: 20px;
  overflow: hidden;
}

.data-table table {
  min-width: 680px;
}

.data-table .panel-header {
  margin: 0;
  padding: 16px 18px;
}

.data-table .table-wrap {
  border-top: 1px solid var(--line);
}

.cell-title {
  display: grid;
  gap: 3px;
}

.cell-title a {
  font-weight: 800;
}

.cell-title span {
  color: var(--slate);
  font-size: 13px;
}

.cell-title small {
  font-size: 12px;
}

/* ── Status badges ──────────────────────────────────────────────────────── */

.status {
  border-radius: 999px;
  background: #EDE9E2;
  color: var(--charcoal);
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 8px;
  white-space: nowrap;
}

.status.completed,
.status.complete,
.status.active {
  background: #dff3e5;
  color: var(--success);
}

.status.queued,
.status.pending,
.status.enriching,
.status.running,
.status.new,
.status.in_progress,
.status.workspace_created,
.status.invited {
  background: #edf4fb;
  color: var(--navy-soft);
}

.status.done,
.status.accepted,
.status.trialing,
.status.converted {
  background: #dff3e5;
  color: var(--success);
}

.status.failed,
.status.revoked,
.status.expired,
.status.past_due,
.status.canceled,
.status.closed {
  background: #fff5f5;
  color: var(--danger);
}

/* ── Tooltips ───────────────────────────────────────────────────────────── */

[data-tooltip] {
  align-items: center;
  cursor: help;
  display: inline-flex;
  gap: 6px;
  outline-offset: 3px;
  position: relative;
}

[data-tooltip] > span {
  align-items: center;
  background: #EDE9E2;
  border-radius: 999px;
  color: var(--navy-soft);
  display: inline-flex;
  font-size: 11px;
  font-weight: 900;
  height: 18px;
  justify-content: center;
  line-height: 1;
  width: 18px;
}

[data-tooltip]::after {
  background: var(--charcoal);
  border-radius: 6px;
  bottom: calc(100% + 8px);
  box-shadow: var(--shadow-md);
  color: var(--white);
  content: attr(data-tooltip);
  font-size: 12px;
  font-weight: 700;
  left: 0;
  line-height: 1.35;
  max-width: min(320px, 82vw);
  opacity: 0;
  padding: 8px 10px;
  pointer-events: none;
  position: absolute;
  transform: translateY(4px);
  transition: opacity .14s ease, transform .14s ease;
  white-space: normal;
  width: max-content;
  z-index: 30;
}

[data-tooltip]:hover::after,
[data-tooltip]:focus::after,
[data-tooltip]:focus-within::after {
  opacity: 1;
  transform: translateY(0);
}

.info-badge[data-tooltip] {
  cursor: default;
}

.info-badge {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
}

.info-badge .fluent-icon {
  height: 24px;
  width: 24px;
}

dt:has(.info-badge),
label:has(.info-badge),
.panel-title:has(.info-badge) {
  align-items: center;
  display: flex;
  gap: 4px;
}

.info-badge .fluent-icon,
.info-badge .fluent-icon path {
  fill: currentColor;
  stroke: none;
}

.turn-evidence-flag {
  background: #EDE9E2;
  border-radius: 999px;
  color: var(--navy-soft);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  margin-top: 4px;
  padding: 2px 8px;
  text-decoration: none;
  white-space: nowrap;
}

.turn-evidence-flag:hover {
  background: #E0E2E3;
}

.checkbox-row {
  align-items: center;
  display: flex;
  gap: 10px;
  margin: 0;
}

.checkbox-row input {
  height: 18px;
  width: 18px;
}

.inline-form {
  align-items: center;
  display: flex;
  gap: 8px;
  margin: 0;
}

.inline-form select {
  min-width: 220px;
}

.inline-form select,
.inline-form input[type="text"],
.inline-form input[type="email"] {
  min-height: 34px;
  min-width: 0;
  padding: 5px 8px;
  width: auto;
}

/* ── Snapshots and agency client surfaces ───────────────────────────────── */

.snapshot-form-panel {
  max-width: 920px;
}

.snapshot-progress {
  align-items: center;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

.snapshot-progress__status {
  display: grid;
  gap: 8px;
  max-width: 720px;
}

.snapshot-progress__status strong {
  font-size: 1.2rem;
}

.snapshot-progress__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.snapshot-workflow {
  display: grid;
  gap: 18px;
  margin-top: 16px;
}

.snapshot-workflow__grid,
.snapshot-workflow__actions {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(220px, .8fr) minmax(280px, 1.2fr);
}

.snapshot-workflow__contact,
.snapshot-workflow__form,
.snapshot-workflow__actions {
  border-top: 1px solid var(--line);
  padding-top: 16px;
}

.snapshot-workflow__contact {
  display: grid;
  gap: 6px;
}

.snapshot-workflow__contact h3,
.snapshot-workflow__contact p {
  margin: 0;
}

.snapshot-workflow__form {
  display: grid;
  gap: 12px;
}

.snapshot-workflow__actions {
  align-items: center;
}

.snapshot-workflow__actions > div:first-child {
  display: grid;
  gap: 5px;
}

.snapshot-workflow__actions strong,
.snapshot-workflow__actions p {
  margin: 0;
}

.snapshot-public {
  display: grid;
  gap: 22px;
  margin: 0 auto;
  max-width: 860px;
}

.snapshot-public__header {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 8px;
  padding-bottom: 20px;
}

.snapshot-public__header h1 {
  margin: 0;
}

.snapshot-public__header p {
  color: var(--slate);
  margin: 0;
}

.snapshot-public__meta {
  color: var(--slate);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.88rem;
  gap: 8px 14px;
}

.snapshot-public__contact {
  font-size: 0.92rem;
}

.snapshot-metric-strip {
  align-items: center;
  background: #f7f4ef;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--charcoal);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.9rem;
  font-weight: 700;
  gap: 8px 10px;
  margin-top: 6px;
  padding: 10px 12px;
}

.snapshot-metric-strip span {
  align-items: center;
  display: inline-flex;
  gap: 6px;
  position: relative;
}

.snapshot-metric-strip span + span {
  margin-left: 8px;
}

.snapshot-metric-strip span + span::before {
  color: var(--slate);
  content: "·";
  font-weight: 500;
  left: -12px;
  position: absolute;
}

.snapshot-metric-strip__risk {
  border-radius: 999px;
  padding: 2px 8px;
}

.snapshot-metric-strip__risk--low {
  background: #f0fdf4;
  color: var(--success);
}

.snapshot-metric-strip__risk--medium {
  background: #fffbeb;
  color: #d97706;
}

.snapshot-metric-strip__risk--high {
  background: #fff5f5;
  color: var(--danger);
}

.snapshot-public__excerpt,
.snapshot-public__section,
.snapshot-interest .panel {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: 12px;
  padding: 22px;
}

.snapshot-public__excerpt h2,
.snapshot-public__section h2 {
  font-size: 1rem;
  margin: 0;
}

.snapshot-public__excerpt blockquote {
  border-left: 4px solid var(--gold);
  color: var(--charcoal);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.55;
  margin: 0;
  padding: 4px 0 4px 16px;
}

.snapshot-public__section p,
.snapshot-public__callout {
  margin: 0;
}

.snapshot-public__callout {
  background: #fff8e6;
  border: 1px solid #f5d187;
  border-radius: 8px;
  padding: 10px 12px;
}

.snapshot-public__callout--danger {
  background: #fdecea;
  border-color: #f3b4ad;
  color: #8a1c12;
  font-weight: 600;
}

/* ── AEO readiness (collapsible) ─────────────────────────────────────────── */

.snapshot-aeo {
  gap: 0;
}

.snapshot-aeo__summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  list-style: none;
}

.snapshot-aeo__summary::-webkit-details-marker {
  display: none;
}

.snapshot-aeo__summary::after {
  background: var(--chevron-svg) center / contain no-repeat;
  content: "";
  flex: none;
  height: 18px;
  transition: transform 0.15s ease;
  width: 18px;
}

.snapshot-aeo[open] .snapshot-aeo__summary::after {
  transform: rotate(180deg);
}

.snapshot-aeo__summary-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.snapshot-aeo__title {
  font-size: 1.05rem;
  font-weight: 700;
}

.snapshot-aeo__score-badge {
  border-radius: 999px;
  flex: none;
  font-size: 1.15rem;
  font-weight: 800;
  margin-left: auto;
  padding: 6px 14px;
  white-space: nowrap;
}

.snapshot-aeo__score-badge.is-good {
  background: #e8f6ee;
  color: #157f3c;
}

.snapshot-aeo__score-badge.is-fair {
  background: #fdf3e0;
  color: #9a6a06;
}

.snapshot-aeo__score-badge.is-poor {
  background: #fdecea;
  color: #b3271a;
}

.snapshot-aeo__body {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding-top: 16px;
}

.snapshot-aeo__meta {
  font-size: 0.85rem;
}

.snapshot-aeo__scores {
  display: grid;
  gap: 12px 20px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.snapshot-aeo__metric {
  display: grid;
  gap: 5px;
}

.snapshot-aeo__metric-head {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
}

.snapshot-aeo__metric-head strong {
  font-size: 0.95rem;
}

.snapshot-aeo__score-label {
  color: var(--slate);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.snapshot-aeo__bar {
  background: var(--line);
  border-radius: 999px;
  height: 7px;
  overflow: hidden;
}

.snapshot-aeo__bar > span {
  border-radius: 999px;
  display: block;
  height: 100%;
  min-width: 3px;
}

.snapshot-aeo__bar > span.is-good { background: var(--success); }
.snapshot-aeo__bar > span.is-fair { background: var(--gold); }
.snapshot-aeo__bar > span.is-poor { background: var(--danger); }

.snapshot-aeo__reasons {
  color: var(--slate);
  display: grid;
  font-size: 0.85rem;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

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

.snapshot-aeo__chip {
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  font-size: 0.78rem;
  padding: 3px 10px;
}

.snapshot-aeo__chip.is-on {
  background: #e8f6ee;
  border-color: #b8e3c7;
  color: #157f3c;
}

.snapshot-aeo__chip.is-off {
  color: var(--slate);
}

.snapshot-aeo__access {
  display: grid;
  gap: 8px;
}

.snapshot-aeo__access .snapshot-aeo__heading {
  margin: 0;
}

.snapshot-aeo__access-list {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.snapshot-aeo__access-list li {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.snapshot-aeo__access-list li + li {
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.snapshot-aeo__access-label {
  font-size: 0.88rem;
  font-weight: 600;
}

.snapshot-aeo__access-status {
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 2px 10px;
  text-align: right;
  white-space: nowrap;
}

.snapshot-aeo__access-status.is-good { background: #e8f6ee; color: #157f3c; }
.snapshot-aeo__access-status.is-warn { background: #fdf3e0; color: #9a6a06; }
.snapshot-aeo__access-status.is-bad { background: #fdecea; color: #b3271a; }
.snapshot-aeo__access-status.is-neutral { color: var(--slate); }

.snapshot-aeo__heading {
  font-size: 0.95rem;
  margin: 6px 0 0;
}

.snapshot-aeo__citations {
  display: grid;
  gap: 12px;
}

.snapshot-aeo__citation {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 6px;
  padding-top: 12px;
}

.snapshot-aeo__citation:first-child {
  border-top: 0;
  padding-top: 0;
}

.snapshot-aeo__citation-head {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.snapshot-aeo__provider {
  font-weight: 700;
}

.snapshot-aeo__status {
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 2px 10px;
}

.snapshot-aeo__status.is-cited {
  background: #e8f6ee;
  color: #157f3c;
}

.snapshot-aeo__status.is-missed {
  background: var(--off-white);
  color: var(--slate);
}

.snapshot-aeo__status.is-off {
  color: var(--slate);
}

.snapshot-aeo__head-to-head {
  font-size: 0.85rem;
}

.snapshot-aeo__excerpt {
  border-left: 3px solid var(--gold);
  color: var(--charcoal);
  font-size: 0.9rem;
  margin: 0;
  padding: 2px 0 2px 12px;
}

.snapshot-aeo__recs {
  display: grid;
  gap: 14px;
  margin: 0;
  padding-left: 20px;
}

.snapshot-aeo__recs li {
  display: grid;
  gap: 4px;
}

.snapshot-aeo__recs li p,
.snapshot-aeo__rec-plain {
  color: var(--slate);
  font-size: 0.9rem;
  margin: 0;
}

.snapshot-aeo__rec-desc > summary {
  cursor: pointer;
  display: grid;
  gap: 2px;
  list-style: none;
}

.snapshot-aeo__rec-desc > summary::-webkit-details-marker {
  display: none;
}

.snapshot-aeo__rec-text {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--slate);
  display: -webkit-box;
  font-size: 0.9rem;
  overflow: hidden;
}

.snapshot-aeo__rec-desc[open] .snapshot-aeo__rec-text {
  -webkit-line-clamp: unset;
  display: block;
  overflow: visible;
}

.snapshot-aeo__rec-toggle {
  color: var(--navy);
  font-size: 0.8rem;
  font-weight: 600;
}

.snapshot-aeo__rec-toggle::after {
  content: "Show more";
}

.snapshot-aeo__rec-desc[open] .snapshot-aeo__rec-toggle::after {
  content: "Show less";
}

.snapshot-aeo__rec-head {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.snapshot-aeo__tags {
  display: flex;
  flex: none;
  gap: 6px;
}

.snapshot-aeo__tag {
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 2px 9px;
  text-transform: capitalize;
}

.snapshot-aeo__tag--high {
  background: #fdecea;
  color: #b3271a;
}

.snapshot-aeo__tag--medium {
  background: #fdf3e0;
  color: #9a6a06;
}

.snapshot-aeo__tag--low {
  background: var(--off-white);
  color: var(--slate);
}

.snapshot-aeo__tag.is-effort {
  background: var(--off-white);
  color: var(--slate);
  font-weight: 600;
}

/* Print: flat, always-expanded AEO section (no disclosure widget). */
.snapshot-aeo--print {
  gap: 14px;
}

.snapshot-aeo__print-head {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.snapshot-audit-list {
  display: grid;
  gap: 12px;
}

.snapshot-audit-item {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 8px;
  padding-top: 12px;
}

.snapshot-audit-item:first-child {
  border-top: 0;
  padding-top: 0;
}

.snapshot-audit-item blockquote {
  border-left: 3px solid var(--line);
  color: var(--charcoal);
  margin: 0;
  padding-left: 12px;
}

.snapshot-audit-item__meta {
  color: var(--slate);
  font-size: 0.9rem;
}

.snapshot-public__qr-panel {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr auto;
  padding: 18px;
}

.snapshot-public__qr-panel h2,
.snapshot-public__qr-panel p {
  margin: 0;
}

.snapshot-public__qr {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px;
}

.snapshot-public__qr svg {
  display: block;
  height: 112px;
  width: 112px;
}

.snapshot-public__cta,
.snapshot-public__footer {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.snapshot-public__footer {
  border-top: 1px solid var(--line);
  color: var(--slate);
  padding-top: 18px;
}

/* ── Snapshot wizard layout ──────────────────────────────────────────────── */
.snap-wizard-body {
  margin: 0 auto;
  max-width: 680px;
}

.snap-wizard-panel {
  max-width: 680px;
}

.snap-wizard-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 28px;
}

.snap-stances-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

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

.snap-assistant-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 4px;
}

.snap-stance-tab input[type="checkbox"],
.snap-profiles-grid input[type="radio"] {
  height: 0;
  opacity: 0;
  position: absolute;
  width: 0;
}

.wizard-mode-tab--disabled {
  opacity: .45;
  pointer-events: none;
}

@media (max-width: 640px) {
  .snap-stances-grid,
  .snap-profiles-grid,
  .snap-assistant-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ── Snapshot report additions ───────────────────────────────────────────── */
.snapshot-public__coverage {
  color: var(--slate);
  font-size: .8125rem;
  margin-top: 10px;
}

.snapshot-public__locked {
  background: var(--surface-2, #f5f5f5);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 20px 24px;
}

.snapshot-public__locked h2 {
  font-size: .9375rem;
  margin-bottom: 12px;
}

.snapshot-locked-list {
  color: var(--slate);
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
}

.snapshot-locked-list li {
  align-items: center;
  display: flex;
  gap: 8px;
  padding: 5px 0;
}

.snapshot-locked-list li::before {
  content: "🔒";
  font-size: .7rem;
  opacity: .6;
}

.snapshot-public__locked-note {
  color: var(--slate);
  font-size: .8125rem;
  font-style: italic;
  margin: 0;
}

.snapshot-public__footer-note {
  color: var(--slate);
  font-size: .75rem;
  margin: 0 0 12px;
}

.snapshot-interest {
  margin: 0 auto;
  max-width: 560px;
}

.snapshot-email-report .form-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.snapshot-interest h1 {
  margin-top: 0;
}

@media (max-width: 820px) {
  .snapshot-progress,
  .snapshot-workflow__grid,
  .snapshot-workflow__actions {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .snapshot-progress {
    display: grid;
  }

  .snapshot-progress__links {
    justify-content: flex-start;
  }
}

@media print {
  .shared-header {
    background: var(--white);
    border-bottom: 1px solid var(--line);
    color: var(--charcoal);
  }

  .shared-header__badge,
  .snapshot-public__cta {
    display: none;
  }

  .snapshot-public__excerpt,
  .snapshot-public__section,
  .snapshot-public__qr-panel {
    box-shadow: none;
    break-inside: avoid;
  }

  /* The AEO section can run long, so let it flow across pages while keeping
     individual cards/rows intact. Force background colors so the score bars,
     badges, and status pills survive printing. */
  .snapshot-aeo--print {
    break-inside: auto;
  }

  .snapshot-aeo--print,
  .snapshot-aeo--print * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .snapshot-aeo__recs li,
  .snapshot-aeo__citation,
  .snapshot-aeo__access {
    break-inside: avoid;
  }
}

.tenant-banner {
  align-items: center;
  background: #fff8e6;
  border-bottom: 1px solid #f5d187;
  color: var(--charcoal);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 10px 30px;
}

.tenant-banner div {
  display: grid;
  gap: 2px;
}

.tenant-banner strong {
  font-size: 13px;
}

.tenant-banner span {
  color: #806016;
  font-size: 12px;
}

.tenant-banner form {
  margin: 0;
}

/* ── Onboarding glassmorphism card ─────────────────────────────── */
.onboarding-glass {
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0, 31, 58, 0.08), 0 1px 4px rgba(0, 31, 58, 0.05);
  margin-bottom: 20px;
  overflow: hidden;
  padding: 20px 20px 16px;
}

.onboarding-glass--done {
  padding: 16px 20px;
}

.onboarding-glass__header {
  align-items: center;
  display: flex;
  gap: 12px;
  margin-bottom: 14px;
}

.onboarding-glass__rocket {
  align-items: center;
  background: rgba(0, 31, 58, 0.07);
  border-radius: 8px;
  color: var(--navy);
  display: inline-flex;
  flex-shrink: 0;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.onboarding-glass__titles {
  flex: 1;
  min-width: 0;
}

.onboarding-glass__eyebrow {
  color: var(--slate);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .06em;
  margin: 0 0 2px;
  text-transform: uppercase;
}

.onboarding-glass__heading {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
}

.onboarding-glass__progress-label {
  color: var(--slate);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Progress bar */
.onboarding-glass__bar-wrap {
  background: rgba(0, 31, 58, 0.08);
  border-radius: 99px;
  height: 4px;
  margin-bottom: 16px;
  overflow: hidden;
}

.onboarding-glass__bar-fill {
  background: var(--navy);
  border-radius: 99px;
  height: 100%;
  transition: width 0.5s ease;
  width: 0%;
}

/* Step list */
.onboarding-glass__list {
  display: grid;
  gap: 4px;
}

/* Base step row */
.og-item {
  align-items: center;
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 8px 10px;
  text-decoration: none;
}

/* Done step — compact, quiet */
.og-item--done {
  color: var(--slate);
  grid-template-columns: 20px minmax(0, 1fr);
  min-height: 34px;
}

.og-item--done .og-item__icon {
  color: var(--success);
}

.og-item--done .og-item__label {
  font-size: 13px;
  font-weight: 500;
  text-decoration: line-through;
  text-decoration-color: #8C959D;
}

/* Next step — highlighted call-to-action */
.og-item--next {
  background: rgba(0, 31, 58, 0.05);
  border: 1px solid rgba(0, 31, 58, 0.1);
  color: var(--charcoal);
  grid-template-columns: 20px minmax(0, 1fr) 16px;
  min-height: 52px;
  transition: background 0.15s, border-color 0.15s;
}

.og-item--next:hover {
  background: rgba(0, 31, 58, 0.09);
  border-color: rgba(0, 31, 58, 0.18);
  color: var(--charcoal);
}

.og-item--next .og-item__icon {
  color: var(--navy);
}

.og-item--next .og-item__label {
  font-size: 13px;
  font-weight: 600;
}

.og-item--next .og-item__desc {
  color: var(--slate);
  font-size: 12px;
}

.og-item__chevron {
  color: var(--slate);
}

/* Pending step — future, muted */
.ogepor
-item--pending {
  color: var(--slate);
  grid-template-columns: 20px minmax(0, 1fr);
  min-height: 44px;
  opacity: 0.65;
}

.og-item__icon--pending {
  color: var(--line-strong);
}

.og-item__label--muted {
  font-size: 13px;
  font-weight: 500;
}

.og-item__desc--muted {
  font-size: 12px;
}

/* In-progress step */
.og-item--running {
  color: var(--charcoal);
  grid-template-columns: 20px minmax(0, 1fr);
  min-height: 52px;
}

.og-item--running .og-item__label {
  font-size: 13px;
  font-weight: 600;
}

.og-item--running .og-item__desc {
  color: var(--slate);
  font-size: 12px;
}

.og-spinner {
  animation: og-spin 1s linear infinite;
  color: var(--navy);
}

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

.og-item__copy {
  display: grid;
  gap: 1px;
  min-width: 0;
}

/* Completed state (all done) */
.onboarding-glass__done-row {
  align-items: center;
  display: flex;
  gap: 12px;
}

.onboarding-glass__done-icon {
  color: var(--success);
  flex-shrink: 0;
}

.onboarding-glass__done-title {
  display: block;
  font-size: 14px;
}

.onboarding-glass__done-sub {
  color: var(--slate);
  font-size: 12px;
  margin: 2px 0 0;
}

.onboarding-glass__close {
  align-items: center;
  background: none;
  border: none;
  border-radius: 6px;
  color: var(--slate);
  cursor: pointer;
  display: inline-flex;
  flex-shrink: 0;
  height: 28px;
  justify-content: center;
  margin-left: auto;
  padding: 0;
  transition: background 0.15s, color 0.15s;
  width: 28px;
}

.onboarding-glass__close:hover {
  background: rgba(0, 0, 0, 0.07);
  color: var(--charcoal);
}

/* Share button feedback */
.share-btn-wrap {
  align-items: center;
  display: inline-flex;
  gap: 6px;
  position: relative;
}

.share-btn__label {
  color: var(--success);
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

.share-btn__label:empty {
  display: none;
}

.icon-btn--success {
  border-color: var(--success);
  color: var(--success);
}

.icon-btn--error .share-btn__label {
  color: var(--danger);
}

.icon-btn--error {
  border-color: var(--danger);
  color: var(--danger);
}

/* Shared report shell (no auth required) */
.shared-shell {
  min-height: 100vh;
  background: var(--canvas);
}

.shared-header {
  align-items: center;
  background: var(--navy);
  display: flex;
  gap: 12px;
  height: 52px;
  padding: 0 24px;
}

.shared-header__badge {
  background: rgba(255,255,255,0.12);
  border-radius: 4px;
  color: rgba(255,255,255,0.7);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .05em;
  padding: 2px 8px;
  text-transform: uppercase;
}

.shared-content {
  margin: 0 auto;
  max-width: 960px;
  padding: 32px 24px;
}

.project-enrichment-strip {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.project-enrichment-strip form {
  margin: 0;
}

/* Enrichment contextual callout */
.enrichment-callout {
  align-items: flex-start;
  border-radius: 8px;
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  padding: 14px 16px;
}

.enrichment-callout--guide {
  background: #f0f6ff;
  border: 1px solid #c7daf7;
}

.enrichment-callout--ready {
  background: #f0faf3;
  border: 1px solid #b6e8c4;
  align-items: center;
}

.enrichment-callout--running {
  background: #F7F4EF;
  border: 1px solid var(--line);
  align-items: center;
}

.enrichment-callout--done {
  background: #f0faf3;
  border: 1px solid #b6e8c4;
  align-items: center;
}

.enrichment-callout--done .enrichment-callout__icon { color: var(--success); }

.enrichment-callout--failed {
  background: #fff5f5;
  border: 1px solid #fecaca;
  align-items: center;
}

.enrichment-callout__icon {
  flex-shrink: 0;
  margin-top: 1px;
}

.enrichment-callout--guide .enrichment-callout__icon { color: #3b82f6; }
.enrichment-callout--ready .enrichment-callout__icon { color: var(--success); }
.enrichment-callout--running .enrichment-callout__icon { color: var(--navy); }
.enrichment-callout--failed .enrichment-callout__icon { color: var(--danger); }

.enrichment-callout__copy {
  flex: 1;
  min-width: 0;
}

.enrichment-callout__copy strong {
  display: block;
  font-size: 13px;
  margin-bottom: 3px;
}

.enrichment-callout__copy p {
  color: var(--slate);
  font-size: 12px;
  margin: 0;
}

.review-panel .panel-header {
  align-items: center;
}

/* Option suggestions strip */
.option-suggestions {
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-bottom: 12px;
  padding: 12px 16px;
}

.option-suggestions__header {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin-bottom: 10px;
}

.option-suggestions__title {
  align-items: center;
  color: var(--slate);
  display: inline-flex;
  font-size: 12px;
  font-weight: 600;
  gap: 6px;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.option-suggestions__dismiss {
  align-items: center;
  background: none;
  border: none;
  color: var(--slate);
  cursor: pointer;
  display: inline-flex;
  padding: 2px;
}

.option-suggestions__dismiss:hover { color: var(--charcoal); }

.option-suggestions__list {
  display: grid;
  gap: 6px;
}

.option-suggestion {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.option-suggestion__info {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  gap: 1px;
  min-width: 0;
}

.option-suggestion__info a {
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.audit-table {
  margin-top: 12px;
}

.status.failed,
.status.high {
  background: #fee4e2;
  color: var(--danger);
}

.status.awaiting_manual_response,
.status.awaiting_assistant_response,
.status.generating_audience,
.status.generating_assistant,
.status.analyzing_results {
  background: #edf4fb;
  color: var(--navy-soft);
}

.status.cancelled {
  background: #EDE9E2;
  color: var(--slate);
}

/* ── Page header ────────────────────────────────────────────────────────── */

.page-header {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
}

.page-header h1 {
  margin-bottom: 0;
}

/* ── Stat cards ─────────────────────────────────────────────────────────── */

.stat-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 24px;
}

.stat-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  padding: 20px 22px 18px;
}

.stat-card--alert {
  background: #fffafa;
  border-color: #f5c2c0;
}

.stat-card__label {
  color: var(--slate);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.stat-card__value {
  color: var(--navy);
  font-size: 2.15rem;
  font-weight: 800;
  line-height: 1;
  margin: 0 0 8px;
}

.stat-card__value--badge {
  font-size: 1.5rem;
}

.stat-card__detail {
  color: var(--slate);
  font-size: 13px;
  margin: 0;
}

/* ── Panel header ───────────────────────────────────────────────────────── */

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

.panel-header__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.panel-title {
  font-size: 1.02rem;
  font-weight: 800;
  margin: 0;
}

.panel-action {
  color: var(--slate);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.panel-action:hover {
  color: var(--navy);
}

/* ── Dashboard conversations ────────────────────────────────────────────── */

.dashboard-conversations {
  margin-bottom: 0;
  margin-top: 0;
  padding: 16px 18px;
}

.dashboard-conversation-list {
  display: grid;
  gap: 8px;
}

.dashboard-conversation-row {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 12px 14px;
}

.dashboard-conversation-row__main {
  min-width: 0;
}

.dashboard-conversation-row__main .eyebrow,
.dashboard-conversation-row__main h3,
.dashboard-conversation-row__main p {
  margin: 0;
}

.dashboard-conversation-row__main h3 {
  font-size: 15px;
  margin-top: 2px;
}

.dashboard-conversation-row__main h3 a {
  color: var(--navy);
  text-decoration: none;
}

.dashboard-conversation-row__main h3 a:hover {
  text-decoration: underline;
}

.dashboard-conversation-row__main p {
  color: var(--slate);
  font-size: 13px;
  margin-top: 3px;
}

.dashboard-conversation-row__meta {
  align-items: flex-end;
  color: var(--slate);
  display: grid;
  font-size: 13px;
  gap: 5px;
  justify-items: end;
  min-width: 170px;
  text-align: right;
}

.dashboard-conversations__empty {
  align-items: start;
}

/* ── Dashboard zone label ───────────────────────────────────────────────── */

.dashboard-zone-label {
  align-items: center;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 20px;
  color: #15803d;
  display: inline-flex;
  font-size: 10.5px;
  font-weight: 700;
  gap: 6px;
  letter-spacing: 0.08em;
  margin: 0 0 14px;
  padding: 3px 12px 3px 8px;
  text-transform: uppercase;
}

.dashboard-zone-label::before {
  background: #16a34a;
  border-radius: 50%;
  content: '';
  display: block;
  flex-shrink: 0;
  height: 6px;
  width: 6px;
}

.page-titlebar--compact {
  margin-bottom: 12px;
}

.dashboard-intel-panel + .dashboard-zone-label,
.dashboard-activity + .dashboard-zone-label {
  margin-top: 24px;
}

/* ── Dashboard intel panel (Zone 1) ─────────────────────────────────────── */

.dashboard-intel-panel {
  align-items: stretch;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  display: flex;
  margin-bottom: 4px;
}

.dashboard-intel-panel--empty {
  padding: 28px 28px 24px;
}

/* Vertical separators are borders on the sections themselves, so they
   always run the full height of the panel — edge to edge. */
.dashboard-intel-panel > * + * {
  border-left: 1px solid var(--line);
}

.dashboard-hero-metric {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  min-width: 220px;
  padding: 28px;
}

.dashboard-metric-label {
  color: var(--slate);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.dashboard-metric-number {
  color: #d97706;
  font-size: 3.1rem;
  font-weight: 700;
  letter-spacing: -1.5px;
  line-height: 1;
  margin: 0 0 8px;
}

.dashboard-metric-number--empty {
  color: var(--slate);
}

.dashboard-metric-sub {
  color: var(--slate);
  font-size: 13px;
  line-height: 1.4;
  margin: 0;
  max-width: 220px;
}

.dashboard-kpi-row {
  align-items: center;
  display: flex;
  flex: 1;
  gap: 12px;
  padding: 20px;
}

.dashboard-kpi-card {
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 10px;
  flex: 1;
  min-width: 110px;
  padding: 16px;
}

.dashboard-kpi-label {
  color: var(--slate);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.dashboard-kpi-value {
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: -0.5px;
  line-height: 1;
  margin: 0 0 6px;
}

.dashboard-kpi-sub {
  color: var(--slate);
  font-size: 11px;
  margin: 0;
}

.dashboard-kpi-card--green .dashboard-kpi-value { color: var(--success); }
.dashboard-kpi-card--amber .dashboard-kpi-value { color: var(--gold); }
.dashboard-kpi-card--red   .dashboard-kpi-value { color: var(--danger); }

.dashboard-assistant-breakdown {
  border-left: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  flex: 1 1 280px;
  justify-content: center;
  padding: 16px 20px;
}

.dashboard-breakdown-label {
  color: var(--slate);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.dashboard-breakdown-table {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.dashboard-breakdown-row {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  font-size: 12.5px;
  gap: 12px;
  padding: 8px 12px;
  flex-wrap: wrap;
}

.dashboard-breakdown-assistant {
  flex: 0 0 auto;
  font-weight: 500;
  min-width: 80px;
}

.dashboard-breakdown-stat {
  align-items: baseline;
  display: flex;
  flex: 1 1 70px;
  flex-direction: column;
  gap: 1px;
}

.dashboard-breakdown-stat-label {
  color: var(--slate);
  font-size: 10.5px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.dashboard-breakdown-stat-value {
  font-size: 13.5px;
  font-weight: 600;
}

.dashboard-breakdown-risk {
  flex: 0 0 auto;
  font-size: 11px;
}

.dashboard-breakdown-link {
  color: var(--blue);
  flex: 0 0 auto;
  font-size: 12px;
  text-decoration: none;
  white-space: nowrap;
}

.dashboard-breakdown-link:hover {
  text-decoration: underline;
}

.dashboard-signals {
  display: flex;
  flex-direction: column;
  flex: 1 1 260px;
  gap: 10px;
  justify-content: center;
  max-width: 320px;
  padding: 20px;
}

.dashboard-signal-card {
  border-radius: 10px;
  font-size: 12.5px;
  line-height: 1.45;
  padding: 14px;
}

.dashboard-signal-card--threat {
  background: #fff7f7;
  border: 1px solid #fbd5d5;
}

.dashboard-signal-card--action {
  background: #f5f9ff;
  border: 1px solid #cfe0fb;
}

.dashboard-signal-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.07em;
  margin: 0 0 5px;
  text-transform: uppercase;
}

.dashboard-signal-card--threat .dashboard-signal-label { color: var(--danger); }
.dashboard-signal-card--action .dashboard-signal-label { color: #2563eb; }

.dashboard-signal-card p {
  color: var(--navy);
  margin: 0;
}

.dashboard-signal-card a {
  color: #2563eb;
  display: inline-block;
  font-size: 11.5px;
  font-weight: 600;
  margin-top: 6px;
  text-decoration: none;
}

.dashboard-signal-card a:hover { text-decoration: underline; }

/* ── Dashboard activity zone (Zone 2) ───────────────────────────────────── */

.dashboard-cta-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.dashboard-activity {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: 220px 1fr;
  margin-bottom: 24px;
}

.dashboard-counters {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dashboard-counter-card {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 10px;
  color: inherit;
  display: flex;
  gap: 12px;
  padding: 14px 16px;
  text-decoration: none;
  transition: box-shadow 0.15s, border-color 0.15s;
}

.dashboard-counter-card:hover {
  border-color: var(--line-strong);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.dashboard-counter-card--alert {
  background: #fffafa;
  border-color: #f5c2c0;
}

.dashboard-counter-icon {
  align-items: center;
  border-radius: 9px;
  display: flex;
  flex-shrink: 0;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.dashboard-counter-icon--red   { background: #fff5f5; color: var(--danger); }
.dashboard-counter-icon--amber { background: #fffbeb; color: var(--gold); }
.dashboard-counter-icon--blue  { background: #eff6ff; color: #2563eb; }
.dashboard-counter-icon--green { background: #f0fdf4; color: var(--success); }

.dashboard-counter-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.dashboard-counter-number {
  color: var(--navy);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
}

.dashboard-counter-label {
  color: var(--slate);
  font-size: 11.5px;
}

/* ── Outcome pill (drop-off risk on run rows) ────────────────────────────── */

.outcome-pill {
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  white-space: nowrap;
}

.outcome-pill--low    { background: #f0fdf4; color: var(--success); }
.outcome-pill--medium { background: #fffbeb; color: #d97706; }
.outcome-pill--high   { background: #fff5f5; color: var(--danger); }

/* ── Dashboard responsive ───────────────────────────────────────────────── */

@media (max-width: 1100px) {
  .dashboard-intel-panel {
    flex-wrap: wrap;
  }

  .dashboard-hero-metric {
    flex: 1;
  }

  .dashboard-signals {
    border-left: 0 !important;
    border-top: 1px solid var(--line);
    width: 100%;
  }
}

@media (max-width: 900px) {
  .dashboard-intel-panel {
    flex-direction: column;
  }

  .dashboard-intel-panel > * + * {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .dashboard-activity {
    grid-template-columns: 1fr;
  }

  .dashboard-counters {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .dashboard-counter-card {
    flex: 1;
    min-width: 140px;
  }
}

@media (max-width: 600px) {
  .dashboard-kpi-row {
    flex-wrap: wrap;
    padding: 14px;
  }

  .dashboard-kpi-card {
    min-width: calc(50% - 6px);
  }

  .dashboard-hero-metric {
    padding: 22px;
  }

  .dashboard-counter-card {
    min-width: 120px;
  }
}

/* ── Live badge ─────────────────────────────────────────────────────────── */

.live-badge {
  background: #dff3e5;
  border-radius: 999px;
  color: var(--success);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 3px 9px;
}

/* ── Table polish ───────────────────────────────────────────────────────── */

tbody tr:hover td {
  background: #F7F4EF;
}

.empty-cell {
  color: var(--slate);
  font-size: 14px;
  padding: 24px 10px !important;
  text-align: center;
}

.mono-link {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 13px;
}

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

/* ── Status extras ──────────────────────────────────────────────────────── */

.status.medium {
  background: #edf4fb;
  color: var(--navy-soft);
}

.status.low {
  background: #dff3e5;
  color: var(--success);
}

/* ── Stat grid variants ─────────────────────────────────────────────────── */

.stat-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* ── Run meta (header sub-row) ──────────────────────────────────────────── */

.run-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 10px;
}

/* ── Turn list ──────────────────────────────────────────────────────────── */

.turn-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.turn-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.turn-card--collapsible {
  background: var(--white);
}

.turn-card--collapsible[open] {
  box-shadow: var(--shadow-sm);
}

.turn-card__header {
  align-items: center;
  background: var(--off-white);
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 10px;
  padding: 10px 16px;
}

.turn-card__summary,
.conversation-turn__summary {
  align-items: center;
  background: var(--off-white);
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  list-style: none;
  padding: 10px 16px;
}

.turn-summary-tags {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.turn-framing-chip,
.turn-momentum-pill {
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.2;
  padding: 2px 8px;
  text-transform: uppercase;
  white-space: nowrap;
}

.turn-framing-chip {
  background: #eef2f7;
  border-color: #d8e0eb;
  color: #475569;
}

.framing--positive {
  background: #ecfdf3;
  border-color: #bbf7d0;
  color: #166534;
}

.framing--negative {
  background: #fef2f2;
  border-color: #fecaca;
  color: #991b1b;
}

.framing--mixed {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}

.framing--neutral,
.framing--absent {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #64748b;
}

.turn-momentum-pill {
  background: #eef6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}

.turn-dropoff-badge {
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 999px;
  color: #7a5800;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  padding: 2px 8px;
  text-transform: uppercase;
  white-space: nowrap;
}

.turn-dropoff-badge--hidden {
  border: none;
  background: none;
  padding: 0;
  pointer-events: none;
}

.turn-card--dropoff > .turn-card__summary {
  background: #fffdf0;
}

.turn-card__summary::-webkit-details-marker,
.conversation-turn__summary::-webkit-details-marker {
  display: none;
}

.turn-card--collapsible[open] .turn-card__summary,
.conversation-turn--collapsible[open] .conversation-turn__summary {
  border-bottom: 1px solid var(--line);
}

.turn-card__summary:hover,
.conversation-turn__summary:hover {
  background: #f3f7fb;
}

.turn-number {
  align-items: center;
  background: var(--navy);
  border-radius: 50%;
  color: white;
  display: flex;
  font-size: 11px;
  font-weight: 700;
  height: 22px;
  justify-content: center;
  min-width: 22px;
}

.turn-stage {
  background: var(--line);
  border-radius: 999px;
  color: var(--slate);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  padding: 2px 9px;
  text-transform: none;
}

.branch-point-badge {
  background: #eef6ff;
  border: 1px solid #bfd7ee;
  border-radius: 999px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  padding: 2px 9px;
  text-transform: none;
  white-space: nowrap;
}

.turn-preview {
  color: var(--slate);
  font-size: 13px;
  line-height: 1.35;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.turn-disclosure-label {
  align-items: center;
  border: 1px solid #c7d3df;
  border-radius: 999px;
  color: var(--navy);
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  height: 28px;
  justify-content: center;
  justify-self: end;
  padding: 0;
  width: 36px;
}

.turn-label-open {
  display: inline;
}

.turn-label-closed {
  display: none;
}

.turn-card--collapsible:not([open]) .turn-label-open,
.conversation-turn--collapsible:not([open]) .turn-label-open {
  display: none;
}

.turn-card--collapsible:not([open]) .turn-label-closed,
.conversation-turn--collapsible:not([open]) .turn-label-closed {
  display: inline;
}

.turn-card__body {
  padding: 16px 18px;
}

.conversation-turn--live {
  background: #F7F4EF;
  border: 1px dashed var(--line-strong);
  border-radius: 8px;
  margin-top: 8px;
  padding: 14px 16px;
}

.conversation-turn--live .chat-message {
  margin-bottom: 8px;
}

.conversation-turn--live .chat-message:last-child {
  margin-bottom: 0;
}

.assistant-markdown--streaming {
  position: relative;
}

.streaming-cursor {
  background: var(--navy);
  display: inline-block;
  height: 1em;
  margin-left: 2px;
  vertical-align: -2px;
  width: 7px;
  animation: streaming-blink 0.9s steps(2, end) infinite;
}

@keyframes streaming-blink {
  to { opacity: 0; }
}

.chat-message__role {
  align-items: center;
  display: inline-flex !important;
  gap: 6px;
  width: auto;
}

.audience-source-pill {
  border-radius: 999px;
  border: 1px solid var(--line);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  line-height: 1;
  padding: 3px 7px;
  text-transform: uppercase;
}

.audience-source-pill--llm {
  background: #eef6ff;
  border-color: #cfe0f2;
  color: var(--navy);
}

.audience-source-pill--seed {
  background: #fdf6e7;
  border-color: #f2dba6;
  color: #8a6300;
}

.audience-source-pill--template {
  background: #EDE9E2;
  border-color: var(--line);
  color: var(--slate);
}

.stance-pill {
  align-self: flex-start;
  background: #fef9ee;
  border: 1px solid #f5d87a;
  border-radius: 999px;
  color: #92670a;
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 1px 6px;
  text-transform: uppercase;
  vertical-align: middle;
  width: fit-content;
}

.persona-meta-strip {
  margin-bottom: 14px;
  padding: 12px 18px;
}

.persona-meta-strip__row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
}

.persona-meta-strip dl {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0;
}

.stance-edit-form--inline {
  align-items: center;
  display: flex;
  gap: 6px;
  margin: 0;
}

.stance-edit-form--inline select {
  font-size: 13px;
  padding: 4px 8px;
}

.persona-meta-strip dl > div {
  display: grid;
  gap: 2px;
}

.persona-meta-strip dt {
  color: var(--slate);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.persona-meta-strip dd {
  color: var(--charcoal);
  font-size: 13px;
  font-weight: 700;
  margin: 0;
}

.persona-form {
  display: grid;
  gap: 14px;
  margin: 0;
}

/* Audience profiles list: collapsible per-market groups. Reuses the .data-table
   panel chrome; the <summary> mirrors the .persona-section disclosure styling. */
.persona-market-group {
  margin-bottom: 14px;
}

.persona-market-group__summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  list-style: none;
  padding: 14px 18px;
}

.persona-market-group__summary::-webkit-details-marker {
  display: none;
}

.persona-market-group__summary::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2364748b'><path d='M3.22 5.97a.75.75 0 0 1 1.06 0L8 9.69l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L3.22 7.03a.75.75 0 0 1 0-1.06Z'/></svg>");
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  height: 18px;
  transition: transform .15s ease;
  width: 18px;
}

.persona-market-group[open] .persona-market-group__summary::after {
  transform: rotate(180deg);
}

.persona-market-group__summary:hover {
  background: #f3f7fb;
}

.persona-market-group__title strong {
  color: var(--navy);
  display: block;
  font-size: 15px;
}

.persona-market-group__title small {
  color: var(--slate);
  display: block;
  font-size: 12px;
  font-weight: 500;
  margin-top: 2px;
}

.persona-market-group[open] .table-wrap {
  border-top: 1px solid var(--line);
}

.persona-section {
  padding: 0;
}

.persona-section > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  list-style: none;
  padding: 16px 20px;
}

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

.persona-section > summary::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2364748b'><path d='M3.22 5.97a.75.75 0 0 1 1.06 0L8 9.69l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L3.22 7.03a.75.75 0 0 1 0-1.06Z'/></svg>");
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  height: 18px;
  transition: transform .15s ease;
  width: 18px;
}

.persona-section[open] > summary::after {
  transform: rotate(180deg);
}

.persona-section[open] > summary {
  border-bottom: 1px solid var(--line);
}

.persona-section > summary strong {
  color: var(--navy);
  display: block;
  font-size: 15px;
}

.persona-section > summary small {
  color: var(--slate);
  display: block;
  font-size: 12px;
  font-weight: 500;
  margin-top: 2px;
}

.persona-section > .form-grid {
  padding: 18px 20px;
}

.persona-form__actions {
  justify-content: flex-end;
}

.persona-readonly {
  padding: 18px 20px;
  display: grid;
  gap: 14px;
}

.persona-readonly .field > .eyebrow {
  display: block;
  margin-bottom: 4px;
}

.persona-kv {
  margin: 0;
  display: grid;
  gap: 4px 14px;
}

.persona-kv dt {
  font-size: 12px;
  font-weight: 700;
  color: var(--slate);
}

.persona-kv dd {
  margin: 0 0 6px;
}

.persona-list {
  margin: 0;
  padding-left: 18px;
}

.generation-error-details {
  margin: 8px 0;
}

.generation-error-details > summary {
  color: var(--slate);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 6px;
}

.persona-generating {
  display: grid;
  gap: 14px;
}

.persona-generating__indicator {
  align-items: center;
  display: flex;
  gap: 14px;
}

.persona-generating__spinner {
  animation: persona-spinner 0.9s linear infinite;
  border: 3px solid #DDD9D2;
  border-radius: 50%;
  border-top-color: var(--navy);
  display: inline-block;
  flex: 0 0 auto;
  height: 32px;
  width: 32px;
}

@keyframes persona-spinner {
  to { transform: rotate(360deg); }
}

.wizard-mode-tab {
  position: relative;
}

.wizard-mode-tab__badge {
  background: var(--navy);
  border-radius: 999px;
  color: var(--white);
  display: inline-block;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
  margin-bottom: 6px;
  padding: 3px 8px;
  text-transform: uppercase;
}

.wizard-mode-tab__badge--advanced {
  background: var(--slate);
}

.turn-question {
  color: var(--charcoal);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 12px;
}

.turn-response {
  color: var(--charcoal);
  line-height: 1.65;
  margin: 0 0 12px;
}

.turn-rationale {
  border-left: 3px solid var(--line);
  color: var(--slate);
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
  padding-left: 12px;
}

.assistant-markdown {
  color: var(--charcoal);
  display: grid;
  gap: 12px;
  line-height: 1.68;
}

.assistant-markdown p,
.assistant-markdown ul,
.assistant-markdown h3,
.assistant-markdown h4,
.assistant-markdown h5 {
  margin: 0;
}

.assistant-markdown h3,
.assistant-markdown h4,
.assistant-markdown h5 {
  font-size: 0.95rem;
  font-weight: 850;
  line-height: 1.35;
  margin-top: 4px;
}

.assistant-markdown ul {
  display: grid;
  gap: 6px;
  padding-left: 22px;
}

.assistant-markdown li + li {
  margin-top: 0;
}

.assistant-markdown li > strong:first-child {
  color: var(--navy);
}

.assistant-markdown code {
  background: #eaf0f6;
  border-radius: 4px;
  color: var(--navy);
  font-size: 0.92em;
  padding: 1px 4px;
}

.assistant-markdown a {
  color: var(--navy);
  font-weight: 750;
}

.assistant-markdown.is-streaming::after {
  animation: cursor-pulse 0.85s steps(2, start) infinite;
  background: var(--gold);
  content: "";
  display: inline-block;
  height: 1em;
  margin-left: 2px;
  position: relative;
  top: 2px;
  width: 2px;
}

@keyframes cursor-pulse {
  0%, 45% {
    opacity: 1;
  }
  46%, 100% {
    opacity: 0;
  }
}

/* ── Roadmap cards ──────────────────────────────────────────────────────── */

.intelligence-hero {
  align-items: stretch;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(260px, 1fr) auto;
  margin-bottom: 16px;
  padding: 18px 20px;
}

.intelligence-metric-strip {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  margin-bottom: 16px;
  padding: 14px 18px;
}

.intelligence-metric-strip .intelligence-hero__metrics {
  grid-template-columns: repeat(2, minmax(140px, max-content));
  justify-content: start;
}

.intelligence-hero h2 {
  font-size: 1.25rem;
  margin: 0 0 4px;
}

.intelligence-hero p {
  color: var(--slate);
  margin: 0;
}

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

.intelligence-hero__metrics div {
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px 14px;
}

.intelligence-hero__metrics dt,
.intelligence-card__context span {
  color: var(--slate);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.intelligence-hero__metrics dd {
  color: var(--charcoal);
  font-size: 1.4rem;
  font-weight: 850;
  line-height: 1;
  margin: 4px 0 0;
}

.intelligence-filterbar {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(220px, 1fr) minmax(140px, 180px) minmax(140px, 180px) minmax(140px, 180px) auto;
  margin-bottom: 18px;
  padding: 14px;
}

.intelligence-filterbar--wide {
  grid-template-columns: repeat(5, minmax(140px, 1fr)) auto;
}

.intelligence-filterbar label {
  margin: 0;
}

.intelligence-filterbar__actions {
  align-items: center;
  display: flex;
  gap: 8px;
}

.intelligence-list {
  display: grid;
  gap: 14px;
}

.intelligence-list--grouped {
  gap: 16px;
}

.lost-moment-group {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow-sm);
  position: relative;
}

.lost-moment-group > summary {
  cursor: pointer;
  display: grid;
  gap: 10px;
  list-style: none;
  padding: 16px 132px 16px 18px;
  position: relative;
}

.lost-moment-group > summary::-webkit-details-marker {
  display: none;
}

.lost-moment-group > summary::after {
  background: var(--chevron-svg) center/contain no-repeat;
  content: "";
  display: inline-block;
  height: 18px;
  position: absolute;
  right: 16px;
  top: 16px;
  transition: transform .15s ease;
  width: 18px;
}

.lost-moment-group[open] > summary::after {
  transform: rotate(180deg);
}

.lost-moment-group[open] > summary {
  border-bottom: 1px solid var(--line);
}

.lost-moment-group__title h2 {
  margin: 0 0 4px;
}

.lost-moment-group__title p:not(.eyebrow) {
  color: var(--slate);
  margin: 0;
}

.lost-moment-group__meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.lost-moment-group__assistant {
  align-items: center;
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  padding: 4px 8px;
}

.lost-moment-group__actions {
  display: flex;
  gap: 8px;
  position: absolute;
  top: 48px;
  right: 16px;
  padding: 0;
  z-index: 1;
}

.lost-moment-group__moments {
  display: grid;
  gap: 12px;
  padding: 14px 18px 18px;
}

.intelligence-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: 14px;
  padding: 16px 18px;
}

.intelligence-card--collapsible {
  display: block;
  padding: 0;
}

.intelligence-card--collapsible > .intelligence-card__summary {
  align-items: flex-start;
  cursor: pointer;
  display: grid;
  gap: 8px;
  list-style: none;
  padding: 14px 44px 14px 18px;
  position: relative;
}

.intelligence-card--collapsible > .intelligence-card__summary::-webkit-details-marker {
  display: none;
}

.intelligence-card--collapsible > .intelligence-card__summary::after {
  background: var(--chevron-svg) center/contain no-repeat;
  content: "";
  display: inline-block;
  height: 18px;
  position: absolute;
  right: 16px;
  top: 14px;
  width: 18px;
  transition: transform .15s ease;
}

.intelligence-card--collapsible[open] > .intelligence-card__summary::after {
  transform: rotate(180deg);
}

.intelligence-card--collapsible[open] > .intelligence-card__summary {
  border-bottom: 1px solid var(--line);
}

.intelligence-card__summary-prompt {
  color: var(--charcoal);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
}

.intelligence-card--collapsible[open] .intelligence-card__summary-prompt {
  display: none;
}

.intelligence-card--collapsible > .intelligence-card__body,
.intelligence-card--collapsible > .intelligence-signal-row,
.intelligence-card--collapsible > .intelligence-disclosure,
.intelligence-card--collapsible > .intelligence-card__actions {
  margin: 14px 18px;
}

.intelligence-card--collapsible > .intelligence-card__body { margin-top: 16px; }
.intelligence-card--collapsible > .intelligence-card__actions { margin-bottom: 16px; }

.pagination__page-indicator {
  color: var(--slate);
  font-size: 13px;
  font-weight: 800;
  padding: 0 4px;
}

.intelligence-card__meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.intelligence-card__meta > span,
.signal-pill {
  background: #EDE9E2;
  border: 1px solid #dbe4ee;
  border-radius: 999px;
  color: var(--slate);
  display: inline-flex;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
  padding: 4px 8px;
}

.signal-pill abbr {
  border: 0;
  color: inherit;
  text-decoration: none;
}

.intelligence-card__body {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
}

.intelligence-card__body--single {
  grid-template-columns: minmax(0, 1fr);
}

.intelligence-card h2,
.intelligence-card h3 {
  color: var(--charcoal);
  font-size: 1rem;
  line-height: 1.35;
  margin: 0;
}

.intelligence-card__context {
  display: grid;
  gap: 8px;
}

.intelligence-card__context div {
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 7px;
  min-width: 0;
  padding: 10px 11px;
}

.intelligence-card__context strong {
  color: var(--charcoal);
  display: block;
  font-size: 13px;
  margin-top: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.intelligence-signal-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.intelligence-signal-row p {
  color: var(--slate);
  flex: 1 1 280px;
  font-size: 13px;
  line-height: 1.45;
  margin: 0;
}

.signal-pill--no {
  background: #fff1f1;
  border-color: #f5c2c0;
  color: var(--danger);
}

.signal-pill--yes {
  background: #edf8f0;
  border-color: #cfe8d6;
  color: var(--success);
}

.signal-pill--neutral {
  background: #EDE9E2;
  border-color: #dbe4ee;
  color: var(--slate);
}

.intelligence-disclosure {
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0;
}

.intelligence-disclosure summary {
  color: var(--charcoal);
  cursor: pointer;
  font-size: 13px;
  font-weight: 850;
  list-style: none;
  padding: 10px 12px;
}

.intelligence-disclosure summary::-webkit-details-marker {
  display: none;
}

.intelligence-disclosure summary::after {
  background: var(--chevron-svg) center/contain no-repeat;
  content: "";
  float: right;
  height: 16px;
  transition: transform .15s ease;
  width: 16px;
}

.intelligence-disclosure[open] summary::after {
  transform: rotate(180deg);
}

.intelligence-disclosure[open] summary {
  border-bottom: 1px solid var(--line);
}

.intelligence-disclosure .assistant-markdown {
  padding: 12px;
}

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

.lost-moment-entry {
  box-shadow: none;
}

.lost-moment-jump {
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.lost-moment-jump:hover {
  text-decoration: underline;
}

.roadmap-viewbar {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.roadmap-viewbar p {
  margin: 0;
}

.roadmap-accordion {
  display: grid;
  gap: 12px;
}

.roadmap-lane {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.roadmap-lane__summary,
.roadmap-action-row__summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 14px;
  list-style: none;
}

.roadmap-lane__summary {
  background: #F7F4EF;
  grid-template-columns: minmax(160px, 0.35fr) minmax(0, 1fr) auto;
  padding: 14px 16px;
}

.roadmap-lane__summary::-webkit-details-marker,
.roadmap-action-row__summary::-webkit-details-marker {
  display: none;
}

.disclosure-chevron {
  align-items: center;
  color: var(--slate);
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
  justify-self: end;
  transition: transform .15s ease;
}

[open] > .roadmap-lane__summary .disclosure-chevron,
[open] > .roadmap-action-row__summary .disclosure-chevron {
  transform: rotate(180deg);
}

.segmented-toggle {
  background: #EDE9E2;
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  padding: 3px;
}

.segmented-toggle__option {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--slate);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  gap: 6px;
  padding: 6px 14px;
  transition: background-color .15s ease, color .15s ease;
}

.segmented-toggle__option:hover {
  color: var(--charcoal);
}

.segmented-toggle__option[aria-pressed="true"] {
  background: var(--navy);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.15);
  color: var(--white);
}

.segmented-toggle__option[aria-pressed="true"]:hover {
  color: var(--white);
}

.segmented-toggle__option:focus-visible {
  outline: 2px solid var(--navy);
  outline-offset: 2px;
}

.segmented-toggle__icon {
  flex: 0 0 auto;
}

.roadmap-lane__title,
.roadmap-action-row__title {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.roadmap-lane__title strong,
.roadmap-action-row__title strong {
  color: var(--charcoal);
  font-size: 1rem;
  line-height: 1.35;
}

.roadmap-lane__title small,
.roadmap-action-row__title small {
  color: var(--slate);
  font-size: 12px;
  font-weight: 750;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.roadmap-lane__signals,
.roadmap-action-row__meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

.roadmap-lane__signals span,
.roadmap-action-row__meta span {
  background: #EDE9E2;
  border: 1px solid #dbe4ee;
  border-radius: 999px;
  color: var(--slate);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
  padding: 4px 8px;
}

.roadmap-lane__items {
  background: var(--white);
  border-top: 1px solid var(--line);
  display: grid;
}

.roadmap-lane--standalone .roadmap-lane__items {
  border-top: 0;
}

.roadmap-lane__empty {
  color: var(--slate);
  font-size: 13px;
  margin: 0;
  padding: 16px;
}

.roadmap-action-row {
  border-bottom: 1px solid var(--line);
}

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

.roadmap-action-row__summary {
  grid-template-columns: minmax(240px, 1fr) minmax(260px, auto) auto;
  padding: 13px 16px;
}

.roadmap-action-row__summary:hover,
.roadmap-lane__summary:hover {
  background: #f3f7fb;
}

.roadmap-action-row__summary:focus-visible,
.roadmap-lane__summary:focus-visible {
  box-shadow: inset 0 0 0 3px rgba(0, 31, 58, 0.1);
  outline: none;
}

.roadmap-action-row__body {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 14px;
  padding: 14px 16px 16px;
}

.roadmap-action-card__copy {
  display: grid;
  gap: 10px;
}

.roadmap-action-card__copy p {
  color: var(--slate);
  font-size: 13px;
  line-height: 1.48;
  margin: 0;
}

.roadmap-action-card__copy strong {
  color: var(--charcoal);
  display: block;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .05em;
  margin-bottom: 3px;
  text-transform: uppercase;
}

.roadmap-action-row__context {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.run-searchbar {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(260px, 1fr) auto;
  margin-bottom: 18px;
  padding: 14px;
}

.run-searchbar label {
  margin: 0;
}

.run-searchbar__actions {
  align-items: center;
  display: flex;
  gap: 8px;
}

.run-activity-panel {
  overflow: hidden;
}

.run-activity-subheader {
  align-items: end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
}

.run-activity-refresh {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 6px;
}

.run-activity-refresh svg {
  height: 16px;
  width: 16px;
}

.run-activity-refresh.spin-once svg {
  animation: spin 0.6s ease;
}

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

.run-activity-panel__header h2 {
  font-size: 1.02rem;
  margin: 0 0 3px;
}

.run-activity-panel__header p {
  color: var(--slate);
  font-size: 13px;
  margin: 0;
}

.run-list {
  display: grid;
  gap: 12px;
}

.refresh-status-inline {
  align-items: center;
  color: var(--slate);
  display: flex;
  font-size: 12px;
  font-weight: 800;
  gap: 6px;
  padding-bottom: 8px;
}

.run-row {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) minmax(120px, auto) auto;
  padding: 14px 18px;
}

.run-row--issue {
  background: #fdfefe;
}

.run-row__main {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.run-row__title h3 {
  font-size: 0.98rem;
  margin: 0 0 4px;
}

.run-row__title p:not(.eyebrow) {
  color: var(--slate);
  margin: 0;
}

.run-row__meta,
.run-row__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.run-row__meta > span {
  background: #EDE9E2;
  border: 1px solid #dbe4ee;
  border-radius: 999px;
  color: var(--slate);
  font-size: 11px;
  font-weight: 850;
  padding: 4px 8px;
}

.run-row__meta-link,
.fork-badge {
  background: #EDE9E2;
  border: 1px solid #dbe4ee;
  border-radius: 999px;
  color: var(--slate);
  display: inline-flex;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
  padding: 4px 8px;
  text-decoration: none;
}

.fork-badge {
  background: #fff7e6;
  border-color: #f6d38b;
  color: #805600;
}

.run-row__issue {
  background: #fff1f1;
  border: 1px solid #f5c2c0;
  border-radius: 999px;
  color: var(--danger);
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  margin: 0;
  padding: 5px 9px;
  width: fit-content;
}

.run-row__status {
  justify-self: start;
}

.run-row__actions {
  justify-content: flex-end;
}

.run-row__children-toggle {
  grid-column: 1 / -1;
  margin: 4px 0 0;
}

.run-row__children-summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: 0.82rem;
  gap: 10px;
  list-style: none;
  padding: 4px 2px;
  user-select: none;
}

.run-row__children-summary::-webkit-details-marker {
  display: none;
}

.run-row__children-summary::before {
  border: 4px solid transparent;
  border-left-color: var(--text-muted, #888);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  transition: transform 0.15s;
}

.run-row__children-toggle[open] .run-row__children-summary::before {
  transform: rotate(90deg);
}

.run-row__children-summary > span:first-child {
  font-weight: 600;
}

.run-row__children-preview {
  color: var(--text-muted, #888);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.run-row__children {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
}

.run-row-child {
  align-items: center;
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) minmax(120px, auto) auto;
  padding: 8px 12px;
}

.run-row-child--issue {
  background: #fff6f6;
  border-color: #f5c2c0;
}

.run-row-child__actions {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.run-row-child__assistant {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

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

.run-lineage__grid p {
  margin: 6px 0 0;
}

.turn-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

.sibling-runs__list {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sibling-run {
  align-items: center;
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) minmax(120px, auto) auto;
  padding: 8px 12px;
}

.sibling-run--active {
  background: #eef6ff;
  border-color: var(--navy);
}

.sibling-run__actions {
  justify-self: end;
}

/* ── Analysis summary ───────────────────────────────────────────────────── */

.analysis-summary {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  margin-bottom: 24px;
  padding: 16px 18px;
}

.analysis-summary p {
  margin: 0;
}

.analysis-summary__label {
  margin-bottom: 6px !important;
}

/* ── Run detail tabs ────────────────────────────────────────────────────── */

.run-tabs {
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 0;
  margin-bottom: 20px;
}

.run-tab {
  border-bottom: 2px solid transparent;
  color: var(--slate);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: -1px;
  padding: 10px 16px;
  text-decoration: none;
  transition: color .12s ease, border-color .12s ease;
}

.run-tab:hover {
  color: var(--charcoal);
}

.run-tab--active {
  border-bottom-color: var(--navy);
  color: var(--navy);
}

.tab-panel[hidden] {
  display: none;
}

.run-meta-disclosure {
  border-top: 1px solid var(--line);
  margin-top: 24px;
  padding-top: 14px;
}

.run-meta-disclosure > summary {
  color: var(--slate);
  cursor: pointer;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 8px;
  list-style: none;
}

.run-meta-disclosure > summary::-webkit-details-marker {
  display: none;
}

.run-meta-disclosure > summary::after {
  content: "+";
  font-weight: 900;
}

.run-meta-disclosure[open] > summary::after {
  content: "-";
}

.run-meta-disclosure__grid {
  margin-top: 14px;
}

/* ── Momentum bar chart (Analysis tab) ──────────────────────────────────── */

.momentum-chart-body {
  padding: 4px 0 8px;
}

.momentum-bar-track {
  align-items: flex-end;
  display: flex;
  gap: 4px;
  height: 60px;
  margin-bottom: 6px;
}

.momentum-bar {
  background: #3b82f6;
  border-radius: 3px 3px 0 0;
  display: block;
  flex: 1;
  height: calc(var(--score, 0) / 15 * 100%);
  min-height: 3px;
  opacity: .75;
  transition: opacity .1s ease;
}

.momentum-bar:hover {
  opacity: 1;
}

.momentum-bar--dropoff {
  background: #f59e0b;
  opacity: 1;
}

.momentum-bar--weakest {
  background: #64748b;
  opacity: 1;
}

.momentum-turn-labels {
  display: flex;
  font-size: 10px;
  color: var(--slate);
  gap: 4px;
  margin-bottom: 4px;
}

.momentum-turn-labels span {
  flex: 1;
  text-align: center;
}

/* ── Analysis signal grid ───────────────────────────────────────────────── */

.analysis-signal-grid {
  display: grid;
  gap: 16px 24px;
  grid-template-columns: repeat(4, 1fr);
  padding: 4px 0 8px;
}

.analysis-signal-grid .form-kicker {
  display: block;
  margin-bottom: 4px;
}

.analysis-signal-grid__full {
  grid-column: 1 / -1;
}

.analysis-signal-grid__full p {
  font-size: 13px;
  margin: 4px 0 0;
}

.run-id-mono {
  font-family: monospace;
  font-size: 12px;
  word-break: break-all;
}

/* ── Simulation launcher and live run ───────────────────────────────────── */

.simulation-launcher .muted {
  margin: 4px 0 0;
}

.scenario-list {
  display: grid;
  gap: 12px;
}

.scenario-row {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(220px, 1fr) minmax(460px, 1.7fr);
  padding: 18px 20px;
}

.scenario-title {
  color: var(--navy);
  display: inline-block;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
  margin-bottom: 10px;
}

.scenario-meta {
  color: var(--slate);
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 8px;
}

.scenario-meta span {
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 8px;
}

.scenario-row__launch {
  display: grid;
  gap: 10px;
}

.quick-launch-form {
  align-items: end;
  display: grid;
  gap: 8px;
  grid-template-columns: 94px minmax(180px, 1fr) minmax(150px, auto);
  margin: 0;
}

.quick-launch-form label {
  color: var(--slate);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  margin: 0 0 11px;
  text-transform: uppercase;
}

.quick-launch-form select,
.quick-launch-form button {
  min-height: 40px;
}

.quick-launch-form--manual {
  grid-template-columns: 94px minmax(180px, 1fr) minmax(92px, auto);
}

.scenario-launch-panel {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin-top: 18px;
}

.launch-card-form {
  align-content: start;
  display: grid;
  gap: 12px;
  margin: 0;
}

.launch-card-form__footer {
  align-items: end;
  display: grid;
  gap: 12px 18px;
  grid-template-columns: minmax(280px, 1fr) auto auto;
}

.launch-card-form__footer .run-count-label {
  margin: 0;
  min-width: 0;
}

.launch-audience-row {
  align-items: center;
  display: flex;
  gap: 10px;
}

.launch-audience-row .form-kicker {
  margin: 0;
}

.launch-audience-name {
  font-size: 14px;
  font-weight: 500;
}

.launch-audience-panel {
  margin-top: 8px;
}

.link-button {
  background: none;
  border: none;
  color: var(--gold);
  cursor: pointer;
  font-size: 13px;
  padding: 0;
  text-decoration: underline;
}

.launch-card-form__footer .run-count-label p {
  margin-bottom: 10px;
}

.run-total-summary {
  background: #edf4fb;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 12px;
}

.notify-checkbox-label {
  align-items: center;
  display: flex;
  font-size: 13px;
  font-weight: 700;
  gap: 8px;
  margin: 0 0 9px;
  white-space: nowrap;
}

.notify-checkbox-label input[type="checkbox"] {
  accent-color: var(--navy);
  flex: 0 0 auto;
  height: 16px;
  margin: 0;
  min-height: 0;
  padding: 0;
  width: 16px;
}

.notify-checkbox-label span {
  line-height: 1.25;
}

.icon-action {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  height: 36px;
  justify-content: center;
  padding: 0;
  width: 36px;
}

.icon-action svg {
  flex-shrink: 0;
  height: 20px;
  width: 20px;
}

.fork-action .fluent-icon {
  transform: scaleY(-1);
  transform-origin: center;
}

.status.status-pill {
  align-items: center;
  display: inline-flex;
  gap: 5px;
}

.status-pill__icon {
  flex-shrink: 0;
}

.status-pill__label {
  display: inline-block;
}

.assistant-badge {
  align-items: center;
  display: inline-flex;
  gap: 6px;
  line-height: 1;
  vertical-align: middle;
}

.assistant-badge__icon {
  align-items: center;
  color: var(--slate);
  display: inline-flex;
  flex: 0 0 auto;
  transform: translateY(-1px);
}

.assistant-badge__icon svg {
  display: block;
}

.assistant-badge--compact {
  gap: 0;
}

.assistant-badge--compact .assistant-badge__icon {
  color: inherit;
  transform: translateY(-1px);
}

.assistant-badge--compact .assistant-badge__icon svg {
  height: 16px;
  width: 16px;
}

.assistant-badge--manual {
  gap: 0;
}

.assistant-badge--manual .assistant-badge__icon + .assistant-badge__icon {
  margin-left: 3px;
}

.assistant-badge--manual .assistant-badge__label {
  margin-left: 6px;
}

.assistant-badge__icon--brand {
  color: var(--navy);
}

.assistant-badge__label {
  display: inline-block;
}

.assistant-checkbox-group {
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.assistant-checkbox {
  align-items: center;
  background: #F7F4EF;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  gap: 10px;
  padding: 10px 12px;
}

.assistant-checkbox:hover {
  background: #eef6ff;
}

.assistant-checkbox:has(input:focus-visible) {
  border-color: var(--navy);
  outline: 2px solid color-mix(in srgb, var(--navy) 30%, transparent);
  outline-offset: 1px;
}

.assistant-checkbox input[type="checkbox"] {
  accent-color: var(--navy);
  flex: 0 0 auto;
  height: 16px;
  margin: 0;
  outline: none;
  width: 16px;
}

.assistant-checkbox input[type="checkbox"]:focus {
  box-shadow: none;
}

.assistant-checkbox-hint {
  color: var(--danger);
  font-weight: 650;
}

.assistant-checkbox__body {
  align-items: center;
  display: inline-flex;
  gap: 6px;
  white-space: nowrap;
}

.assistant-checkbox--disabled {
  cursor: not-allowed;
  opacity: 0.55;
  pointer-events: none;
}

.assistant-checkbox--disabled:hover {
  background: #F7F4EF;
}

.assistant-checkbox__note {
  color: var(--slate);
  font-size: 12px;
}

.journey-launch-list {
  display: grid;
  gap: 16px;
}

.journey-launch-item {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: 18px;
  padding: 18px;
}

.journey-launch-item__summary {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(220px, 1fr) minmax(360px, 1.3fr);
}

.journey-launch-item__summary .eyebrow,
.journey-launch-item__summary h2,
.journey-launch-item__summary p {
  margin: 0;
}

.journey-launch-item__summary h2 {
  color: var(--navy);
  font-size: 1.08rem;
}

.journey-launch-meta {
  margin: 0;
}

.journey-launch-actions {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 12px;
  padding-top: 16px;
}

.journey-launch-form {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(180px, 1fr) auto;
  margin: 0;
}

.journey-launch-form label {
  color: var(--slate);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.journey-launch-form select,
.journey-launch-form input {
  min-height: 38px;
}

.journey-launch-form--manual {
  align-items: start;
  grid-template-columns: minmax(180px, 1fr) minmax(300px, 1.6fr);
}

.journey-launch-manual-row {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(180px, 1fr) auto;
}

.journey-launch-empty {
  align-items: start;
}

.journey-launch-item--pickable {
  align-items: center;
  color: inherit;
  cursor: pointer;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.journey-launch-item--pickable:hover {
  border-color: var(--navy);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

.journey-launch-item__chevron {
  color: var(--slate);
  font-size: 18px;
  font-weight: 850;
}

.wizard-steps {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}

.wizard-step {
  align-items: center;
  color: var(--slate);
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 8px;
  position: relative;
}

.wizard-step + .wizard-step::before {
  background: var(--line);
  content: "";
  display: inline-block;
  height: 1px;
  margin-right: 16px;
  width: 32px;
}

.wizard-step > span {
  align-items: center;
  background: #EDE9E2;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--slate);
  display: inline-flex;
  font-size: 12px;
  height: 22px;
  justify-content: center;
  width: 22px;
}

.wizard-step--active {
  color: var(--navy);
}

.wizard-step--active > span {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
}

.wizard-step--complete > span {
  background: #e7f1ea;
  border-color: #cfe2d5;
  color: var(--success);
}

.wizard-step--complete a {
  color: var(--navy);
  text-decoration: none;
}

.wizard-step--complete a:hover {
  text-decoration: underline;
}

.wizard-scenario-strip {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  margin: 0 0 14px;
  padding: 10px 14px;
}

.wizard-scenario-strip__main {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 0;
}

.wizard-scenario-strip__mode {
  background: #EDE9E2;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--slate);
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
  padding: 3px 9px;
  text-transform: uppercase;
}

.wizard-scenario-strip__name {
  color: var(--navy);
  font-size: 14px;
  font-weight: 800;
}

.wizard-scenario-strip__meta {
  color: var(--slate);
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wizard-scenario-strip__change {
  color: var(--navy);
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.wizard-scenario-strip__change:hover {
  text-decoration: underline;
}

.wizard-seed-message {
  background: var(--white);
  border: 1px dashed var(--line);
  border-radius: 8px;
  margin: 0 0 14px;
  padding: 10px 14px;
}

.wizard-seed-message > summary {
  cursor: pointer;
  list-style: none;
}

.wizard-seed-message > summary::-webkit-details-marker {
  display: none;
}

.wizard-seed-message p {
  color: var(--charcoal);
  font-size: 13px;
  margin: 6px 0 0;
}

.wizard-mode-tabs {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0;
}

.wizard-mode-tab {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: inherit;
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.wizard-mode-tab:hover {
  border-color: var(--navy);
}

.wizard-mode-tab strong {
  color: var(--navy);
  font-size: 14px;
}

.wizard-mode-tab small {
  color: var(--slate);
  font-size: 12px;
  line-height: 1.45;
}

.wizard-mode-tab--active {
  border-color: var(--navy);
  box-shadow: inset 0 0 0 1px var(--navy);
}

.wizard-mode-panel {
  margin-top: 0;
}

@media (max-width: 720px) {
  .wizard-mode-tabs {
    grid-template-columns: 1fr;
  }
}

/* Library nudge on empty personas list */
.library-nudge {
  align-items: center;
  background: var(--white);
  border: 1.5px solid var(--navy);
  border-radius: 8px;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin: 0 0 4px;
  padding: 16px 20px;
}

.library-nudge__copy {
  display: grid;
  gap: 3px;
}

.library-nudge__copy strong {
  color: var(--navy);
  font-size: 14px;
}

.library-nudge__copy p {
  color: var(--slate);
  font-size: 13px;
  margin: 0;
}

@media (max-width: 600px) {
  .library-nudge {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Collapsible enrichment option when library is primary */
.enrichment-secondary {
  border: 1px solid var(--line);
  border-radius: 6px;
  margin-top: 14px;
}

.enrichment-secondary > summary {
  color: var(--slate);
  cursor: pointer;
  font-size: 13px;
  list-style: none;
  padding: 10px 14px;
  user-select: none;
}

.enrichment-secondary > summary::-webkit-details-marker {
  display: none;
}

.enrichment-secondary > summary::before {
  content: '+ ';
}

.enrichment-secondary[open] > summary::before {
  content: '− ';
}

.enrichment-secondary__body {
  border-top: 1px solid var(--line);
  color: var(--slate);
  font-size: 13px;
  padding: 12px 14px 14px;
}

.enrichment-secondary__body p {
  margin: 0;
  line-height: 1.5;
}

/* Library-first persona creation layout */
.create-choice {
  margin: 18px 0;
  display: grid;
  gap: 10px;
}

.create-choice__primary {
  background: var(--white);
  border: 1.5px solid var(--navy);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  color: inherit;
  display: grid;
  gap: 6px;
  padding: 20px 20px 16px;
  text-decoration: none;
  transition: box-shadow .15s ease, border-color .15s ease;
}

.create-choice__primary:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,.1);
}

.create-choice__primary-badge {
  background: var(--navy);
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .03em;
  padding: 2px 8px;
  text-transform: uppercase;
  width: fit-content;
}

.create-choice__primary-title {
  color: var(--navy);
  font-size: 15px;
  margin-top: 4px;
}

.create-choice__primary-desc {
  color: var(--slate);
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}

.create-choice__primary-cta {
  color: var(--navy);
  font-size: 13px;
  font-weight: 600;
  margin-top: 4px;
}

.create-choice__secondary-row {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.create-choice__secondary {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: inherit;
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  text-decoration: none;
  transition: border-color .15s ease;
}

.create-choice__secondary:hover {
  border-color: var(--navy);
}

.create-choice__secondary strong {
  color: var(--navy);
  font-size: 14px;
}

.create-choice__secondary small {
  color: var(--slate);
  font-size: 12px;
  line-height: 1.45;
}

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

.preset-chip {
  background: #F7F4EF;
  border: 1px solid var(--line-strong);
  color: var(--navy);
  font-size: 13px;
  min-height: 32px;
  padding: 6px 10px;
}

.preset-chip:hover {
  background: #eef6ff;
  color: var(--navy);
}

.scenario-settings {
  margin-top: 20px;
}

.mode-guide {
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 12px;
}

.mode-guide div {
  border-right: 1px solid var(--line);
  display: grid;
  gap: 3px;
  padding-right: 10px;
}

.mode-guide div:last-child {
  border-right: 0;
  padding-right: 0;
}

.mode-guide strong {
  font-size: 13px;
}

.mode-guide span {
  color: var(--slate);
  font-size: 12px;
}

.advanced-settings {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
}

.advanced-settings summary {
  cursor: pointer;
  font-weight: 800;
}

.advanced-settings label {
  margin-top: 12px;
}

.meta-grid,
.live-stop-form {
  display: flex;
  justify-content: flex-end;
  margin: 0;
}

.live-context {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  margin: 0;
}

.meta-grid div,
.live-context div {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 12px;
}

.meta-grid dt,
.live-context span {
  color: var(--slate);
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.meta-grid dd,
.live-context strong {
  color: var(--charcoal);
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin: 0;
}

.seed-message {
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 16px;
  padding: 12px 14px;
}

.seed-message p {
  margin: 0;
}

.live-context {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-bottom: 20px;
  padding: 12px 14px;
}

.technical-details {
  margin-top: -8px;
}

.live-context div {
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  padding: 2px 12px 2px 0;
}

.live-context div:last-child {
  border-right: 0;
}

.pending-turn {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
  border-color: #C8C3BB;
  box-shadow: 0 0 0 3px rgba(0, 31, 58, 0.05);
}

.manual-response-form {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.copy-header {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 8px;
}

.copy-header label {
  margin: 0;
}

.copy-button {
  min-height: 36px;
  padding: 7px 12px;
}

.copy-box {
  background: #F7F4EF;
  color: var(--charcoal);
  min-height: 96px;
  resize: vertical;
}

.raw-transcript {
  background: #07131f;
  border-radius: 6px;
  color: #F7F4EF;
  line-height: 1.6;
  margin: 0;
  overflow-x: auto;
  padding: 14px;
  white-space: pre-wrap;
}

.conversation-panel {
  padding: 18px 20px 20px;
}

.conversation-header {
  align-items: flex-start;
  gap: 16px;
}

.conversation-header .muted {
  margin: 4px 0 0;
}

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

.conversation-thread {
  display: grid;
  gap: 12px;
}

.conversation-turn {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.conversation-turn[open] {
  box-shadow: var(--shadow-sm);
}

.conversation-turn__body {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
}

.conversation-turn__meta {
  align-items: center;
  color: var(--slate);
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 8px;
}

.conversation-turn__meta span {
  background: #EDE9E2;
  border-radius: 999px;
  color: var(--slate);
  font-weight: 800;
  padding: 3px 8px;
}

.conversation-turn__meta strong {
  color: var(--charcoal);
}

.chat-message {
  border-radius: 8px;
  line-height: 1.6;
  padding: 12px 14px;
}

.chat-message span {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.chat-message p {
  margin: 0;
}

.audience-message {
  background: #F7F4EF;
  border: 1px solid #dbe4ee;
}

.audience-message span {
  color: var(--slate);
}

.assistant-message {
  background: #F7F4EF;
  border: 1px solid #dbe4ee;
}

.assistant-message span {
  color: var(--navy);
}

.raw-transcript-details {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  margin-bottom: 20px;
  padding: 14px 16px;
}

.raw-transcript-details summary {
  cursor: pointer;
  font-weight: 800;
}

.raw-transcript-details .raw-transcript {
  margin-top: 14px;
}

/* ── Report content (wraps generated HTML) ──────────────────────────────── */

.report-library-hero {
  align-items: stretch;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(260px, 1fr) auto;
  margin-bottom: 16px;
  padding: 18px 20px;
}

.report-library-hero h2 {
  font-size: 1.25rem;
  margin: 0 0 4px;
}

.report-library-hero p {
  color: var(--slate);
  margin: 0;
}

.report-library-hero dl {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  margin: 0;
}

.report-library-hero--metrics-only {
  display: block;
  padding: 14px 18px;
}

.report-library-hero--metrics-only dl {
  grid-template-columns: repeat(2, minmax(140px, max-content));
  justify-content: start;
}

.report-library-hero dl div {
  background: #F7F4EF;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px 14px;
}

.report-library-hero dt {
  color: var(--slate);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.report-library-hero dd {
  color: var(--charcoal);
  font-size: 1.4rem;
  font-weight: 850;
  line-height: 1;
  margin: 4px 0 0;
}

.report-searchbar {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(260px, 1fr) auto;
  margin-bottom: 12px;
  padding: 14px;
}

.report-searchbar label {
  margin: 0;
}

.report-searchbar__actions {
  align-items: center;
  display: flex;
  gap: 8px;
}

/* Clear-search "x": a pointer cursor on hover and a hit area larger than the
   glyph (background-size keeps the icon visually small) so it is easy to click. */
.report-searchbar input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232563eb'><path d='M4.22 4.22a.75.75 0 0 1 1.06 0L8 6.94l2.72-2.72a.75.75 0 1 1 1.06 1.06L9.06 8l2.72 2.72a.75.75 0 1 1-1.06 1.06L8 9.06l-2.72 2.72a.75.75 0 0 1-1.06-1.06L6.94 8 4.22 5.28a.75.75 0 0 1 0-1.06Z'/></svg>") center no-repeat;
  background-size: 18px 18px;
  cursor: pointer;
  height: 20px;
  margin-left: 6px;
  width: 20px;
}

.report-searchbar input[type="search"]::-webkit-search-cancel-button:hover {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23001F3A'><path d='M4.22 4.22a.75.75 0 0 1 1.06 0L8 6.94l2.72-2.72a.75.75 0 1 1 1.06 1.06L9.06 8l2.72 2.72a.75.75 0 1 1-1.06 1.06L8 9.06l-2.72 2.72a.75.75 0 0 1-1.06-1.06L6.94 8 4.22 5.28a.75.75 0 0 1 0-1.06Z'/></svg>");
}

/* ── Report filter bar (date range + sort), separate from the search row ─── */

.report-filterbar {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 18px;
  padding: 14px;
}

.report-filterbar label {
  color: var(--slate);
  display: flex;
  flex-direction: column;
  font-size: 11px;
  font-weight: 600;
  gap: 4px;
  letter-spacing: .04em;
  margin: 0;
  text-transform: uppercase;
}

.report-filterbar input[type="date"],
.report-filterbar select {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--charcoal);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 12px;
  text-transform: none;
}

/* Pushed to the right edge and vertically centered against the input row
   (the bar's own align-items: end bottom-aligns it against the field labels
   above the inputs, which sit taller). Uses the system font stack at the
   same weight as <button> elements: <a> inherits Inter from body, whose
   ExtraBold renders noticeably heavier than the system font's bold used by
   the unstyled Search <button>. */
.report-filterbar__reset {
  align-self: center;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin-left: auto;
}

/* ── Per-row real signals ───────────────────────────────────────────────── */

/* Trend chip sits inside the "Recommended" pill as coloured text, so it stays a
   real measured signal without a competing pill background. */
.trend-chip {
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.trend-chip--up   { color: var(--success); }
.trend-chip--down { color: var(--danger); }
.trend-chip--flat { color: var(--slate); }

.report-row__brand {
  font-size: 13px;
}

/* Cluster heading shown when the list is grouped by assistant or business. */
.report-group-heading {
  color: var(--slate);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  margin: 10px 2px 2px;
  text-transform: uppercase;
}

.report-group-heading:first-child {
  margin-top: 0;
}

.report-list {
  display: grid;
  gap: 12px;
}

.report-row {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 16px 18px;
}

.report-row__main {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.report-row__title h2 {
  font-size: 1rem;
  margin: 0 0 4px;
}

.report-row__title p:not(.eyebrow) {
  color: var(--slate);
  margin: 0;
}

.report-row__meta,
.report-row__actions,
.pagination,
.pagination__controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.report-row__meta > span {
  background: #EDE9E2;
  border: 1px solid #dbe4ee;
  border-radius: 999px;
  color: var(--slate);
  font-size: 11px;
  font-weight: 850;
  padding: 4px 8px;
}

.report-row__actions {
  justify-content: flex-end;
}

.pagination {
  justify-content: center;
  margin-top: 18px;
}

.pagination__summary {
  color: var(--slate);
  font-size: 13px;
  font-weight: 800;
}

.report-detail-titlebar .run-meta .status {
  text-transform: none;
}

.report-content .generated-report > header {
  margin-bottom: 28px;
}

.report-content .generated-report > header h1 {
  font-size: 1.6rem;
  margin: 6px 0 8px;
}

.report-content h2 {
  font-size: 1.1rem;
  margin: 28px 0 14px;
}

.report-content ul {
  line-height: 1.7;
  padding-left: 20px;
}

.report-content ul li {
  margin-bottom: 6px;
}

.report-content .report-metrics {
  margin-bottom: 28px;
}

.report-content .table-wrap {
  margin-top: 12px;
}

/* ── Report metrics ─────────────────────────────────────────────────────── */

.report-metrics {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.report-metrics article {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 14px;
}

.report-metrics span {
  color: var(--slate);
  display: block;
  font-size: 12px;
  font-weight: 800;
}

.report-metrics strong {
  display: block;
  font-size: 24px;
  margin-top: 4px;
}

/* ── Momentum curve ─────────────────────────────────────────────────────── */

.report-momentum {
  margin: 20px 0;
}

.report-momentum h2 {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 8px;
}

.report-momentum h3 {
  font-size: 13px;
  font-weight: 800;
  margin: 18px 0 8px;
}

.momentum-curve {
  display: block;
  max-width: 100%;
  overflow: visible;
}

.momentum-curve a circle {
  cursor: pointer;
  transition: filter 0.15s ease, stroke-width 0.15s ease;
}

.momentum-curve a:hover circle,
.momentum-curve a:focus circle {
  filter: drop-shadow(0 2px 4px rgba(15, 23, 42, 0.22));
  stroke: var(--charcoal) !important;
  stroke-width: 2.5px;
}

.comparison-momentum-chart {
  margin-top: 6px;
}

.momentum-curve-legend {
  margin-top: 10px;
}

.momentum-subtitle {
  color: #5B6670;
  font-size: 12px;
  margin-bottom: 10px;
  margin-top: 2px;
}

.momentum-dropoff-note {
  color: #92400e;
  font-size: 12px;
  margin-top: 6px;
}

/* ── SSR: preference vs. confidence ─────────────────────────────────────── */

.report-ssr {
  margin: 20px 0;
}

.report-ssr h2 {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 8px;
}

.ssr-curve {
  display: block;
  max-width: 100%;
  overflow: visible;
}

.ssr-takeaway {
  color: var(--charcoal, #1f2933);
  font-size: 13px;
  font-weight: 700;
  margin: 12px 0 10px;
}

.ssr-metrics {
  margin-top: 8px;
}

.ssr-explanation {
  color: #92400e;
  font-size: 12px;
  line-height: 1.5;
  margin-top: 10px;
  max-width: 250ch;
}

.ssr-callout {
  align-items: baseline;
  background: #eff6ff;
  border-left: 3px solid #2563eb;
  border-radius: 4px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
  padding: 10px 12px;
}

.ssr-callout-tag {
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.ssr-callout strong {
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.ssr-callout span:last-child {
  color: #475569;
  flex: 1 1 240px;
  font-size: 12px;
  line-height: 1.5;
}

/* ── Hazard / conversion curve ──────────────────────────────────────────── */

.hazard-chart-wrap {
  align-items: flex-end;
  display: flex;
  gap: 8px;
  padding: 8px 0 4px;
  width: 100%;
}

.hazard-bar-track {
  align-items: flex-end;
  display: flex;
  flex: 1;
  gap: 4px;
  height: 80px;
  min-width: 0;
  width: 100%;
}

.hazard-bar-track--grouped {
  gap: 6px;
}

.hazard-turn-group {
  align-items: flex-end;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2px;
  height: 100%;
  justify-content: flex-end;
}

.hazard-turn-group .hazard-bar {
  width: 100%;
}

.hazard-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}

.hazard-legend__item {
  align-items: center;
  display: flex;
  font-size: 12px;
  gap: 6px;
}

.hazard-legend__swatch {
  border-radius: 2px;
  display: inline-block;
  height: 10px;
  width: 10px;
}

.hazard-bar-col {
  align-items: center;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4px;
  height: 100%;
  justify-content: flex-end;
}

.hazard-bar {
  background: var(--navy);
  border-radius: 3px 3px 0 0;
  height: calc(var(--pct, 0) * 100%);
  min-height: 2px;
  opacity: .75;
  width: 100%;
}

.hazard-bar-label {
  color: var(--slate);
  font-size: 9px;
  text-align: center;
}

.hazard-y-labels {
  color: var(--slate);
  display: flex;
  flex-direction: column;
  font-size: 9px;
  height: 80px;
  justify-content: space-between;
  text-align: right;
}

.presence-curve {
  display: block;
  max-width: 100%;
  overflow: visible;
}

.presence-chart-wrap {
  margin-bottom: 14px;
  overflow-x: auto;
  width: 100%;
}

.presence-curve-legend {
  display: flex;
  font-size: 12px;
  gap: 16px;
  color: var(--slate);
  margin-top: 6px;
}

.presence-curve-legend span {
  align-items: center;
  display: flex;
  gap: 5px;
}

.roadmap-source-citation {
  font-size: 11px;
  margin-top: 4px;
}

.roadmap-source-citation a {
  color: var(--slate);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.priority-badge {
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 2px 8px;
  text-transform: uppercase;
  white-space: nowrap;
}

.priority-badge--high {
  background: #fff3cd;
  color: #7a5800;
}

.priority-badge--medium {
  background: #edf4fb;
  color: var(--navy-soft);
}

.priority-badge--low {
  background: #EDE9E2;
  color: var(--slate);
}

/* ── Comparison report ──────────────────────────────────────────────────── */

.report-row--comparison {
  border-left: 3px solid var(--gold);
}

.report-comparison-assistants {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.assistant-count-badge {
  align-items: center;
  display: inline-flex;
  gap: 4px;
  white-space: nowrap;
}

.assistant-count-badge__count {
  color: var(--slate);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

.report-comparison-scorecard-wrap {
  overflow-x: auto;
  margin: 0 0 8px;
}

.report-comparison-scorecard {
  border-collapse: collapse;
  font-size: 13.5px;
  min-width: 480px;
  width: 100%;
}

.report-comparison-scorecard th,
.report-comparison-scorecard td {
  border: 1px solid var(--line);
  padding: 10px 14px;
  text-align: left;
  vertical-align: middle;
}

.report-comparison-scorecard thead th {
  background: #F7F4EF;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.report-comparison-scorecard__label {
  color: var(--slate);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  width: 160px;
}

.report-comparison-scorecard__cell--best {
  color: var(--success);
  font-weight: 700;
}

.report-comparison-scorecard__cell--worst {
  color: var(--danger);
}

.report-comparison-assistant {
  border-top: 2px solid var(--line);
  margin-top: 28px;
  padding-top: 20px;
}

.report-comparison-assistant h2 {
  margin-top: 0;
}

.report-comparison-assistant h3 {
  font-size: 1rem;
  margin: 20px 0 10px;
}

.outcome-tag {
  border-radius: 4px;
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 8px;
}

.outcome-tag--low    { background: #f0fdf4; color: var(--success); }
.outcome-tag--medium { background: #fffbeb; color: #d97706; }
.outcome-tag--high   { background: #fff5f5; color: var(--danger); }

.chart-frame {
  height: 300px;
  max-width: 520px;
  width: 100%;
}

/* ── Interaction display (live page focus panel) ──────────────────────── */
.interaction-display-wrapper {
  transition: opacity 0.32s ease, max-height 0.32s ease;
}

.interaction-display-wrapper:empty {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.interaction-display {
  background: linear-gradient(180deg, #fefefe 0%, #f7f9fc 100%);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(0, 31, 58, 0.06);
  padding: 16px 20px 18px;
  margin-bottom: 16px;
  animation: interaction-display-in 0.28s ease-out;
}

@keyframes interaction-display-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

.interaction-display__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.interaction-display__title {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--navy);
  margin: 0;
  flex: 1;
}

.interaction-display__pulse {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.45);
  animation: interaction-display-pulse 1.6s ease-in-out infinite;
}

@keyframes interaction-display-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.45); }
  50%      { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
}

.interaction-display__phase {
  font-size: 12px;
  color: var(--muted, #5B6670);
  font-weight: 600;
}

.interaction-display__body { min-width: 0; }

.interaction-display__audience {
  animation: interaction-fade-in 0.32s ease-out;
}

.interaction-display__assistant {
  animation: interaction-fade-in 0.32s ease-out 0.08s both;
}

@keyframes interaction-fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

.interaction-display__waiting {
  color: var(--muted, #5B6670);
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 0;
}

.interaction-display__dots {
  display: inline-flex;
  gap: 3px;
}

.interaction-display__dots span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--navy-mid);
  opacity: 0.5;
  animation: interaction-dot 1.2s ease-in-out infinite;
}

.interaction-display__dots span:nth-child(2) { animation-delay: 0.15s; }
.interaction-display__dots span:nth-child(3) { animation-delay: 0.3s; }

@keyframes interaction-dot {
  0%, 80%, 100% { transform: scale(0.7); opacity: 0.3; }
  40%           { transform: scale(1);   opacity: 1; }
}

/* ── Pace control ──────────────────────────────────────────────────────── */
.live-pace {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--surface, #ffffff);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 3px 6px 3px 10px;
  margin-right: 10px;
}

.live-pace__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted, #5B6670);
}

.live-pace__option {
  background: transparent;
  border: 0;
  color: var(--ink, #1D2730);
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.live-pace__option:hover {
  background: rgba(0, 31, 58, 0.06);
}

.live-pace__option[aria-pressed="true"] {
  background: var(--navy);
  color: #ffffff;
}

.scroll-to-top-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 55;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--line-strong);
  background: var(--navy);
  color: #ffffff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0, 31, 58, 0.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}

.scroll-to-top-btn--visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s;
}

.scroll-to-top-btn:hover {
  background: var(--navy-mid);
}

.scroll-to-top-btn:focus-visible {
  outline: 2px solid var(--navy-mid);
  outline-offset: 2px;
}

@media (max-width: 540px) {
  .scroll-to-top-btn { bottom: 16px; right: 16px; width: 40px; height: 40px; }
}

.live-toast-region {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 60;
  max-width: 420px;
  width: calc(100% - 48px);
  pointer-events: none;
}

.live-toast {
  background: var(--surface, #ffffff);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.12);
  padding: 12px 14px 12px 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  pointer-events: auto;
  visibility: hidden;
}

.live-toast--ready {
  visibility: visible;
  animation: live-toast-in 0.22s ease-out;
}

.live-toast--leaving {
  animation: live-toast-out 0.28s ease-in forwards;
}

.live-toast__body { min-width: 0; }

.live-toast__title {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--muted);
}

.live-toast__text {
  margin: 0 0 4px;
  font-size: 13px;
  color: var(--ink);
  line-height: 1.4;
}

.live-toast__meta {
  margin: 0;
  font-size: 12px;
  color: var(--muted);
}

.live-toast__close {
  background: transparent;
  border: 0;
  color: var(--muted);
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
  padding: 0 4px;
  align-self: start;
}

.live-toast__close:hover { color: var(--ink); }

@keyframes live-toast-in {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes live-toast-out {
  to { opacity: 0; transform: translateY(-8px); }
}

@media (max-width: 540px) {
  .live-toast-region { top: 12px; right: 12px; width: calc(100% - 24px); }
}

/* ── Tablet (≤ 768px) ───────────────────────────────────────────────────── */

@media (max-width: 768px) {
  .grid.two,
  .grid.three,
  .fork-mode-grid,
  .form-grid,
  .meta-grid,
  .analysis-signal-grid,
  .live-context,
  .project-toolbar,
  .project-card-grid,
  .project-overview-band,
  .intelligence-hero,
  .intelligence-filterbar,
  .intelligence-filterbar--wide,
  .intelligence-card__body,
  .roadmap-action-row__context,
  .roadmap-action-row__summary,
  .roadmap-lane__summary,
  .run-searchbar,
  .run-lineage__grid,
  .run-row,
  .report-library-hero,
  .report-searchbar,
  .report-row,
    .notice-success {
    grid-template-columns: 1fr;
  }

  .tenant-banner {
    align-items: flex-start;
    flex-direction: column;
    padding: 10px 16px;
  }

  .field--wide,
  .form-actions {
    grid-column: auto;
  }

  .form-actions {
    justify-content: flex-start;
  }

  .launch-card-form__footer {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .notify-checkbox-label {
    margin-bottom: 0;
    white-space: normal;
  }

  .page-titlebar,
  .page-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .page-titlebar__actions {
    width: 100%;
  }

  .page-titlebar__actions .button {
    width: 100%;
    text-align: center;
  }

  .project-toolbar__actions {
    justify-content: flex-start;
  }

  .report-row__actions,
  .report-searchbar__actions,
  .run-row__actions,
  .run-searchbar__actions {
    justify-content: flex-start;
  }

  .scenario-row,
  .scenario-launch-panel,
  .mode-guide {
    grid-template-columns: 1fr;
  }

  .mode-guide div {
    border-bottom: 1px solid var(--line);
    border-right: 0;
    padding: 0 0 10px;
  }

  .mode-guide div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .quick-launch-form,
  .quick-launch-form--manual {
    grid-template-columns: 1fr;
  }

  .quick-launch-form label {
    margin: 0;
  }

  .live-context div {
    border-bottom: 1px solid var(--line);
    border-right: 0;
    padding: 0 0 10px;
  }

  .live-context div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

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

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

  .conversation-header {
    flex-direction: column;
  }

  .conversation-actions {
    justify-content: flex-start;
    width: 100%;
  }

  .roadmap-viewbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .turn-card__summary,
  .conversation-turn__summary {
    grid-template-columns: auto auto minmax(0, 1fr);
  }

  .turn-disclosure-label {
    grid-column: 1 / -1;
    justify-self: flex-start;
  }

  .content {
    padding: 20px 16px;
  }
}

/* ── Mobile (≤ 600px) ───────────────────────────────────────────────────── */

@media (max-width: 600px) {
  .stat-grid,
  .report-metrics,
  .project-overview-band__stats,
  .intelligence-hero__metrics,
  .report-library-hero dl {
    grid-template-columns: 1fr;
  }

  .topbar {
    padding: 10px 16px;
  }

  .topbar .actions .muted {
    display: none;
  }

  .workspace-switcher {
    order: 3;
    width: 100%;
  }

  .workspace-chip {
    max-width: 100%;
  }

  .workspace-chip__label {
    display: none;
  }

  .project-switcher__panel {
    left: 16px;
    position: fixed;
    right: 16px;
    top: 64px;
    width: auto;
  }

  .content {
    padding: 16px 12px;
  }

  h1 {
    font-size: 1.4rem;
  }

  .panel {
    padding: 14px;
  }

  .auth-card {
    padding: 20px 16px;
  }
}

/* ── Sidebar overlay on mobile (≤ 900px) ───────────────────────────────── */

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

  /* Sidebar becomes a fixed overlay drawer */
  .sidebar {
    border-right: none;
    bottom: 0;
    left: 0;
    overflow-y: auto;
    position: fixed;
    top: 0;
    transform: translateX(-100%);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
    width: 260px;
    z-index: 200;
  }

  .sidebar.open {
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.18);
    transform: translateX(0);
  }

  /* Scrim overlay behind the open drawer */
  .sidebar-scrim {
    background: rgba(0, 0, 0, 0.35);
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 199;
  }

  .sidebar-scrim.visible {
    display: block;
  }

  .brand .logo-full {
    display: block;
  }

  .brand .logo-mark {
    display: none;
  }

  .hamburger {
    display: block;
  }

  .grid.two,
  .grid.three,
  .report-metrics {
    grid-template-columns: 1fr;
  }
}

/* Snapshot public — turn chart (static, no interactivity) */
.snapshot-turn-chart {
  display: flex;
  flex-direction: row;
  gap: 6px;
  margin-bottom: 16px;
  width: 100%;
}

.snapshot-turn-chart__bar {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  min-width: 0;
  padding: 6px 4px 4px;
  border-radius: 4px;
  background: #DDD9D2;
}

.snapshot-turn-chart__bar--present {
  background: #d1fae5;
  border: 1px solid #6ee7b7;
}

.snapshot-turn-chart__bar--absent {
  background: #fee2e2;
  border: 1px solid #fca5a5;
}

.snapshot-turn-chart__label {
  font-size: 10px;
  font-weight: 600;
  color: #5B6670;
}

.snapshot-turn-chart__comparison-option {
  font-size: 9px;
  font-weight: 700;
  color: #b45309;
  background: #fef3c7;
  border-radius: 2px;
  padding: 0 3px;
}

/* Snapshot public — print footer logo */
.snapshot-public__footer-logo {
  height: 22px;
  width: auto;
  opacity: 0.7;
}

/* Snapshot public — short URL display */
.snapshot-public__short-url {
  font-size: 13px;
  color: #5B6670;
  word-break: break-all;
}


/* ── App modal (dialog) ─────────────────────────────────────────────────── */

.app-modal {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  max-width: 580px;
  padding: 0;
  width: calc(100% - 48px);
}

.app-modal::backdrop {
  backdrop-filter: blur(6px) brightness(0.85);
  background: rgba(0, 0, 0, 0.35);
}

/* Onboarding modal layout */
.onboarding-modal__rocket {
  color: var(--navy);
  flex-shrink: 0;
}

.onboarding-modal__titles {
  flex: 1;
  min-width: 0;
}

.onboarding-modal__eyebrow {
  color: var(--slate);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  margin: 0 0 2px;
  text-transform: uppercase;
}

.onboarding-modal__heading {
  font-size: 15px;
  font-weight: 800;
  margin: 0;
}

.onboarding-modal__progress-label {
  color: var(--slate);
  font-size: 12px;
  flex-shrink: 0;
}

.onboarding-modal__bar-wrap {
  background: var(--line);
  height: 3px;
}

.onboarding-modal__bar-fill {
  background: var(--navy);
  height: 100%;
  transition: width .3s ease;
  width: 0%;
}

.onboarding-modal__list {
  display: grid;
  gap: 2px;
  padding: 12px 20px 20px;
}

.app-modal__header {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 16px 20px;
}

.app-modal__title {
  font-size: 1rem;
  font-weight: 800;
  margin: 0;
}

.app-modal__close {
  background: none;
  border: none;
  border-radius: 4px;
  color: var(--slate);
  cursor: pointer;
  min-height: auto;
  padding: 4px;
  width: auto;
}

.app-modal__close:hover {
  color: var(--charcoal);
}

.app-modal__body {
  padding: 20px;
}

.app-modal__body .confirm-delete-name {
  font-weight: 700;
  margin-bottom: 6px;
}


/* ── App sheet (full-screen overlay) ───────────────────────────────────────── */

@keyframes sheet-in {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.app-sheet {
  background: var(--bg, #f5f6f7);
  border: none;
  border-radius: 0;
  height: 100dvh;
  left: 0;
  margin: 0;
  max-height: 100dvh;
  max-width: 100vw;
  overflow-y: auto;
  padding: 0;
  top: 0;
  width: 100vw;
}

.app-sheet[open] {
  animation: sheet-in 0.18s ease;
}

.app-sheet::backdrop {
  backdrop-filter: blur(6px) brightness(0.85);
  background: rgba(0, 0, 0, 0.35);
}

.app-sheet__header {
  align-items: center;
  background: var(--white);
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 14px 24px;
  position: sticky;
  top: 0;
  z-index: 1;
}

.app-sheet__header-left {
  align-items: baseline;
  display: flex;
  gap: 16px;
  min-width: 0;
}

.app-sheet__back {
  align-items: center;
  color: var(--slate);
  display: flex;
  flex-shrink: 0;
  font-size: 13px;
  gap: 4px;
  text-decoration: none;
}

.app-sheet__back:hover {
  color: var(--navy);
}

.app-sheet__title {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-sheet__close {
  align-items: center;
  background: none;
  border: none;
  border-radius: 6px;
  color: var(--slate);
  cursor: pointer;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  padding: 6px;
}

.app-sheet__close:hover {
  background: var(--hover-bg, #eaecef);
  color: var(--navy);
}

.app-sheet__body {
  margin: 0 auto;
  max-width: 860px;
  padding: 28px 24px 80px;
}

/* ── Country flag select ─────────────────────────────────────────────────── */

/* Hide native select once the custom widget has been initialized */
select[data-country-widget] {
  display: none !important;
}

.country-select {
  position: relative;
}

.country-select__trigger {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  color: var(--charcoal);
  cursor: pointer;
  display: flex;
  font-size: 15px;
  font-weight: 400;
  gap: 8px;
  min-height: 40px;
  padding: 6px 10px;
  text-align: left;
  width: 100%;
}

.country-select__trigger:hover {
  background: var(--white);
  border-color: var(--line-strong);
  color: var(--charcoal);
}

.country-select__trigger:focus {
  background: var(--white);
  border-color: var(--navy);
  color: var(--charcoal);
  outline: 2px solid rgba(0, 31, 58, 0.15);
  outline-offset: 1px;
}

.country-select__flag {
  flex-shrink: 0;
  height: 16px;
  width: 22px;
}

.country-select__label {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.country-select__chevron {
  color: var(--slate);
  flex-shrink: 0;
  height: 16px;
  width: 16px;
}

.country-select__dropdown {
  background: var(--white);
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  box-shadow: var(--shadow-md);
  display: none;
  overflow-y: auto;
  position: fixed;
  z-index: 9999;
}

.country-select__search {
  border: none;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  font-size: 14px;
  min-height: auto;
  padding: 8px 10px;
  position: sticky;
  top: 0;
  width: 100%;
}

.country-select__search:focus {
  border-color: var(--line);
  outline: none;
}

.country-select__list {
  list-style: none;
  margin: 0;
  padding: 4px 0;
}

.country-select__option {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 8px;
  padding: 7px 10px;
}

.country-select__option:hover,
.country-select__option[aria-selected="true"] {
  background: var(--off-white);
}

.country-select__option[aria-selected="true"] {
  font-weight: 600;
}

.country-select__empty {
  color: var(--muted);
  font-size: 14px;
  padding: 10px;
  text-align: center;
}

/* ── AEO Shared Report Shell ─────────────────────────────────────────── */
.report-shell {
  max-width: 780px;
  margin: 0 auto;
  padding: 40px 24px 60px;
}

.report-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 32px;
}

.report-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.report-logo {
  height: 32px;
  width: auto;
}

.report-type {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--slate);
  padding: 3px 10px;
  background: var(--off-white);
  border-radius: 4px;
}

.report-hero {
  text-align: center;
  padding: 32px 0 40px;
}

.report-hero h1 {
  font-size: 28px;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 8px;
}

.report-summary {
  max-width: 600px;
  margin: 12px auto 8px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--slate);
}

.report-section {
  padding: 32px 0;
  border-top: 1px solid var(--line);
}

.report-section h2 {
  font-size: 20px;
  font-weight: 700;
  color: var(--charcoal);
  margin: 0 0 8px;
}

.report-section h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--charcoal);
  margin: 24px 0 8px;
}

.report-footer {
  padding-top: 24px;
  border-top: 1px solid var(--line);
  text-align: center;
}

.report-footer p {
  margin: 4px 0;
}

/* ── Audit Grid ─────────────────────────────────────────────────────── */
.audit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.audit-item {
  padding: 16px;
  background: var(--off-white);
  border-radius: 8px;
}

.audit-label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--slate);
  margin-bottom: 4px;
}

.audit-value {
  font-size: 14px;
  color: var(--charcoal);
  font-weight: 500;
}

.audit-item--full {
  grid-column: 1 / -1;
}

.bp-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}

.bp-tag {
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  color: var(--charcoal);
  background: var(--white, #fff);
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 4px;
  padding: 2px 8px;
  line-height: 1.6;
}

.bp-tag--diff {
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #166534;
}

.bp-gaps-list {
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  columns: 2;
  gap: 12px;
}

.bp-gaps-list li {
  font-size: 13px;
  color: var(--charcoal);
  padding: 3px 0 3px 14px;
  position: relative;
  break-inside: avoid;
}

.bp-gaps-list li::before {
  content: "·";
  position: absolute;
  left: 4px;
  color: var(--danger, #ef4444);
  font-weight: 700;
}

@media (max-width: 600px) {
  .audit-grid { grid-template-columns: 1fr; }
  .bp-gaps-list { columns: 1; }
}

/* ── Technical Signals ──────────────────────────────────────────────── */
.tech-checks {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.tech-check {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: var(--off-white);
  border-radius: 6px;
  font-size: 13px;
}

.tech-check__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
}

.tech-check__icon--pass { background: #f0fdf4; color: #16a34a; }
.tech-check__icon--fail { background: #fef2f2; color: #dc2626; }
.tech-check__icon--warn { background: #fefce8; color: #ca8a04; }

.tech-check__label { font-weight: 600; color: var(--charcoal); }
.tech-check__sub { font-size: 11px; color: var(--slate); margin-top: 1px; }

/* ── Recommendation List ────────────────────────────────────────────── */
.rec-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.rec-item {
  padding: 16px 20px;
  background: var(--off-white);
  border-radius: 8px;
}

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

.rec-header strong {
  font-size: 15px;
  color: var(--charcoal);
}

.rec-item p {
  margin: 0;
  font-size: 14px;
  color: var(--slate);
}

.rec-badges {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.rec-impact,
.rec-effort {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 2px 8px;
  border-radius: 10px;
  white-space: nowrap;
}

.rec-impact--high { background: rgba(220, 38, 38, 0.10); color: #dc2626; }
.rec-impact--medium { background: rgba(242, 163, 15, 0.12); color: #b87a0b; }
.rec-impact--low { background: rgba(14, 165, 169, 0.12); color: #0b8a8e; }

.rec-effort--low { background: rgba(22, 163, 74, 0.10); color: #15803d; }
.rec-effort--medium { background: rgba(242, 163, 15, 0.12); color: #b87a0b; }
.rec-effort--high { background: rgba(220, 38, 38, 0.10); color: #dc2626; }

.aeo-row-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

@media (max-width: 600px) {
  .report-shell { padding: 24px 16px 40px; }
  .report-hero h1 { font-size: 22px; }
  .report-hero { padding: 20px 0 28px; }
}

/* Test goal outcome block — sits between report header and metrics */
.test-goal-result {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0 0 20px;
  padding: 12px 16px;
}

.test-goal-result__label {
  color: var(--slate);
  font-size: 13px;
  flex: 1 1 auto;
}

.test-goal-result__verdict {
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  padding: 3px 10px;
}

.test-goal-result__close {
  all: unset;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  min-height: 0;
  padding: 0;
  color: var(--slate);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}

.test-goal-result__close:hover {
  background: transparent;
  border: none;
  box-shadow: none;
  transform: none;
  color: var(--charcoal);
}

.test-goal-result__headline {
  color: var(--charcoal);
  flex-basis: 100%;
  font-size: 13px;
}

.test-goal-result--pass {
  background: #edf8f0;
  border-color: #cfe8d6;
}
.test-goal-result--pass .test-goal-result__verdict {
  background: #cfe8d6;
  color: var(--success);
}

.test-goal-result--partial {
  background: #fffbf0;
  border-color: #f5d87a;
}
.test-goal-result--partial .test-goal-result__verdict {
  background: #fef3cd;
  color: #856404;
}

.test-goal-result--fail {
  background: #fff1f1;
  border-color: #f5c2c0;
}
.test-goal-result--fail .test-goal-result__verdict {
  background: #f5c2c0;
  color: var(--danger);
}
