/*
  One stylesheet for both languages.

  Every inline direction is expressed with a logical property — margin-inline, padding-inline,
  border-inline-start, text-align: start — so switching the document to dir="rtl" mirrors the whole
  interface without a second sheet to keep in step. A physical "left" anywhere in this file is a bug
  waiting for an Arabic user to find.
*/

:root {
  color-scheme: light;

  --brand: #087eaf;
  --brand-hover: #066b96;
  --brand-dark: #073b68;
  --brand-soft: #e7f6fb;

  --positive: #067647;
  --positive-container: #ecfdf3;
  --negative: #b42318;
  --negative-container: #fef3f2;
  --negative-border: #f5c7c2;
  --caution: #8a4b0f;
  --caution-container: #fffaeb;
  --info: #175cd3;
  --info-container: #eff8ff;

  --ink: #1f2937;
  --ink-strong: #111827;
  --ink-secondary: #3d4a5c;
  --ink-muted: #526071;
  --ink-subtle: #667085;
  --line: #e2e7ee;
  --line-strong: #c9d2de;
  --surface: #ffffff;
  --surface-raised: #ffffff;
  --surface-subtle: #f8fafc;
  --canvas: #f3f5f8;
  --evidence: #f1f4f8;
  --sidebar: #071c35;
  --sidebar-raised: #0c2a48;
  --sidebar-line: rgb(255 255 255 / 9%);
  --sidebar-ink: #f7f9fc;
  --sidebar-muted: #9da9bd;

  --radius-sm: 8px;
  --radius: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --shadow-xs: 0 1px 2px rgb(16 24 40 / 3%);
  --shadow-sm: 0 6px 18px rgb(16 24 40 / 7%);
  --shadow-lg: 0 20px 48px rgb(16 24 40 / 14%);

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;

  --font: Inter, "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --sidebar-width: 15.75rem;
  --content-max: 90rem;
  --topbar-height: 4.5rem;
  --transition-fast: 120ms cubic-bezier(0.2, 0, 0, 1);
  --transition: 200ms cubic-bezier(0.2, 0, 0, 1);
  --transition-emphasis: 320ms cubic-bezier(0.2, 0, 0, 1);
}

/* Growth OS ------------------------------------------------------------------------- */

.growth-stack,
.strategy-workspace,
.approval-list,
.weekly-report {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
}

.growth-layout,
.business-dna-layout,
.weekly-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(17rem, 0.62fr);
  gap: var(--space-5);
}

.growth-stack,
.growth-sidebar,
.weekly-report,
.weekly-history {
  min-inline-size: 0;
  align-items: start;
}

.growth-sidebar,
.weekly-history {
  position: sticky;
  inset-block-start: calc(var(--topbar-height) + var(--space-5));
  display: grid;
  gap: var(--space-4);
}

.growth-card,
.strategy-section,
.weekly-section {
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.weekly-glance {
  margin-block-end: var(--space-5);
}

.weekly-glance__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: var(--space-4);
}

.weekly-glance__grid article {
  display: grid;
  gap: var(--space-2);
  align-content: start;
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.weekly-glance__grid article > span {
  color: var(--ink-subtle);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.weekly-glance__grid article > p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.growth-card > .section-heading,
.strategy-section > .section-heading,
.weekly-section > .section-heading {
  margin-block-end: var(--space-5);
}

.growth-card h2,
.strategy-section h2,
.weekly-section h2 {
  margin-block: var(--space-1) 0;
  font-size: 1.05rem;
}

.growth-card > p,
.strategy-section .section-heading p {
  color: var(--ink-muted);
  font-size: 0.76rem;
}

.growth-pulse,
.weekly-hero {
  padding: var(--space-5);
  margin-block-end: var(--space-5);
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--brand);
  border-radius: var(--radius);
  background: var(--surface);
}

.growth-pulse__heading,
.weekly-hero,
.section-heading,
.strategy-card__head,
.approval-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.growth-pulse__heading h2,
.weekly-hero h2 {
  margin-block: var(--space-1) 0;
  font-size: 1rem;
}

.weekly-hero {
  margin-block-end: 0;
}

.weekly-hero p {
  margin: var(--space-2) 0 0;
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.growth-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: var(--space-3);
  margin-block-start: var(--space-5);
}

.growth-kpis--weekly {
  margin-block-start: 0;
}

.metric-card {
  min-inline-size: 0;
  padding: var(--space-4);
  border: 0;
  border-block-start: 2px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.metric-card span {
  display: block;
  color: var(--ink-muted);
  font-size: 0.68rem;
  font-weight: 650;
}

.metric-card strong {
  display: block;
  margin-block-start: var(--space-2);
  font-size: clamp(1rem, 1.35vw, 1.35rem);
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
}

.metric-card--positive strong {
  color: var(--positive);
}

.metric-card--negative strong {
  color: var(--negative);
}

.source-badge {
  display: inline-flex;
  align-items: center;
  inline-size: fit-content;
  min-block-size: 1.55rem;
  padding-inline: var(--space-2);
  border-radius: var(--radius-sm);
  color: var(--ink-muted);
  background: var(--surface-subtle);
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.source-badge--observed {
  color: var(--positive);
  background: var(--positive-container);
}

.source-badge--user {
  color: var(--info);
  background: var(--info-container);
}

.source-badge--calculated {
  color: var(--brand-dark);
  background: var(--brand-soft);
}

.source-badge--assumption {
  color: var(--caution);
  background: var(--caution-container);
}

.source-badge--ai {
  color: #71520d;
  background: #fff5d8;
}

.source-badge--negative {
  color: var(--negative);
  background: var(--negative-container);
}

.insufficient-economics,
.business-health-unavailable {
  padding: var(--space-4);
  margin-block-start: var(--space-4);
  border: 1px solid #ead8b5;
  border-radius: var(--radius-sm);
  background: var(--caution-container);
}

.insufficient-economics h3,
.business-health-unavailable h3 {
  margin-block: var(--space-3) var(--space-1);
  font-size: 0.9rem;
}

.insufficient-economics p,
.business-health-unavailable p {
  color: var(--ink-muted);
  font-size: 0.75rem;
}

.financial-waterfall {
  margin: 0;
}

.financial-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding-block: var(--space-3);
  border-block-start: 1px solid var(--line);
}

.financial-line:first-child {
  border-block-start: 0;
}

.financial-line dt {
  color: var(--ink-muted);
  font-size: 0.74rem;
}

.financial-line dd {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 700;
}

.financial-line--emphasis {
  padding: var(--space-4);
  margin-block-start: var(--space-2);
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--brand-dark);
  background: var(--brand-soft);
}

.financial-line--emphasis dt,
.financial-line--emphasis dd {
  color: inherit;
  font-weight: 800;
}

.formula-note,
.classification-note,
.learning-callout {
  padding: var(--space-3);
  margin-block-start: var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.formula-note strong,
.learning-callout strong {
  font-size: 0.7rem;
}

.formula-note p,
.classification-note p,
.learning-callout p {
  margin: var(--space-1) 0 0;
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.classification-note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}

.classification-note p {
  margin: 0;
}

.growth-form,
.guided-panel {
  display: grid;
  gap: var(--space-4);
}

.guided-panel {
  padding: var(--space-5);
  margin-block-end: var(--space-5);
  border: 1px solid #c7d5e9;
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--brand-soft) 48%, var(--surface));
}

.guided-panel__head {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding-block-end: var(--space-4);
  border-block-end: 1px solid var(--line);
}

.guided-panel__step {
  inline-size: 2rem;
  block-size: 2rem;
  display: grid;
  place-items: center;
  flex: none;
  border-radius: 50%;
  color: var(--brand-dark);
  background: var(--surface);
  font-size: 0.72rem;
  font-weight: 800;
}

.guided-panel__head h2,
.guided-panel__head h3 {
  margin: 0;
  font-size: 0.95rem;
}

.guided-panel__head p {
  margin: var(--space-1) 0 0;
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.check-row {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  color: var(--ink-muted);
  font-size: 0.74rem;
  cursor: pointer;
}

.check-row input {
  margin-block-start: 0.12rem;
}

.check-row--standalone {
  align-self: end;
  min-block-size: 2.75rem;
  align-items: center;
  padding: var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.choice-group {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.choice-group legend {
  padding-inline: var(--space-2);
  font-size: 0.75rem;
  font-weight: 750;
}

.choice-group > p {
  margin: 0 0 var(--space-2);
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.choice-group__options {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.choice-group__options label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  font-size: 0.7rem;
  cursor: pointer;
}

.signal-list {
  margin: var(--space-3) 0 0;
}

.signal-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-block-start: 1px solid var(--line);
}

.signal-list dt {
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.signal-list dd {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 750;
}

.trust-list {
  display: grid;
  gap: var(--space-3);
  padding: 0;
  margin: var(--space-4) 0 0;
  list-style: none;
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.trust-list li {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.trust-note {
  color: var(--ink-muted);
  font-size: 0.68rem !important;
}

.btn--full {
  inline-size: 100%;
  justify-content: center;
}

.responsive-table {
  overflow-x: auto;
}

.responsive-table table {
  inline-size: 100%;
  border-collapse: collapse;
}

.responsive-table th,
.responsive-table td {
  padding: var(--space-3);
  border-block-end: 1px solid var(--line);
  text-align: start;
  font-size: 0.72rem;
}

.responsive-table th {
  color: var(--ink-muted);
  font-size: 0.64rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.section-jump {
  display: flex;
  gap: var(--space-2);
  overflow-x: auto;
  padding-block-end: var(--space-4);
  margin-block-end: var(--space-1);
  scrollbar-width: none;
}

.section-jump a {
  padding: var(--space-2) var(--space-3);
  border: 0;
  border-block-end: 2px solid transparent;
  border-radius: 0;
  color: var(--ink-muted);
  background: var(--surface);
  font-size: 0.7rem;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}

.strategy-grid,
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.strategy-card,
.pricing-card {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.strategy-card--featured {
  border-color: #b9cbe5;
  border-inline-start: 3px solid var(--brand);
  background: var(--surface);
}

.strategy-card h3,
.pricing-card h3 {
  margin-block: var(--space-4) var(--space-2);
  font-size: 0.95rem;
}

.strategy-card > p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.74rem;
}

.strategy-card dl,
.pricing-card dl {
  margin: auto 0 0;
  padding-block-start: var(--space-4);
}

.strategy-card dl > div,
.pricing-card dl > div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.65fr) minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-2);
  border-block-start: 1px solid var(--line);
}

.strategy-card dt,
.pricing-card dt {
  color: var(--ink-muted);
  font-size: 0.66rem;
}

.strategy-card dd,
.pricing-card dd {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 650;
}

.pricing-card__price {
  margin-block: var(--space-2) var(--space-4);
  color: var(--brand-dark);
  font-size: 1.5rem;
}

.brand-test {
  background: var(--surface);
}

.business-dna-layout .profile-sections {
  margin-block-end: var(--space-4);
}

.profile-provenance {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
}

.profile-provenance time {
  color: var(--ink-muted);
  font-size: 0.68rem;
}

.field--compact {
  max-inline-size: 16rem;
  margin: 0;
}

.definition-list {
  margin: 0;
}

.definition-list > div {
  padding-block: var(--space-3);
  border-block-start: 1px solid var(--line);
}

.definition-list dt {
  color: var(--ink-muted);
  font-size: 0.68rem;
}

.definition-list dd {
  margin: var(--space-1) 0 0;
  font-size: 0.78rem;
}

.assumption-list {
  display: grid;
  gap: var(--space-3);
  margin-block-start: var(--space-4);
}

.assumption-card {
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.assumption-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.assumption-card h3 {
  margin-block: var(--space-1) 0;
  font-size: 0.9rem;
}

.assumption-card blockquote {
  padding-inline-start: var(--space-3);
  margin: var(--space-4) 0;
  border-inline-start: 3px solid var(--brand);
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.assumption-meta,
.approval-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  margin: 0;
}

.assumption-meta > div,
.approval-meta > div {
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.approval-meta {
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0;
  border-block: 1px solid var(--line);
}

.approval-meta > div {
  padding-inline: 0;
  border-radius: 0;
  background: transparent;
}

.approval-meta > div + div {
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--line);
}

.assumption-meta dt,
.approval-meta dt {
  color: var(--ink-muted);
  font-size: 0.64rem;
}

.assumption-meta dd,
.approval-meta dd {
  margin: var(--space-1) 0 0;
  font-size: 0.72rem;
  font-weight: 700;
}

.assumption-card > .actions {
  margin-block-start: var(--space-4);
}

.assumption-review,
.revision-panel .growth-form {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-4);
  margin-block-start: var(--space-4);
  border-block-start: 1px solid var(--line);
  background: var(--surface-subtle);
}

.timeline {
  display: grid;
  gap: var(--space-3);
  padding: 0;
  margin: var(--space-4) 0 0;
  list-style: none;
}

.timeline li {
  position: relative;
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--line-strong);
}

.timeline li::before {
  position: absolute;
  inset-block-start: 0.3rem;
  inset-inline-start: -0.24rem;
  inline-size: 0.45rem;
  block-size: 0.45rem;
  border-radius: 50%;
  background: var(--brand);
  content: "";
}

.timeline strong,
.timeline span,
.timeline small {
  display: block;
}

.timeline strong {
  font-size: 0.72rem;
}

.timeline span,
.timeline small {
  margin-block-start: var(--space-1);
  color: var(--ink-muted);
  font-size: 0.64rem;
}

.approval-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-block-end: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--line);
}

.approval-summary > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  background: var(--surface);
}

.approval-summary span {
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.approval-summary strong {
  font-size: 1.2rem;
}

.approval-card {
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.approval-card__head h2 {
  margin-block: var(--space-1);
  font-size: 1rem;
}

.approval-card__head p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.approval-card__body {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(14rem, 0.8fr);
  gap: var(--space-4);
  padding-block: var(--space-5);
}

.approval-card__body section {
  padding: var(--space-3) var(--space-4);
  border-inline-start: 2px solid var(--line-strong);
  border-radius: 0;
  background: transparent;
}

.approval-card__body section:first-child {
  grid-row: 1 / span 2;
  border-inline-start-color: var(--brand);
}

.approval-card__body p {
  margin-block: var(--space-2) 0;
  font-size: 0.75rem;
}

.approval-history,
.revision-panel,
.experiment-links {
  padding-block: var(--space-4);
  margin-block-start: var(--space-4);
  border-block-start: 1px solid var(--line);
}

.approval-history summary,
.revision-panel summary,
.experiment-links summary {
  color: var(--brand-dark);
  font-size: 0.72rem;
  font-weight: 750;
  cursor: pointer;
}

.approval-actions,
.approval-decision {
  padding-block-start: var(--space-4);
  margin-block-start: var(--space-4);
  border-block-start: 1px solid var(--line);
}

.approval-decision .actions {
  margin-block-start: var(--space-3);
}

.status-chip--negative {
  color: var(--negative);
  background: var(--negative-container);
}

.weekly-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.weekly-report > .weekly-section {
  padding-inline: 0;
  border: 0;
  border-block-start: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.business-dna-layout .growth-stack > .growth-card,
.growth-layout > .growth-stack > .growth-card {
  padding-inline: 0;
  border: 0;
  border-block-start: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.weekly-section--risk {
  border-inline-start: 3px solid var(--negative);
}

.weekly-section--opportunity {
  border-inline-start: 3px solid var(--positive);
}

.weekly-list {
  padding-inline-start: 1.2rem;
  margin-block: var(--space-4) 0;
  color: var(--ink-muted);
  font-size: 0.75rem;
}

.change-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}

.change-card {
  padding: var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.change-card span,
.change-card small {
  display: block;
  color: var(--ink-muted);
  font-size: 0.66rem;
}

.change-card strong {
  display: block;
  margin-block: var(--space-2);
  font-size: 1rem;
}

.change-card em {
  display: inline-block;
  margin-block-end: var(--space-2);
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 750;
}

.change-card em.positive {
  color: var(--positive);
}

.change-card em.negative {
  color: var(--negative);
}

.weekly-item-list {
  padding: 0;
  margin: var(--space-4) 0 0;
  list-style: none;
}

.weekly-item-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-block-start: 1px solid var(--line);
}

.weekly-item-list a {
  overflow: hidden;
  color: var(--ink);
  font-size: 0.75rem;
  font-weight: 650;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.weekly-item-list time {
  color: var(--ink-muted);
  font-size: 0.64rem;
}

.weekly-history__list {
  display: grid;
  gap: var(--space-2);
  margin-block-start: var(--space-4);
}

.weekly-history__item {
  display: flex;
  align-items: flex-start;
  inline-size: 100%;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: var(--ink);
  background: var(--surface);
  text-align: start;
  cursor: pointer;
}

.weekly-history__item.is-current {
  border-color: var(--brand);
  background: var(--brand-soft);
}

.weekly-history__item strong,
.weekly-history__item span {
  font-size: 0.68rem;
}

.weekly-notes {
  margin: 0;
}

.weekly-notes > div {
  padding-block: var(--space-4);
  border-block-start: 1px solid var(--line);
}

.weekly-notes dt {
  color: var(--ink-muted);
  font-size: 0.68rem;
}

.weekly-notes dd {
  margin: var(--space-2) 0 0;
  font-size: 0.76rem;
}

.weekly-empty {
  max-inline-size: 46rem;
  margin-inline: auto;
}

.today-business-health {
  margin-block-end: var(--space-6);
}

.today-business-health .growth-kpis {
  margin-block-start: 0;
}

.decision-context {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: var(--space-3);
  padding: var(--space-4);
  margin-block-start: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.decision-context > div {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.decision-context strong {
  font-size: 0.72rem;
}

.profitability-context--unavailable {
  justify-content: space-between;
}

.experiment-links > p {
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.experiment-guardrails {
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--line);
}

.experiment-guardrails strong,
.experiment-guardrails li {
  font-size: 0.7rem;
}

@media (max-width: 72rem) {
  .growth-layout,
  .business-dna-layout,
  .weekly-layout {
    grid-template-columns: 1fr;
  }

  .weekly-two-column {
    grid-template-columns: 1fr;
  }

  .growth-sidebar,
  .weekly-history {
    position: static;
  }
}

@media (max-width: 58rem) {
  .growth-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strategy-grid,
  .pricing-grid,
  .weekly-two-column {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 40rem) {
  .growth-pulse__heading,
  .weekly-hero,
  .section-heading,
  .approval-card__head,
  .profile-progress {
    align-items: stretch;
    flex-direction: column;
  }

  .growth-kpis,
  .approval-summary,
  .approval-card__body,
  .assumption-meta,
  .approval-meta,
  .change-grid {
    grid-template-columns: 1fr;
  }

  .approval-card__body section:first-child {
    grid-row: auto;
  }

  .approval-meta > div + div {
    padding-inline-start: 0;
    border-inline-start: 0;
    border-block-start: 1px solid var(--line);
  }

  .weekly-item-list li {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .weekly-item-list time {
    grid-column: 1 / -1;
  }

  .profile-provenance {
    justify-content: flex-start;
  }

  .field--compact {
    max-inline-size: none;
  }
}

/* Arabic at the same nominal size reads smaller and more cramped than Latin script, so the base
   size and line height are raised rather than leaving Arabic users with denser text. */
:root:lang(ar) {
  --font: "Noto Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif;
  font-size: 102%;
  line-height: 1.7;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 100%;
}

body {
  margin: 0;
  font-family: var(--font);
  line-height: 1.6;
  color: var(--ink);
  background: var(--canvas);
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  color: var(--ink-strong);
  line-height: 1.25;
  margin: 0 0 var(--space-3);
  text-wrap: balance;
}

h1 { font-size: clamp(1.55rem, 2vw, 1.95rem); letter-spacing: -0.025em; }
h2 { font-size: 1.15rem; letter-spacing: -0.012em; }
h3 { font-size: 1rem; }
h4 { font-size: 0.9rem; }

p { margin: 0 0 var(--space-3); }

a {
  color: var(--brand-dark);
  text-underline-offset: 2px;
}

:focus-visible {
  outline: 3px solid var(--brand);
  outline-offset: 2px;
}

h1[tabindex="-1"]:focus {
  outline: none;
}

.skip-link {
  position: absolute;
  inset-block-start: -100%;
  inset-inline-start: var(--space-3);
  z-index: 1000;
  padding: var(--space-2) var(--space-4);
  background: var(--surface);
  border-radius: var(--radius-sm);
}

.skip-link:focus {
  inset-block-start: var(--space-3);
}

/* Layout ------------------------------------------------------------------------------------- */

.app {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.app__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-3) var(--space-5);
  background: var(--surface);
  border-block-end: 1px solid var(--line);
}

.app__brand {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--ink);
  text-decoration: none;
}

.app__nav {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-inline-start: auto;
  font-size: 0.95rem;
}

.app__main {
  flex: 1;
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
  padding: var(--space-6) var(--space-5);
}

.app__footer {
  padding: var(--space-4) var(--space-5);
  border-block-start: 1px solid var(--line);
  background: var(--surface);
}

.advisor-notice {
  max-width: var(--content-max);
  margin: 0 auto;
  color: var(--ink-muted);
  font-size: 0.9rem;
}

/* Page furniture ----------------------------------------------------------------------------- */

.page-header {
  margin-block-end: var(--space-6);
}

.page-header h1 + p {
  margin-block-start: calc(var(--space-1) * -1);
}

.page-header__lead {
  color: var(--ink-muted);
  max-width: 48rem;
  font-size: 0.9rem;
}

.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: var(--space-5);
  margin-block-end: var(--space-4);
}

.card__title {
  margin-block-end: var(--space-2);
}

.stack > * + * {
  margin-block-start: var(--space-4);
}

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

.empty {
  text-align: center;
  padding: var(--space-7) var(--space-5);
  color: var(--ink-muted);
}

/* Project navigation ------------------------------------------------------------------------- */

.project-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
  margin-block-end: var(--space-5);
  border-block-end: 1px solid var(--line);
}

.project-nav a {
  padding: var(--space-2) var(--space-4);
  text-decoration: none;
  color: var(--ink-muted);
  border-block-end: 2px solid transparent;
}

.project-nav a[aria-current="page"] {
  color: var(--brand-dark);
  border-block-end-color: var(--brand);
  font-weight: 600;
}

/* Forms -------------------------------------------------------------------------------------- */

.field {
  display: block;
  margin-block-end: var(--space-4);
}

.field__label {
  display: block;
  font-weight: 600;
  margin-block-end: var(--space-1);
  font-size: 0.95rem;
}

.field__hint {
  display: block;
  color: var(--ink-muted);
  font-size: 0.85rem;
  margin-block-end: var(--space-1);
}

input:not([type]),
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="file"],
select,
textarea {
  width: 100%;
  font: inherit;
  color: inherit;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  text-align: start;
  min-block-size: 2.75rem;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

input:not([type]):focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="file"]:focus,
select:focus,
textarea:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgb(49 87 164 / 14%);
  outline: none;
}

textarea {
  min-height: 6rem;
  resize: vertical;
}

.field__error {
  display: block;
  color: var(--negative);
  font-size: 0.9rem;
  margin-block-start: var(--space-1);
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
  margin-block-start: var(--space-4);
}

.btn {
  font: inherit;
  font-weight: 600;
  min-block-size: 2.75rem;
  padding: 0.625rem var(--space-5);
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  transition:
    background var(--transition-fast),
    border-color var(--transition-fast),
    color var(--transition-fast),
    transform var(--transition-fast);
}

.btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.btn--primary {
  background: var(--brand);
  color: #fff;
}

.btn--primary:hover:not(:disabled) {
  background: var(--brand-hover);
}

.btn:active:not(:disabled) {
  transform: translateY(1px);
}

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

.btn--secondary:hover:not(:disabled) {
  border-color: #9aa7b8;
  background: var(--surface-subtle);
}

.btn--quiet {
  background: transparent;
  color: var(--brand-dark);
  padding-inline: var(--space-2);
}

/* Notices ------------------------------------------------------------------------------------ */

.notice {
  border-radius: var(--radius-sm);
  padding: var(--space-3) var(--space-4);
  margin-block-end: var(--space-4);
  border-inline-start: 4px solid;
}

.notice--sticky {
  position: fixed;
  inset-block-start: calc(var(--topbar-height) + var(--space-3));
  inset-inline-end: 1rem;
  z-index: 40;
  max-inline-size: min(28rem, calc(100vw - 2rem));
  margin-block-end: 0;
  box-shadow: var(--shadow-lg);
}

.page-local-nav {
  position: sticky;
  inset-block-start: calc(var(--topbar-height) + var(--space-2));
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-3);
  padding: var(--space-2) var(--space-3);
  margin-block-end: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.customer-value-schema {
  min-inline-size: 0;
}

.customer-value-schema-list {
  overflow-wrap: normal;
}

.customer-value-schema h3,
.customer-value-schema h4 {
  color: var(--sidebar-ink);
}

.customer-value-schema-list li {
  display: block;
  min-inline-size: 0;
}

.customer-value-schema-list code {
  display: block;
  max-inline-size: 100%;
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
}

.notice__title {
  font-weight: 600;
  margin-block-end: var(--space-1);
}

.notice__body:last-child,
.notice__title:last-child {
  margin-block-end: 0;
}

.notice--info { background: var(--info-container); border-inline-start-color: var(--info); }
.notice--positive { background: var(--positive-container); border-inline-start-color: var(--positive); }
.notice--caution { background: var(--caution-container); border-inline-start-color: var(--caution); }
.notice--negative { background: var(--negative-container); border-inline-start-color: var(--negative); }

/* Badges ------------------------------------------------------------------------------------- */

.badge {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 600;
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-sm);
  line-height: 1.4;
}

.badge--positive { background: var(--positive-container); color: var(--positive); }
.badge--negative { background: var(--negative-container); color: var(--negative); }
.badge--caution { background: var(--caution-container); color: var(--caution); }
.badge--info { background: var(--info-container); color: var(--info); }
.badge--neutral { background: var(--evidence); color: var(--ink-muted); }

/* Tables and metric comparisons -------------------------------------------------------------- */

.table-scroll {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  text-align: start;
}

th, td {
  text-align: start;
  padding: var(--space-2) var(--space-3);
  border-block-end: 1px solid var(--line);
  vertical-align: top;
}

th {
  font-size: 0.85rem;
  color: var(--ink-muted);
  font-weight: 600;
}

/* Numbers are compared down a column, so they line up whichever way the text runs. Forcing the
   digits themselves to LTR keeps "1,234.56" from being reordered inside an Arabic paragraph. */
td.numeric, th.numeric {
  font-variant-numeric: tabular-nums;
  direction: ltr;
  text-align: end;
}

.delta--up { color: var(--positive); }
.delta--down { color: var(--negative); }
.delta--flat { color: var(--ink-muted); }

.grid {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
}

.definition {
  display: grid;
  grid-template-columns: minmax(8rem, auto) 1fr;
  gap: var(--space-2) var(--space-4);
  margin: 0;
}

.definition dt {
  color: var(--ink-muted);
  font-size: 0.9rem;
}

.definition dd {
  margin: 0;
}

/* Lists -------------------------------------------------------------------------------------- */

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

.plain-list > li + li {
  margin-block-start: var(--space-3);
}

.evidence {
  background: var(--evidence);
  border-radius: var(--radius-sm);
  padding: var(--space-3);
  font-size: 0.9rem;
  /* Citation on the start edge, the figure on the end edge, wrapping when narrow. */
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-2) var(--space-3);
}

.recommendation__section {
  margin-block-end: var(--space-4);
}

.recommendation__section h3 {
  color: var(--ink-muted);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-block-end: var(--space-1);
}

/* Metrics ------------------------------------------------------------------------------------ */

/*
  A figure and the sentence that makes it mean something. The note is not decoration: a break-even
  cost per purchase with no explanation of what sits above it is a number the reader cannot act on.
*/
.metrics {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  margin: 0 0 var(--space-6);
}

.metric {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: var(--space-4);
}

.metric dt {
  color: var(--ink-muted);
  font-size: 0.9rem;
  margin-block-end: var(--space-1);
}

.metric dd {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  /*
    Figures read left to right even in Arabic: the digits themselves are LTR, and letting a currency
    code beside them flip the run puts the code on the wrong side of the amount.
  */
  direction: ltr;
  text-align: start;
}

.metric__note {
  margin: var(--space-2) 0 0;
  color: var(--ink-muted);
  font-size: 0.85rem;
}

/*
  The period-over-period change under a figure.

  Colour is never the only signal: the string itself always carries an explicit sign, so a rise and
  a fall stay distinguishable to a red/green-colour-blind reader and in a printed or high-contrast
  rendering where the hue is gone entirely.
*/
/* Overrides the 1.5rem figure size, since this is a <dd> inside .metric too. */
.metric dd.metric__change {
  margin: var(--space-1) 0 0;
  font-size: 0.95rem;
  font-weight: 600;
}

.change--good {
  color: var(--positive);
}

.change--bad {
  color: var(--negative);
}

/*
  Spend and clicks. Neither direction is praised or blamed, because neither is an outcome — a rise
  in spend is whatever the user chose to spend, and colouring it green would congratulate them for
  the one number that costs money.
*/
.change--neutral {
  color: var(--ink-muted);
}

/* A row of fields that becomes a column when there is no room for one. */
.field-row {
  display: grid;
  gap: 0 var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

/* Readiness checks --------------------------------------------------------------------------- */

/*
  One question per card. There is deliberately no progress bar and no percentage: a readiness score
  invites people to optimise the number instead of fixing the blocker, and three trivial answers
  would outweigh one missing pixel. The severity mark and the blocking badge carry the meaning.
*/
.check {
  margin-block-end: var(--space-4);
}

.check__head {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.check__question {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  /* Takes the row so a following badge wraps under the question rather than squeezing it. */
  flex: 1 1 18rem;
}

.check__answer {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-block-start: var(--space-3);
}

.check__input {
  flex: 0 1 16rem;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  font: inherit;
  color: var(--ink);
  background: var(--surface);
}

.check__input:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 1px;
}

.check__input:disabled {
  background: var(--evidence);
  color: var(--ink-muted);
}

/* A currency code or percent sign belongs beside the box, not inside it where it would be typed. */
.check__suffix {
  color: var(--ink-muted);
  font-size: 0.9rem;
}

.choices {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin: var(--space-3) 0 0;
  padding: 0;
  border: 0;
}

/*
  The label is the target as well as the radio. A bare 13px radio is a hard thing to hit on a phone
  and an unfair thing to ask of anyone with a tremor.
*/
.choice {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.choice label {
  cursor: pointer;
}

.choices:disabled .choice label {
  cursor: default;
  color: var(--ink-muted);
}

/*
  Colour is never the only signal — SeverityDot always renders the severity word for screen readers,
  and shape differs too, so the marks stay distinguishable without colour vision.
*/
.severity {
  flex: none;
  inline-size: 0.75rem;
  block-size: 0.75rem;
  border-radius: 50%;
  border: 2px solid transparent;
  align-self: center;
}

.severity--pass { background: var(--positive); }
.severity--minor { background: var(--caution); }
.severity--major { background: var(--negative); }

/* A blocker is a ring, not a disc: it differs from "major" by shape as well as by shade. */
.severity--blocker {
  background: transparent;
  border-color: var(--negative);
  box-shadow: inset 0 0 0 2px var(--negative-container);
}

/* Not yet judged — an outline, so an unanswered question never looks like a pass. */
.severity--unknown {
  background: transparent;
  border-color: var(--line);
}

.readiness-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(24rem, 1fr);
  margin-block-end: var(--space-6);
  overflow: hidden;
  border: 1px solid var(--line);
  border-inline-start: 4px solid var(--line-strong);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.readiness-summary--blocked {
  border-inline-start-color: var(--negative);
}

.readiness-summary--attention {
  border-inline-start-color: var(--caution);
}

.readiness-summary--ready {
  border-inline-start-color: var(--positive);
}

.readiness-summary__state {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
}

.readiness-summary__icon {
  display: grid;
  flex: none;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  place-items: center;
  border-radius: var(--radius);
  background: var(--brand-soft);
  color: var(--brand-dark);
}

.readiness-summary__icon .icon {
  inline-size: 1.3rem;
  block-size: 1.3rem;
}

.readiness-summary__state h2 {
  margin: var(--space-1) 0;
  font-size: 1.35rem;
}

.readiness-summary__state p {
  max-inline-size: 44rem;
  margin: 0;
  color: var(--ink-secondary);
}

.readiness-summary__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border-inline-start: 1px solid var(--line);
  background: var(--surface-subtle);
}

.readiness-summary__facts > div {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-4);
  border-inline-start: 1px solid var(--line);
}

.readiness-summary__facts > div:first-child {
  border-inline-start: 0;
}

.readiness-summary__facts dt {
  color: var(--ink-muted);
  font-size: 0.72rem;
  font-weight: 650;
}

.readiness-summary__facts dd {
  margin: 0;
  color: var(--ink);
  font-size: 1.35rem;
  font-weight: 750;
}

.readiness-priority {
  margin-block-end: var(--space-6);
}

.readiness-priority .section-heading {
  align-items: flex-end;
}

.readiness-priority .section-heading p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

.readiness-worklist {
  display: grid;
  gap: var(--space-3);
}

.readiness-group {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-xs);
}

.readiness-group > summary {
  display: flex;
  min-block-size: 4.5rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) var(--space-5);
  cursor: pointer;
  list-style: none;
}

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

.readiness-group > summary strong,
.readiness-group > summary small {
  display: block;
}

.readiness-group > summary strong {
  color: var(--ink);
}

.readiness-group > summary small {
  margin-block-start: var(--space-1);
  color: var(--ink-muted);
}

.readiness-group > summary .icon {
  inline-size: 1rem;
  block-size: 1rem;
  transition: transform var(--transition);
}

[dir="rtl"] .readiness-group > summary .icon {
  transform: scaleX(-1);
}

.readiness-group[open] > summary {
  border-block-end: 1px solid var(--line);
  background: var(--surface-subtle);
}

.readiness-group[open] > summary .icon {
  transform: rotate(90deg);
}

[dir="rtl"] .readiness-group[open] > summary .icon {
  transform: scaleX(-1) rotate(90deg);
}

.readiness-check {
  padding: var(--space-5);
  border-block-start: 1px solid var(--line);
  background: var(--surface);
}

.readiness-check:first-child {
  border-block-start: 0;
}

.readiness-check--priority {
  margin-block-end: var(--space-3);
  border: 1px solid var(--negative-border);
  border-inline-start: 4px solid var(--negative);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}

.readiness-check--pass {
  background: var(--surface-subtle);
}

.readiness-check .check__head {
  align-items: flex-start;
  flex-wrap: nowrap;
}

.readiness-check .check__head > div {
  min-inline-size: 0;
}

.check__state {
  display: block;
  margin-block-end: var(--space-1);
  color: var(--ink-muted);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.readiness-check__guidance {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: var(--space-3);
  margin-block-start: var(--space-4);
}

.readiness-check__guidance > div {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.readiness-check__guidance span {
  color: var(--ink-muted);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.readiness-check__guidance p {
  margin: var(--space-1) 0 0;
  color: var(--ink-secondary);
  font-size: 0.84rem;
}

.readiness-check__guidance .readiness-check__resolution {
  background: var(--caution-container);
}

.readiness-check__resolution span {
  color: var(--caution);
}

.readiness-check .choices {
  gap: var(--space-2);
  margin-block-start: var(--space-4);
}

.readiness-check .choice {
  position: relative;
}

.readiness-check .choice input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
}

.readiness-check .choice label {
  display: grid;
  min-block-size: 2.75rem;
  padding: var(--space-2) var(--space-4);
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--ink-secondary);
  font-size: 0.85rem;
  font-weight: 650;
}

.readiness-check .choice input:checked + label {
  border-color: var(--brand);
  background: var(--brand-soft);
  color: var(--brand-dark);
}

.readiness-check .choice input:focus-visible + label {
  outline: 3px solid rgb(49 87 164 / 22%);
  outline-offset: 2px;
}

.readiness-check .choices:disabled label {
  cursor: default;
  opacity: 0.65;
}

.check__review-note {
  margin: var(--space-3) 0 0;
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.readiness-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  margin-block-start: var(--space-6);
  padding: var(--space-4) var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.readiness-footer p {
  margin: var(--space-1) 0 0;
  color: var(--ink-muted);
  font-size: 0.8rem;
}

@media (max-width: 62rem) {
  .readiness-summary {
    grid-template-columns: 1fr;
  }

  .readiness-summary__facts {
    border-block-start: 1px solid var(--line);
    border-inline-start: 0;
  }
}

@media (max-width: 40rem) {
  .readiness-summary__facts {
    grid-template-columns: 1fr;
  }

  .readiness-summary__facts > div {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    border-block-start: 1px solid var(--line);
    border-inline-start: 0;
  }

  .readiness-summary__facts > div:first-child {
    border-block-start: 0;
  }

  .readiness-check,
  .readiness-group > summary {
    padding-inline: var(--space-4);
  }

  .readiness-check__guidance {
    grid-template-columns: 1fr;
  }

  .readiness-footer {
    align-items: stretch;
    flex-direction: column;
  }
}

/* Import columns ------------------------------------------------------------------------------ */

.import-progress {
  margin-block-end: var(--space-6);
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-xs);
}

.import-progress ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.import-progress li {
  position: relative;
  display: grid;
  min-inline-size: 0;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2);
  color: var(--ink-subtle);
}

.import-progress li::after {
  position: absolute;
  z-index: 0;
  inset-block-start: 50%;
  inset-inline: calc(100% - var(--space-2)) calc(-1 * var(--space-2));
  block-size: 1px;
  background: var(--line);
  content: "";
}

.import-progress li:last-child::after {
  display: none;
}

.import-progress__number {
  z-index: 1;
  display: grid;
  inline-size: 2rem;
  block-size: 2rem;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: var(--surface);
  font-size: 0.75rem;
  font-weight: 750;
}

.import-progress li > span:last-child {
  z-index: 1;
  min-inline-size: 0;
  padding-inline-end: var(--space-2);
  background: var(--surface);
}

.import-progress strong,
.import-progress small {
  display: block;
}

.import-progress strong {
  color: inherit;
  font-size: 0.8rem;
}

.import-progress small {
  margin-block-start: 0.15rem;
  overflow: hidden;
  font-size: 0.66rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.import-progress li.is-current {
  color: var(--brand-dark);
}

.import-progress li.is-current .import-progress__number {
  border-color: var(--brand);
  background: var(--brand);
  color: #fff;
  box-shadow: 0 0 0 4px var(--brand-soft);
}

.import-progress li.is-complete {
  color: var(--positive);
}

.import-progress li.is-complete .import-progress__number {
  border-color: var(--positive);
  background: var(--positive-container);
}

.import-picker {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(18rem, 0.7fr);
  gap: var(--space-5);
  align-items: stretch;
}

.import-upload-card,
.import-unlocks {
  padding: var(--space-6);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.import-upload-card {
  display: grid;
  gap: var(--space-5);
}

.import-upload-card__icon {
  display: grid;
  inline-size: 3rem;
  block-size: 3rem;
  place-items: center;
  border-radius: var(--radius);
  background: var(--brand-soft);
  color: var(--brand-dark);
}

.import-upload-card__icon .icon {
  inline-size: 1.4rem;
  block-size: 1.4rem;
}

.import-upload-card h2,
.import-unlocks h2 {
  margin-block: var(--space-2);
}

.import-upload-card p,
.import-unlocks p {
  margin: 0;
  color: var(--ink-secondary);
}

.import-file-control {
  padding: var(--space-5);
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius);
  background: var(--surface-subtle);
}

.import-file-input {
  position: relative;
  display: flex;
  min-block-size: 3rem;
  align-items: center;
  gap: var(--space-3);
  margin-block-start: var(--space-2);
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

.import-file-input input[type="file"] {
  position: absolute;
  z-index: 2;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.import-file-input .btn {
  flex: none;
  pointer-events: none;
}

.import-file-input:focus-within {
  outline: 3px solid rgb(49 87 164 / 22%);
  border-radius: var(--radius-sm);
  outline-offset: 3px;
}

.import-file-input:has(input:disabled) {
  opacity: 0.65;
}

.import-file-control small {
  display: block;
  margin-block-start: var(--space-3);
  color: var(--ink-muted);
  font-size: 0.75rem;
}

.import-uploading {
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--info-container);
  color: var(--info);
  font-size: 0.85rem;
}

.import-unlocks {
  background: var(--sidebar-raised);
  color: var(--sidebar-ink);
}

.import-unlocks .eyebrow {
  color: #b9c5ff;
}

.import-unlocks h2 {
  color: var(--sidebar-ink);
}

.import-unlocks ul {
  display: grid;
  gap: var(--space-4);
  margin-block: var(--space-5);
}

.import-unlocks li,
.import-unlocks > p {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
}

.import-unlocks li {
  color: var(--sidebar-ink);
  font-size: 0.86rem;
  font-weight: 650;
}

.import-unlocks .icon {
  inline-size: 1.1rem;
  block-size: 1.1rem;
  color: #b9c5ff;
}

.import-unlocks > p {
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--sidebar-line);
  color: var(--sidebar-muted);
  font-size: 0.76rem;
}

.import-review__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
}

.import-review__header h2 {
  margin-block: var(--space-1);
}

.import-review__header p {
  margin: 0;
  color: var(--ink-secondary);
}

.import-review__header dl {
  display: flex;
  gap: var(--space-5);
  margin: 0;
}

.import-review__header dl > div {
  min-inline-size: 5rem;
}

.import-review__header dt {
  color: var(--ink-muted);
  font-size: 0.68rem;
  font-weight: 650;
}

.import-review__header dd {
  margin: var(--space-1) 0 0;
  color: var(--ink);
  font-size: 1.2rem;
  font-weight: 750;
}

.import-mapping-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(19rem, 0.65fr);
  gap: var(--space-5);
  align-items: start;
}

.import-column-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.column {
  min-inline-size: 0;
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-xs);
}

.column__head {
  display: flex;
  min-block-size: 3rem;
  align-items: flex-start;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-block-end: var(--space-3);
}

/* The user's own header, in whatever script their export used. dir=auto is set in the markup. */
.column__header {
  font-size: 1rem;
}

.column__sample {
  flex: 1 1 9rem;
  color: var(--ink-muted);
  font-size: 0.72rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.column__sample > span {
  color: var(--ink-subtle);
  font-weight: 650;
}

.column .field {
  margin-block-end: 0;
}

.import-unmapped {
  margin-block-start: var(--space-4);
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-subtle);
}

.import-unmapped h3 {
  margin: 0;
  font-size: 0.9rem;
}

.import-unmapped p {
  margin: var(--space-1) 0 var(--space-3);
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.import-unmapped ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.import-unmapped li {
  padding: var(--space-1) var(--space-2);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  font-size: 0.75rem;
}

.import-validation {
  position: sticky;
  inset-block-start: calc(var(--topbar-height) + var(--space-4));
  display: grid;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.import-validation h3 {
  margin-block: var(--space-1);
}

.import-validation > div:first-child p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.8rem;
}

.import-validation__checks {
  display: grid;
  gap: var(--space-2);
  padding-block: var(--space-3);
  border-block: 1px solid var(--line);
}

.import-validation__checks li {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: var(--space-2);
  color: var(--ink-secondary);
  font-size: 0.78rem;
}

.import-validation__checks li > span {
  color: var(--ink-subtle);
  font-weight: 750;
}

.import-validation__checks li.is-ready,
.import-validation__checks li.is-ready > span {
  color: var(--positive);
}

.import-validation .field--check {
  margin: 0;
}

.import-validation__warning {
  margin: 0;
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--caution-container);
  color: var(--caution);
  font-size: 0.76rem;
}

.import-validation__actions {
  display: grid;
  gap: var(--space-2);
}

.import-validation__boundary {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: var(--space-2);
  margin: 0;
  padding-block-start: var(--space-3);
  border-block-start: 1px solid var(--line);
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.import-validation__boundary .icon {
  inline-size: 0.95rem;
  block-size: 0.95rem;
}

.import-outcome__hero {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--line);
  border-inline-start: 4px solid var(--positive);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.import-outcome__hero.is-partial {
  border-inline-start-color: var(--caution);
}

.import-outcome__icon {
  display: grid;
  flex: none;
  inline-size: 3rem;
  block-size: 3rem;
  place-items: center;
  border-radius: 50%;
  background: var(--positive-container);
  color: var(--positive);
}

.import-outcome__hero.is-partial .import-outcome__icon {
  background: var(--caution-container);
  color: var(--caution);
}

.import-outcome__icon .icon {
  inline-size: 1.35rem;
  block-size: 1.35rem;
}

.import-outcome__hero h2 {
  margin-block: var(--space-1);
}

.import-outcome__hero p {
  margin: 0;
  color: var(--ink-secondary);
}

.import-outcome__facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.import-outcome__facts > div {
  padding: var(--space-4);
  border-inline-start: 1px solid var(--line);
}

.import-outcome__facts > div:first-child {
  border-inline-start: 0;
}

.import-outcome__facts dt {
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.import-outcome__facts dd {
  margin: var(--space-1) 0 0;
  color: var(--ink);
  font-size: 1.35rem;
  font-weight: 750;
}

.import-outcome__period {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

.import-outcome__period .icon {
  inline-size: 1rem;
  block-size: 1rem;
}

.import-errors {
  padding: var(--space-5);
  border: 1px solid var(--negative-border);
  border-radius: var(--radius);
  background: var(--negative-container);
}

.import-errors h2 {
  margin-block-start: 0;
}

.import-next-step {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
}

.import-next-step h2 {
  margin-block: var(--space-1);
}

.import-next-step p {
  max-inline-size: 42rem;
  margin: 0;
  color: var(--ink-muted);
}

@media (max-width: 68rem) {
  .import-picker,
  .import-mapping-layout {
    grid-template-columns: 1fr;
  }

  .import-validation {
    position: static;
  }

  .import-review__header {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 48rem) {
  .import-progress ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .import-progress li:nth-child(2)::after {
    display: none;
  }

  .import-column-grid,
  .import-outcome__facts {
    grid-template-columns: 1fr 1fr;
  }

  .import-outcome__facts > div:nth-child(3) {
    border-inline-start: 0;
    border-block-start: 1px solid var(--line);
  }

  .import-outcome__facts > div:nth-child(4) {
    border-block-start: 1px solid var(--line);
  }

  .import-next-step {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 34rem) {
  .import-progress ol,
  .import-column-grid,
  .import-outcome__facts {
    grid-template-columns: 1fr;
  }

  .import-progress li::after {
    display: none;
  }

  .import-outcome__facts > div {
    border-block-start: 1px solid var(--line);
    border-inline-start: 0;
  }

  .import-outcome__facts > div:first-child {
    border-block-start: 0;
  }

  .import-upload-card,
  .import-unlocks {
    padding: var(--space-5);
  }
}

/* A checkbox belongs beside its label, not above it. */
.field--check {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-block-end: var(--space-4);
}

.field--check input[type="checkbox"] {
  inline-size: auto;
  margin: 0;
}

.field--check label {
  cursor: pointer;
}

/* Only ever applied to a heading whose own text carries the same meaning. */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* --- tasks ------------------------------------------------------------------------------------ */

.task-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block-end: var(--space-5);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.task-summary > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  border-inline-start: 1px solid var(--line);
}

.task-summary > div:first-child {
  border-inline-start: 0;
}

.task-summary span {
  color: var(--ink-secondary);
  font-size: 0.8rem;
  font-weight: 650;
}

.task-summary strong {
  color: var(--ink);
  font-size: 1.5rem;
  line-height: 1;
}

.task-detail {
  display: grid;
  gap: var(--space-4);
  margin-block-end: var(--space-5);
}

.task-detail .section-heading {
  margin-block-end: 0;
}

.task-detail__back {
  color: var(--brand-dark);
  font-weight: 650;
}

.task-compose {
  margin-block-end: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-lg);
  background: var(--brand-soft);
  box-shadow: var(--shadow-sm);
}

.task-compose > div:first-child p {
  margin-block: var(--space-1) 0;
  color: var(--ink-secondary);
}

.task-board {
  display: grid;
  gap: var(--space-5);
}

.task-board__group {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.task-board__group--overdue {
  border-block-start: 3px solid var(--negative);
}

.task-board__group--today {
  border-block-start: 3px solid var(--brand);
}

.task-board__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-5);
  border-block-end: 1px solid var(--line);
  background: var(--surface-subtle);
}

.task-board__heading h2 {
  margin: 0;
  font-size: 1rem;
}

.task-board__heading p {
  margin: var(--space-1) 0 0;
  color: var(--ink-secondary);
  font-size: 0.8rem;
}

.task-board__heading > span {
  display: grid;
  min-inline-size: 1.9rem;
  block-size: 1.9rem;
  padding-inline: var(--space-2);
  place-items: center;
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--ink-secondary);
  font-size: 0.75rem;
  font-weight: 750;
}

.task-board__empty {
  margin: 0;
  padding: var(--space-5);
  color: var(--ink-muted);
  font-size: 0.875rem;
}

.task-list {
  margin: 0;
  padding: 0;
}

.task {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  border-block-start: 1px solid var(--line);
}

.task:first-child {
  border-block-start: 0;
}

.task__check {
  display: grid;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  place-items: center;
  margin-block-start: calc(var(--space-1) * -1);
}

.task__check input[type="checkbox"] {
  inline-size: 1.25rem;
  block-size: 1.25rem;
  min-inline-size: 1.25rem;
  min-block-size: 1.25rem;
  margin: 0;
  accent-color: var(--brand);
  cursor: pointer;
}

.task__body {
  min-inline-size: 0;
}

.task__title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.task__title {
  margin: 0;
  color: var(--ink);
  font-weight: 700;
}

.task__description {
  max-inline-size: 52rem;
  margin: var(--space-2) 0 0;
  color: var(--ink-secondary);
  font-size: 0.875rem;
}

/* Struck through *and* dimmed *and* unticked. Strike-through alone disappears at small sizes and is
   invisible to anyone who cannot see it at all, which is why the checkbox carries the real state. */
.task--done .task__title {
  text-decoration: line-through;
  color: var(--ink-muted);
  font-weight: 500;
}

.task--done {
  background: var(--surface-subtle);
}

.task__context {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-4);
  margin-block-start: var(--space-3);
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.task__source,
.task__due,
.task__owner {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  color: inherit;
}

a.task__source {
  color: var(--brand-dark);
  font-weight: 650;
  text-decoration: none;
}

a.task__source:hover {
  text-decoration: underline;
}

.task__source .icon,
.task__due .icon,
.task__owner .icon {
  inline-size: 0.95rem;
  block-size: 0.95rem;
}

.task__due time {
  font-variant-numeric: tabular-nums;
}

.task__due.is-overdue {
  color: var(--negative);
}

.task__busy {
  align-self: center;
  font-size: 0.875rem;
  white-space: nowrap;
}

@media (max-width: 48rem) {
  .task-summary {
    grid-template-columns: 1fr;
  }

  .task-summary > div {
    border-block-start: 1px solid var(--line);
    border-inline-start: 0;
  }

  .task-summary > div:first-child {
    border-block-start: 0;
  }

  .task {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    padding-inline: var(--space-4);
  }

  .task__busy {
    grid-column: 2;
  }

  .task__title-row {
    display: block;
  }

  .task__title-row .status-chip {
    margin-block-start: var(--space-2);
  }
}

@media (max-width: 40rem) {
  .app__main { padding: var(--space-4) var(--space-3); }
  .app__header { padding: var(--space-3); }
  .definition { grid-template-columns: 1fr; gap: var(--space-1); }
  .definition dd { margin-block-end: var(--space-2); }
}

/* --- settings --------------------------------------------------------------------------------- */

.language-choices {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-block-start: var(--space-3);
}

/*
  The current language is a span, not a disabled link, so nothing invites a click that would do
  nothing. aria-current carries the state for a screen reader; the border carries it for everyone
  else, because a colour change alone would not.
*/
.language-choice {
  display: inline-block;
  padding: var(--space-2) var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  text-decoration: none;
  color: var(--brand);
}

.language-choice:hover {
  border-color: var(--brand);
}

.language-choice--current {
  border-color: var(--brand);
  background: var(--info-container);
  color: var(--ink);
  font-weight: 600;
}

/* Premium product shell ---------------------------------------------------------------------- */

.icon {
  inline-size: 1.15rem;
  block-size: 1.15rem;
  flex: none;
}

.product-shell {
  min-block-size: 100vh;
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
}

.sidebar {
  position: sticky;
  inset-block-start: 0;
  block-size: 100vh;
  min-block-size: 40rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding: var(--space-4);
  color: var(--sidebar-ink);
  background: var(--sidebar);
  border-inline-end: 1px solid var(--sidebar-line);
  scrollbar-width: thin;
}

.brand-lockup {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: inherit;
  text-decoration: none;
  min-inline-size: 0;
}

.sidebar > .brand-lockup {
  padding: var(--space-2) var(--space-2) var(--space-5);
}

.brand-mark {
  display: inline-grid;
  place-items: center;
  inline-size: 2.25rem;
  block-size: 2.25rem;
  flex: none;
  border-radius: var(--radius-sm);
  color: #fff;
  background: var(--brand);
  font-weight: 800;
  letter-spacing: -0.04em;
}

.brand-copy {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  line-height: 1.25;
}

.brand-copy strong {
  color: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.95rem;
}

.brand-copy small {
  color: var(--sidebar-muted);
  font-size: 0.72rem;
  margin-block-start: 0.15rem;
}

.brand-lockup--light {
  color: var(--ink-strong);
}

.brand-lockup--light .brand-copy small {
  color: var(--ink-muted);
}

.sidebar-context {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: var(--space-3);
  margin-block-end: var(--space-5);
  border: 1px solid var(--sidebar-line);
  border-radius: var(--radius-sm);
  background: rgb(255 255 255 / 3%);
  min-inline-size: 0;
}

.sidebar-context__label {
  color: var(--sidebar-muted);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sidebar-context strong,
.sidebar-context > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-context strong {
  color: var(--sidebar-ink);
  font-size: 0.9rem;
}

.sidebar-context > span:last-child {
  color: var(--sidebar-muted);
  font-size: 0.76rem;
}

.side-nav {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-4);
}

.side-nav__group {
  display: grid;
  gap: 0.2rem;
  margin: 0;
}

.side-nav__group--utility {
  margin-block-start: auto;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--sidebar-line);
}

.side-nav__label {
  margin: 0;
  padding: 0 var(--space-3) var(--space-1);
  color: var(--sidebar-muted);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.side-nav__link {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-block-size: 2.5rem;
  padding: 0.55rem var(--space-3);
  border: 0;
  border-inline-start: 2px solid transparent;
  border-radius: var(--radius-sm);
  color: #cbd3e1;
  text-decoration: none;
  font-size: 0.86rem;
  font-weight: 550;
  transition:
    color var(--transition-fast),
    background var(--transition-fast),
    border-color var(--transition-fast);
}

.side-nav__link:hover {
  color: #fff;
  background: rgb(255 255 255 / 5%);
}

.side-nav__link.active,
.side-nav__link[aria-current="page"] {
  color: #fff;
  background: rgb(255 255 255 / 7%);
  border-inline-start-color: #8eb1e8;
}

.side-nav__link.active .icon,
.side-nav__link[aria-current="page"] .icon {
  color: #a9c5ef;
}

.sidebar__bottom {
  display: grid;
  gap: var(--space-3);
  padding-block-start: var(--space-4);
}

.advisor-chip {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  border: 1px solid var(--sidebar-line);
  border-radius: var(--radius-sm);
  background: transparent;
}

.advisor-chip__dot {
  inline-size: 0.55rem;
  block-size: 0.55rem;
  flex: none;
  border-radius: 50%;
  background: #47c58a;
  box-shadow: 0 0 0 4px rgb(71 197 138 / 12%);
}

.advisor-chip > span:last-child {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  line-height: 1.3;
}

.advisor-chip strong {
  color: var(--sidebar-ink);
  font-size: 0.75rem;
}

.advisor-chip small {
  color: var(--sidebar-muted);
  font-size: 0.66rem;
}

.side-nav__link--admin {
  border-block-start: 1px solid var(--sidebar-line);
}

.work-area {
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
}

.context-bar {
  position: sticky;
  inset-block-start: 0;
  z-index: 50;
  min-block-size: var(--topbar-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-2) var(--space-6);
  border-block-end: 1px solid var(--line);
  background: rgb(255 255 255 / 98%);
}

.context-bar__scope,
.context-bar__actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-inline-size: 0;
}

.context-bar__actions {
  margin-inline-start: auto;
}

.context-menu,
.copilot-menu,
.mobile-navigation {
  position: relative;
}

.context-menu summary,
.copilot-menu summary,
.mobile-navigation summary {
  list-style: none;
  cursor: pointer;
}

.context-menu summary::-webkit-details-marker,
.copilot-menu summary::-webkit-details-marker,
.mobile-navigation summary::-webkit-details-marker {
  display: none;
}

.context-menu > summary {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  max-inline-size: 15rem;
  min-block-size: 2.65rem;
  padding: 0.35rem var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  transition: background var(--transition), border-color var(--transition);
}

.context-menu > summary:hover,
.context-menu[open] > summary {
  background: var(--surface-subtle);
  border-color: var(--line);
}

.context-menu > summary > span {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
}

.context-menu summary small {
  color: var(--ink-subtle);
  font-size: 0.65rem;
  line-height: 1.2;
}

.context-menu summary strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 0.82rem;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.context-menu summary .icon {
  inline-size: 0.85rem;
  block-size: 0.85rem;
  color: var(--ink-subtle);
  transition: transform var(--transition);
}

[dir="rtl"] .context-menu summary .icon {
  transform: scaleX(-1);
}

.context-menu[open] summary .icon {
  transform: rotate(90deg);
}

[dir="rtl"] .context-menu[open] summary .icon {
  transform: scaleX(-1) rotate(90deg);
}

.context-menu__panel,
.copilot-menu__panel {
  position: absolute;
  inset-block-start: calc(100% + var(--space-2));
  inset-inline-start: 0;
  z-index: 80;
  inline-size: 17rem;
  padding: var(--space-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-lg);
}

.context-menu__title {
  margin: 0;
  padding: var(--space-2) var(--space-3);
  color: var(--ink-subtle);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.context-menu__panel a {
  display: block;
  overflow: hidden;
  padding: 0.6rem var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--ink);
  font-size: 0.85rem;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.context-menu__panel a:hover,
.context-menu__panel a[aria-current="page"] {
  background: var(--surface-subtle);
}

.context-menu__panel a[aria-current="page"] {
  color: var(--brand-dark);
  font-weight: 650;
}

.context-menu__panel .context-menu__footer {
  margin-block-start: var(--space-2);
  border-block-start: 1px solid var(--line);
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  color: var(--brand-dark);
}

.copilot-menu > summary {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-block-size: 2.55rem;
  padding: 0.45rem var(--space-3);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  color: var(--brand-dark);
  background: var(--surface);
  font-size: 0.8rem;
  font-weight: 700;
}

.copilot-menu > summary:hover,
.copilot-menu[open] > summary {
  border-color: #9eb4d8;
  background: var(--brand-soft);
}

.copilot-menu__panel {
  inset-inline-start: auto;
  inset-inline-end: 0;
  inline-size: min(23rem, calc(100vw - 2rem));
  padding: var(--space-4);
}

.eyebrow {
  color: var(--brand-dark);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.copilot-menu__panel h2 {
  margin-block: var(--space-2) var(--space-3);
  font-size: 1rem;
}

.copilot-menu__panel > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3);
  border-block-start: 1px solid var(--line);
  color: var(--ink);
  font-size: 0.83rem;
  text-decoration: none;
}

.copilot-menu__panel > a:hover {
  color: var(--brand-dark);
  background: var(--surface-subtle);
}

.copilot-menu__panel > a .icon {
  inline-size: 0.85rem;
  block-size: 0.85rem;
}

[dir="rtl"] .copilot-menu__panel > a .icon {
  transform: scaleX(-1);
}

.copilot-menu__panel > p {
  margin: var(--space-3) 0 0;
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--ink-muted);
  background: var(--surface-subtle);
  font-size: 0.74rem;
}

.copilot-menu__primary {
  border-block-end: 1px solid var(--border-subtle);
  font-weight: 700;
}

.copilot-page {
  display: grid;
  gap: var(--space-5);
  max-width: 60rem;
}

.copilot-context-strip {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3) var(--space-4);
  background: var(--info-container);
  border-radius: var(--radius-md);
}

.copilot-prompts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.copilot-answer {
  display: grid;
  gap: var(--space-3);
}

.module-copilot {
  margin: var(--space-4) 0;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--surface-subtle);
}

.module-copilot > summary {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  cursor: pointer;
  font-weight: 700;
}

.module-copilot > summary small {
  margin-inline-start: auto;
  color: var(--ink-muted);
  font-weight: 400;
}

.module-copilot__spark {
  color: var(--brand);
  font-size: 1.2rem;
}

.module-copilot__body {
  padding: 0 var(--space-4) var(--space-4);
}

.module-copilot__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}

.module-copilot__answer {
  margin-top: var(--space-4);
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.module-copilot__answer h4 {
  margin: var(--space-3) 0 var(--space-1);
}

@media (max-width: 42rem) {
  .copilot-prompts .btn { flex: 1 1 45%; }
  .copilot-context-strip { align-items: flex-start; flex-direction: column; gap: var(--space-1); }
  .module-copilot > summary { align-items: flex-start; flex-wrap: wrap; }
  .module-copilot > summary small { width: 100%; margin-inline-start: 0; }
  .module-copilot__actions .btn,
  .module-copilot__answer .actions .btn { width: 100%; }
  .contextual-copilot__actions .btn,
  .contextual-copilot__answer .actions .btn { width: 100%; }
  .contextual-copilot { padding: var(--space-3); }
}

/* Contextual "Ask StrategyNerve" hook, reusable across surfaces ------------------------------ */

.contextual-copilot {
  display: grid;
  gap: var(--space-2);
  min-inline-size: 0;
  margin-block: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--surface-subtle);
}

.contextual-copilot--inline {
  margin-block: var(--space-4);
}

.contextual-copilot--card {
  margin-block: var(--space-3);
  background: var(--surface);
}

.contextual-copilot__head {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--ink-muted);
  font-size: 0.85rem;
  font-weight: 700;
}

.contextual-copilot__spark {
  color: var(--brand);
  font-size: 1.05rem;
}

.contextual-copilot__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.contextual-copilot__action {
  font-weight: 600;
}

.contextual-copilot__freetext summary {
  cursor: pointer;
  color: var(--ink-muted);
  font-size: 0.8rem;
}

.contextual-copilot__answer {
  display: grid;
  gap: var(--space-1);
  min-inline-size: 0;
  margin-top: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  background: var(--surface);
  overflow-wrap: anywhere;
}

.contextual-copilot__answer h4 {
  margin: var(--space-3) 0 var(--space-1);
}

.language-switch {
  min-block-size: 2.5rem;
  display: inline-flex;
  align-items: center;
  padding-inline: var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--ink-muted);
  font-size: 0.8rem;
  font-weight: 650;
  text-decoration: none;
}

.language-switch:hover {
  color: var(--brand-dark);
  background: var(--surface-subtle);
}

.account-avatar {
  inline-size: 2.25rem;
  block-size: 2.25rem;
  display: inline-grid;
  place-items: center;
  border: 1px solid #c7d5e9;
  border-radius: 50%;
  color: var(--brand-dark);
  background: var(--brand-soft);
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none;
}

.work-area__main {
  flex: 1;
  inline-size: 100%;
  max-inline-size: var(--content-max);
  margin-inline: auto;
  padding: var(--space-6) clamp(var(--space-5), 3vw, var(--space-7));
}

.work-area__footer {
  padding: var(--space-4) clamp(var(--space-5), 4vw, var(--space-7));
  border-block-start: 1px solid var(--line);
  background: var(--surface);
}

.mobile-navigation {
  display: none;
}

/* Public and admin shells -------------------------------------------------------------------- */

.public-shell {
  min-block-size: 100vh;
  background: var(--canvas);
}

.public-shell__bar,
.admin-shell__bar {
  min-block-size: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) clamp(var(--space-4), 5vw, var(--space-7));
  border-block-end: 1px solid var(--line);
  background: var(--surface);
}

.public-shell__main {
  width: min(100% - 2rem, 34rem);
  margin-inline: auto;
  padding-block: clamp(var(--space-6), 8vh, 6rem);
}

.public-shell__main--landing {
  width: 100%;
  max-width: none;
  padding: 0;
}

.language-switch--light {
  border: 1px solid var(--line);
  background: var(--surface);
}

.admin-shell {
  min-block-size: 100vh;
}

.admin-shell__bar {
  color: #fff;
  border-color: var(--sidebar-line);
  background: var(--sidebar);
}

.admin-shell__bar .brand-copy small {
  color: var(--sidebar-muted);
}

.admin-shell__actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.admin-shell__actions a {
  color: #d8deea;
  font-size: 0.85rem;
}

.admin-shell__nav {
  position: sticky;
  inset-block-start: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  gap: var(--space-1);
  overflow-x: auto;
  padding-inline: clamp(var(--space-4), 5vw, var(--space-7));
  border-block-end: 1px solid var(--line);
  background: rgb(255 255 255 / 98%);
  scrollbar-width: thin;
}

.admin-shell__nav a {
  min-block-size: 3rem;
  display: inline-flex;
  align-items: center;
  flex: none;
  padding-inline: var(--space-3);
  border-block-end: 2px solid transparent;
  color: var(--ink-muted);
  font-size: 0.78rem;
  font-weight: 650;
  text-decoration: none;
}

.admin-shell__nav a:hover {
  color: var(--ink);
  background: var(--surface-subtle);
}

.admin-shell__nav a[aria-current="page"] {
  color: var(--brand-dark);
  border-block-end-color: var(--brand);
}

.admin-shell__nav-divider {
  inline-size: 1px;
  block-size: 1.5rem;
  flex: none;
  margin-inline: var(--space-2);
  background: var(--line);
}

.admin-shell__main {
  max-inline-size: 100rem;
  margin-inline: auto;
  padding: var(--space-6) clamp(var(--space-4), 4vw, var(--space-7));
}

/* Shell responsiveness ----------------------------------------------------------------------- */

@media (max-width: 68rem) {
  .product-shell {
    grid-template-columns: 14.5rem minmax(0, 1fr);
  }

  .context-bar {
    padding-inline: var(--space-4);
  }

  .context-menu:first-child {
    display: none;
  }

  .work-area__main {
    padding-inline: var(--space-5);
  }
}

@media (max-width: 54rem) {
  .product-shell {
    display: block;
  }

  .sidebar {
    display: none;
  }

  .mobile-navigation {
    display: block;
  }

  .mobile-navigation > summary {
    display: grid;
    place-items: center;
    inline-size: 2.5rem;
    block-size: 2.5rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--ink);
    background: var(--surface);
  }

  .mobile-navigation__panel {
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    z-index: 100;
    inline-size: min(20rem, calc(100vw - 2.5rem));
    overflow-y: auto;
    padding: var(--space-4);
    color: var(--sidebar-ink);
    background: var(--sidebar);
    box-shadow: var(--shadow-lg);
  }

  .mobile-navigation__head {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-block-end: var(--space-5);
  }

  .mobile-navigation__head strong {
    color: #fff;
  }

  .side-nav--compact .side-nav__group--utility {
    margin-block-start: var(--space-5);
  }

  .context-bar {
    min-block-size: 4rem;
  }

  .context-menu--project > summary {
    max-inline-size: 12rem;
  }

  .copilot-menu > summary span {
    display: none;
  }

  .copilot-menu > summary {
    inline-size: 2.5rem;
    justify-content: center;
    padding: 0;
  }
}

@media (max-width: 40rem) {
  .context-bar {
    padding-inline: var(--space-3);
    gap: var(--space-2);
  }

  .context-bar__scope {
    flex: 1;
  }

  .context-menu--project {
    flex: 1;
    min-inline-size: 0;
  }

  .context-menu--project > summary {
    max-inline-size: none;
    inline-size: 100%;
  }

  .context-menu--project summary small {
    display: none;
  }

  .context-bar__actions {
    gap: var(--space-1);
  }

  .language-switch {
    padding-inline: var(--space-2);
    font-size: 0.74rem;
  }

  .account-avatar {
    display: none;
  }

  .work-area__main {
    padding: var(--space-5) var(--space-3);
  }

  .work-area__footer {
    padding-inline: var(--space-3);
  }

  .public-shell__bar {
    padding-inline: var(--space-3);
  }

  .public-shell__bar .brand-copy small {
    display: none;
  }

  .admin-shell__bar {
    padding-inline: var(--space-3);
  }

  .admin-shell__actions a:last-child {
    display: none;
  }

  .admin-shell__nav {
    padding-inline: var(--space-2);
  }
}

/* Today and analytics ------------------------------------------------------------------------ */

.command-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-5);
}

.command-header .eyebrow,
.section-heading .eyebrow {
  display: block;
  margin-block-end: var(--space-2);
}

.command-header__actions {
  flex: none;
  margin: 0;
}

.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-4);
  margin-block: var(--space-6) var(--space-4);
}

.section-heading h2 {
  margin: 0;
}

.section-heading > a {
  font-size: 0.82rem;
  font-weight: 650;
}

.section-heading__meta,
.analytics-context {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  color: var(--ink-muted);
  font-size: 0.8rem;
}

.today-focus {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-5);
  margin-block-end: var(--space-6);
  border: 1px solid var(--line);
  border-inline-start: 4px solid var(--brand);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.today-focus__body {
  min-inline-size: 0;
  flex: 1 1 22rem;
}

.today-focus__body h2 {
  margin: 0 0 var(--space-2);
}

.today-focus__body p {
  margin: 0;
  max-inline-size: 60ch;
  color: var(--ink-muted);
}

.today-focus__actions {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-2);
}

.today-focus__more {
  font-size: 0.82rem;
  font-weight: 650;
  text-align: center;
}

.setup-progress {
  padding: var(--space-4) var(--space-5);
  margin-block-end: var(--space-6);
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--brand);
  border-radius: var(--radius);
  background: var(--surface);
}

.setup-progress__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.setup-progress__header h2 {
  margin: 0;
  font-size: 1.05rem;
}

.setup-progress--compact {
  padding-block: var(--space-3);
  border-inline-start-color: var(--line-strong);
}

.setup-progress--compact .eyebrow {
  margin-block-end: 0;
}

.setup-progress__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  padding: var(--space-5) 0 0;
  margin: var(--space-4) 0 0;
  border-block-start: 1px solid var(--line);
  list-style: none;
  counter-reset: none;
}

.setup-progress__steps li {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-inline-size: 0;
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.setup-progress__steps li > span {
  inline-size: 1.5rem;
  block-size: 1.5rem;
  flex: none;
  display: grid;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: var(--surface);
  color: var(--ink-muted);
  font-size: 0.66rem;
  font-weight: 750;
}

.setup-progress__steps li.is-complete > span {
  border-color: #a6e2c5;
  color: var(--positive);
  background: var(--positive-container);
}

.setup-progress__steps a {
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.setup-progress__steps a:hover {
  color: var(--brand-dark);
}

.kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block-end: var(--space-6);
}

.kpi-grid--analytics {
  grid-template-columns: repeat(4, minmax(10rem, 1fr));
}

.kpi-card {
  min-inline-size: 0;
  min-block-size: 8.25rem;
  display: flex;
  flex-direction: column;
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.kpi-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  color: var(--ink-muted);
  font-size: 0.77rem;
}

.kpi-card__dot {
  inline-size: 0.4rem;
  block-size: 0.4rem;
  border-radius: 50%;
  background: var(--brand);
  opacity: 0.65;
}

.kpi-card > strong {
  display: block;
  margin-block: var(--space-3) auto;
  color: var(--ink-strong);
  font-size: clamp(1.4rem, 2vw, 1.85rem);
  font-variant-numeric: tabular-nums;
  font-weight: 720;
  letter-spacing: -0.025em;
  line-height: 1.12;
  overflow-wrap: anywhere;
  white-space: normal;
}

.kpi-card__change {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-2);
  font-size: 0.75rem;
  font-weight: 650;
}

.kpi-card__change small {
  color: var(--ink-subtle);
  font-size: 0.68rem;
  font-weight: 500;
}

.command-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(19rem, 0.8fr);
  gap: var(--space-5);
  align-items: start;
}

.command-panel {
  min-inline-size: 0;
  padding: 0 var(--space-5) var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.command-panel > .section-heading {
  margin-block-start: var(--space-5);
}

.priority-list {
  display: grid;
  gap: var(--space-3);
  padding: 0;
  margin: 0;
  list-style: none;
}

.priority-item {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-3);
  padding: var(--space-4) 0;
  border: 0;
  border-block-start: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.priority-item:first-child {
  padding-block-start: 0;
  border-block-start: 0;
}

.priority-item__marker {
  inline-size: 2rem;
  block-size: 2rem;
  display: grid;
  place-items: center;
  border-radius: 0.65rem;
  color: var(--info);
  background: var(--info-container);
  font-size: 0.9rem;
  font-weight: 800;
}

.priority-item--critical .priority-item__marker {
  color: var(--negative);
  background: var(--negative-container);
}

.priority-item--warning .priority-item__marker {
  color: var(--caution);
  background: var(--caution-container);
}

.priority-item--setup .priority-item__marker {
  color: var(--brand-dark);
  background: var(--brand-soft);
}

.priority-item__kind {
  display: block;
  margin-block-end: var(--space-1);
  color: var(--ink-subtle);
  font-size: 0.65rem;
  font-weight: 750;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.priority-item h3 {
  margin-block-end: var(--space-2);
  font-size: 0.92rem;
}

.priority-item p {
  margin-block-end: var(--space-2);
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.priority-item a {
  font-size: 0.76rem;
  font-weight: 700;
}

.priority-item__evidence {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.priority-item__evidence .badge {
  font-size: 0.67rem;
}

.today-task-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.today-task-list li {
  display: grid;
  grid-template-columns: 0.75rem minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-block-start: 1px solid var(--line);
}

.today-task-list li:first-child {
  border-block-start: 0;
}

.today-task-list__status {
  inline-size: 0.6rem;
  block-size: 0.6rem;
  margin-block-start: 0.35rem;
  border: 2px solid var(--brand);
  border-radius: 50%;
}

.today-task-list__status.is-overdue {
  border-color: var(--negative);
  background: var(--negative-container);
}

.today-task-list strong {
  display: block;
  font-size: 0.82rem;
}

.today-task-list p {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: var(--space-1) 0 0;
  color: var(--ink-subtle);
  font-size: 0.69rem;
}

.negative-text {
  color: var(--negative);
  font-weight: 650;
}

.economics-reference {
  padding: var(--space-4);
  margin-block-start: var(--space-4);
  border-radius: var(--radius);
  background: var(--surface-subtle);
}

.economics-reference > span {
  display: block;
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.economics-reference > strong {
  display: block;
  margin-block: var(--space-1);
  font-size: 1.15rem;
}

.economics-reference p {
  margin: 0;
  color: var(--ink-subtle);
  font-size: 0.68rem;
}

.empty-state {
  display: grid;
  place-items: center;
  padding: var(--space-7) var(--space-5);
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-lg);
  background: var(--surface);
  text-align: center;
}

.empty-state h2,
.empty-state h3 {
  margin-block: var(--space-2);
}

.empty-state p {
  max-inline-size: 38rem;
  color: var(--ink-muted);
  font-size: 0.85rem;
}

.empty-state__icon {
  inline-size: 2.75rem;
  block-size: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 0.8rem;
  color: var(--brand-dark);
  background: var(--brand-soft);
}

.empty-state__icon--positive {
  color: var(--positive);
  background: var(--positive-container);
  font-weight: 800;
}

.empty-state--horizontal {
  grid-template-columns: auto minmax(0, 1fr) auto;
  justify-items: start;
  gap: var(--space-4);
  padding: var(--space-5);
  text-align: start;
}

.empty-state--horizontal h3,
.empty-state--horizontal p {
  margin: 0;
}

.empty-state--compact {
  grid-template-columns: auto minmax(0, 1fr);
  justify-items: start;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 0;
  background: var(--surface-subtle);
  text-align: start;
}

.empty-state--compact h3,
.empty-state--compact p {
  margin: 0;
}

.empty-state--feature .btn {
  margin-block-start: var(--space-3);
}

.period-switcher {
  display: inline-flex;
  padding: 0.2rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.period-switcher a {
  padding: 0.45rem var(--space-3);
  border-radius: 0.4rem;
  color: var(--ink-muted);
  font-size: 0.74rem;
  font-weight: 650;
  text-decoration: none;
}

.period-switcher a[aria-current="page"] {
  color: var(--brand-dark);
  background: var(--brand-soft);
}

.analytics-context {
  margin-block-end: var(--space-4);
}

.analytics-context > span + span::before {
  content: "·";
  margin-inline-end: var(--space-2);
}

.chart-card {
  padding: var(--space-5);
  margin-block: var(--space-5) var(--space-6);
}

.trend-chart {
  margin: 0;
}

.trend-chart figcaption {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  margin-block-end: var(--space-4);
}

.trend-chart figcaption > span:first-child {
  display: flex;
  flex-direction: column;
}

.trend-chart figcaption strong {
  font-size: 0.95rem;
}

.trend-chart figcaption small {
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.trend-chart__legend {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.trend-chart__legend i {
  inline-size: 0.75rem;
  block-size: 0.18rem;
  border-radius: 2px;
  background: var(--brand);
}

.trend-chart svg {
  display: block;
  inline-size: 100%;
  block-size: 16rem;
  overflow: visible;
}

.trend-chart__grid line {
  stroke: var(--line);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.trend-chart__area {
  fill: none;
  stroke: rgb(49 87 164 / 8%);
  stroke-width: 14;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.trend-chart__line {
  fill: none;
  stroke: var(--brand);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.trend-chart circle {
  fill: var(--surface);
  stroke: var(--brand);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.trend-chart circle:focus {
  outline: none;
  fill: var(--brand-soft);
  stroke-width: 4;
}

.trend-chart__axis {
  fill: var(--ink-subtle);
  font-family: var(--font);
  font-size: 10px;
}

.chart-empty {
  min-block-size: 14rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: var(--space-3);
  color: var(--ink-muted);
  text-align: center;
}

.chart-empty .icon {
  inline-size: 2rem;
  block-size: 2rem;
  color: var(--brand);
}

.quality-list .notice {
  margin-block-end: var(--space-2);
}

.analysis-next-step {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-5);
  margin-block-start: var(--space-6);
  border: 1px solid #c7d5e9;
  border-radius: var(--radius);
  background: var(--brand-soft);
}

.analysis-next-step h2 {
  margin-block: var(--space-2);
}

.analysis-next-step p {
  max-inline-size: 48rem;
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.82rem;
}

@media (max-width: 72rem) {
  .kpi-grid,
  .kpi-grid--analytics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .command-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 48rem) {
  .command-header,
  .section-heading,
  .setup-progress__header,
  .analysis-next-step {
    align-items: stretch;
    flex-direction: column;
  }

  .command-header__actions {
    inline-size: 100%;
  }

  .command-header__actions .btn {
    flex: 1;
  }

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

  .empty-state--horizontal {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .empty-state--horizontal .btn {
    grid-column: 1 / -1;
    inline-size: 100%;
  }
}

@media (max-width: 30rem) {
  .kpi-grid,
  .kpi-grid--analytics {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3);
  }

  .kpi-card {
    min-block-size: 7.5rem;
    padding: var(--space-3);
  }

  .kpi-card > strong {
    font-size: 1.25rem;
  }

  .setup-progress {
    padding: var(--space-4);
  }

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

  .command-panel {
    padding-inline: var(--space-3);
  }

  .priority-item {
    grid-template-columns: 1.75rem minmax(0, 1fr);
    padding: var(--space-3);
  }

  .priority-item__marker {
    inline-size: 1.75rem;
    block-size: 1.75rem;
  }

  .period-switcher {
    inline-size: 100%;
  }

  .period-switcher a {
    flex: 1;
    text-align: center;
  }

  .trend-chart svg {
    block-size: 12rem;
  }
}

/* Guided setup and business profile ----------------------------------------------------------- */

.setup-header {
  max-inline-size: 52rem;
}

.setup-overview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-5);
  margin-block-end: var(--space-5);
  border: 1px solid #c7d5e9;
  border-inline-start: 3px solid var(--brand);
  border-radius: var(--radius);
  background: var(--brand-soft);
}

.setup-overview > div {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.setup-overview__count {
  inline-size: 3.5rem;
  block-size: 3.5rem;
  display: grid;
  place-items: center;
  flex: none;
  border: 1px solid #b9cbe5;
  border-radius: 50%;
  color: var(--brand-dark);
  background: var(--surface);
  font-size: 0.9rem;
  font-weight: 800;
}

.setup-overview h2,
.setup-overview p {
  margin: 0;
}

.setup-overview h2 {
  font-size: 1rem;
}

.setup-overview p {
  margin-block-start: var(--space-1);
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.setup-no-data-note {
  max-inline-size: 66rem;
  margin: calc(-1 * var(--space-2)) 0 var(--space-4);
  color: var(--ink-muted);
  font-size: 0.82rem;
}

.setup-journey__content .status-chip {
  margin-inline-start: var(--space-2);
}

.setup-journey {
  position: relative;
  display: grid;
  gap: var(--space-3);
  max-inline-size: 66rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.setup-journey::before {
  content: "";
  position: absolute;
  inset-block: 2.25rem;
  inset-inline-start: 1.45rem;
  inline-size: 1px;
  background: var(--line);
}

.setup-journey__step {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
}

.setup-journey__number {
  position: relative;
  z-index: 1;
  inline-size: 3rem;
  block-size: 3rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--ink-muted);
  background: var(--surface);
  font-size: 0.82rem;
  font-weight: 750;
}

.setup-journey__step.is-complete .setup-journey__number {
  border-color: #a6e2c5;
  color: var(--positive);
  background: var(--positive-container);
}

.setup-journey__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  min-block-size: 6.5rem;
  padding: var(--space-5);
  border: 0;
  border-block-end: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.setup-journey__content h2 {
  margin-block: var(--space-1) var(--space-2);
  font-size: 1rem;
}

.setup-journey__content p {
  max-inline-size: 48rem;
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.8rem;
}

.setup-journey__status {
  color: var(--ink-subtle);
  font-size: 0.64rem;
  font-weight: 750;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.setup-journey__step.is-complete .setup-journey__status {
  color: var(--positive);
}

.setup-journey__content .btn {
  flex: none;
}

.setup-trust {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  max-inline-size: 52rem;
  padding: var(--space-5);
  margin-block-start: var(--space-6);
  border-radius: var(--radius);
  color: var(--ink-muted);
  background: var(--surface-subtle);
}

.setup-trust > .icon {
  inline-size: 1.5rem;
  block-size: 1.5rem;
  color: var(--brand);
}

.setup-trust h2 {
  margin-block-end: var(--space-1);
  font-size: 0.9rem;
}

.setup-trust p {
  margin: 0;
  font-size: 0.76rem;
}

.profile-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-4) var(--space-5);
  margin-block-end: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.profile-progress__summary {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.profile-progress__count {
  inline-size: 2.75rem;
  block-size: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 0.7rem;
  color: var(--brand-dark);
  background: var(--brand-soft);
  font-size: 0.76rem;
  font-weight: 800;
}

.profile-progress h2 {
  margin: var(--space-1) 0 0;
  font-size: 0.92rem;
}

.profile-progress__missing {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
  padding: 0;
  margin: 0;
  list-style: none;
}

.profile-progress__missing li {
  padding: 0.35rem var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--caution);
  background: var(--caution-container);
  font-size: 0.68rem;
  font-weight: 600;
}

.profile-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(17rem, 0.7fr);
  gap: var(--space-5);
  align-items: start;
}

.profile-sections {
  display: grid;
  gap: var(--space-3);
}

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

.profile-section > summary {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
  min-block-size: 4.75rem;
  padding: var(--space-4);
  cursor: pointer;
  list-style: none;
}

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

.profile-section[open] > summary {
  border-block-end: 1px solid var(--line);
  background: var(--surface-subtle);
}

.profile-section__number {
  inline-size: 2rem;
  block-size: 2rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--ink-muted);
  background: var(--surface);
  font-size: 0.7rem;
  font-weight: 750;
}

.profile-section summary > span:nth-child(2) {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
}

.profile-section summary strong {
  font-size: 0.9rem;
}

.profile-section summary small {
  margin-block-start: 0.15rem;
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.profile-section__state {
  padding: 0.3rem var(--space-2);
  border-radius: var(--radius-sm);
  color: var(--ink-muted);
  background: var(--evidence);
  font-size: 0.64rem;
  font-weight: 650;
}

.profile-section__body {
  padding: var(--space-5);
}

.profile-section__body .field:last-child {
  margin-block-end: 0;
}

.calculation-note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--ink-muted);
  background: var(--info-container);
}

.calculation-note .icon {
  color: var(--info);
}

.calculation-note p {
  margin: 0;
  font-size: 0.74rem;
}

.profile-insight {
  position: sticky;
  inset-block-start: calc(var(--topbar-height) + var(--space-5));
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--brand);
  border-radius: var(--radius);
  background: var(--surface);
}

.profile-insight h2 {
  margin-block: var(--space-2);
  font-size: 0.9rem;
}

.profile-insight > strong {
  display: block;
  margin-block: var(--space-3);
  font-size: 1.8rem;
}

.profile-insight > p {
  color: var(--ink-muted);
  font-size: 0.75rem;
}

.profile-insight dl {
  margin-block: var(--space-5);
}

.profile-insight dl > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-block-start: 1px solid var(--line);
}

.profile-insight dt {
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.profile-insight dd {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
}

.profile-insight .profile-insight__trust {
  margin: 0;
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
  font-size: 0.7rem;
}

.profile-savebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4);
  margin-block-start: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.profile-savebar > p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.75rem;
}

.profile-savebar .actions {
  flex: none;
  margin: 0;
}

@media (max-width: 68rem) {
  .profile-workspace {
    grid-template-columns: 1fr;
  }

  .profile-insight {
    position: static;
  }
}

@media (max-width: 48rem) {
  .setup-overview,
  .setup-journey__content,
  .profile-progress,
  .profile-savebar {
    align-items: stretch;
    flex-direction: column;
  }

  .setup-overview > div {
    align-items: flex-start;
  }

  .setup-journey__content .btn {
    inline-size: 100%;
  }

  .profile-progress__missing {
    justify-content: flex-start;
  }

  .profile-section > summary {
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .profile-section__state {
    grid-column: 2;
    justify-self: start;
  }

  .profile-savebar .actions {
    inline-size: 100%;
  }

  .profile-savebar .btn {
    flex: 1;
  }
}

@media (max-width: 30rem) {
  .setup-overview,
  .setup-journey__content,
  .setup-trust,
  .profile-section__body,
  .profile-insight {
    padding: var(--space-4);
  }

  .setup-journey__step {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .setup-journey__number {
    inline-size: 2.5rem;
    block-size: 2.5rem;
  }

  .setup-journey::before {
    inset-inline-start: 1.2rem;
  }
}

/* Decision Room ---------------------------------------------------------------------- */

.review-launch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-5);
  margin-block-end: var(--space-5);
  border: 1px solid #c7d5e9;
  border-inline-start: 3px solid var(--brand);
  border-radius: var(--radius);
  background: var(--brand-soft);
}

.review-launch > div:first-child {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.review-launch__icon {
  inline-size: 2.75rem;
  block-size: 2.75rem;
  display: grid;
  place-items: center;
  flex: none;
  border-radius: var(--radius-sm);
  color: var(--brand);
  background: var(--surface);
}

.review-launch h2 {
  margin-block: var(--space-1);
  font-size: 0.95rem;
}

.review-launch p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.review-launch__controls {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex: none;
}

.review-launch__controls select {
  inline-size: 8rem;
}

.comparison-strip {
  padding: var(--space-5);
  margin-block-end: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.comparison-strip__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  margin-block-end: var(--space-4);
}

.comparison-strip__head h2 {
  margin-block: var(--space-1);
  font-size: 1rem;
}

.comparison-strip__head p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.comparison-strip .metrics {
  margin-block-end: 0;
}

.withheld-findings {
  padding: var(--space-4);
  margin-block-end: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-subtle);
}

.withheld-findings summary {
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 700;
}

.withheld-findings > p,
.withheld-findings li p {
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.decision-queue-heading {
  margin-block: var(--space-7) var(--space-4);
}

.decision-queue-heading > span {
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.decision-list {
  display: grid;
  gap: var(--space-4);
}

.decision-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-block-start: 3px solid var(--brand);
  border-radius: var(--radius);
  background: var(--surface);
}

.decision-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-5);
  border-block-end: 1px solid var(--line);
  background: var(--surface);
}

.decision-card__header h3 {
  max-inline-size: 50rem;
  margin-block: var(--space-2) 0;
  font-size: 1.1rem;
  line-height: 1.35;
}

.decision-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  padding: var(--space-3) var(--space-5);
  border-block-end: 1px solid var(--line);
  color: var(--ink-subtle);
  background: var(--surface-subtle);
  font-size: 0.66rem;
}

.decision-card__grid {
  display: grid;
  grid-template-columns: 1fr;
  border-block-end: 1px solid var(--line);
}

.decision-block {
  min-block-size: 0;
  padding: var(--space-5);
}

.decision-block + .decision-block {
  border-inline-start: 1px solid var(--line);
}

.decision-block__label {
  color: var(--brand-dark);
  font-size: 0.64rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.decision-block > p {
  margin-block: var(--space-3) 0;
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.profitability-context {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-block-start: var(--space-4);
}

.profitability-context > span {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding: var(--space-3);
  border-radius: 0;
  color: var(--ink-muted);
  background: var(--surface-subtle);
  font-size: 0.64rem;
}

.profitability-context strong {
  color: var(--ink);
  font-size: 0.84rem;
}

.profitability-context em {
  grid-column: 1 / -1;
  color: var(--ink-muted);
  font-size: 0.66rem;
  font-style: normal;
}

.decision-evidence {
  padding: var(--space-5);
  border-block-end: 1px solid var(--line);
  background: var(--surface-subtle);
}

.decision-evidence__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-block-end: var(--space-3);
}

.decision-evidence__head h4 {
  margin-block: var(--space-1) 0;
  font-size: 0.9rem;
}

.recommendation-comparison {
  overflow: hidden;
  margin-block-end: var(--space-4);
  border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--line));
  border-radius: var(--radius-md);
  background: var(--surface);
}

.recommendation-comparison__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-block-end: 1px solid var(--line);
  background: color-mix(in srgb, var(--brand) 5%, var(--surface));
}

.recommendation-comparison__head > strong {
  font-size: 0.78rem;
}

.recommendation-comparison__head > span {
  color: var(--ink-muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.recommendation-comparison__head small {
  margin-inline-start: var(--space-1);
  font: inherit;
  font-weight: 500;
}

.recommendation-comparison dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.recommendation-comparison dl > div {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-4);
}

.recommendation-comparison dl > div + div {
  border-inline-start: 1px solid var(--line);
}

.recommendation-comparison dt {
  color: var(--ink-subtle);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.recommendation-comparison dd {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
  margin: 0;
}

.recommendation-comparison dd > strong {
  color: var(--ink);
  font-size: 0.92rem;
}

.recommendation-comparison dd > small {
  color: var(--ink-subtle);
  font-size: 0.64rem;
  text-align: end;
}

.decision-evidence__source-title {
  margin: 0;
  color: var(--ink-subtle);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.decision-evidence li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3);
  border-block-start: 1px solid var(--line);
}

.decision-evidence li > span {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  gap: var(--space-1);
}

.decision-evidence li strong {
  font-size: 0.74rem;
}

.decision-evidence li small {
  color: var(--ink-subtle);
  font-size: 0.64rem;
}

.evidence-limit {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-3);
  margin-block-start: var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--caution-container);
}

.evidence-limit > span {
  flex: none;
  color: var(--caution);
  font-size: 0.64rem;
  font-weight: 750;
  text-transform: uppercase;
}

.evidence-limit p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.recommended-action {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(14rem, 0.75fr);
  gap: var(--space-5);
  padding: var(--space-5);
  border-block-end: 1px solid var(--line);
  border-inline-start: 3px solid var(--brand);
  background: var(--brand-soft);
}

.recommended-action h4 {
  margin-block: var(--space-2) 0;
  font-size: 0.92rem;
}

.expected-signal {
  padding: var(--space-4);
  border-inline-start: 2px solid var(--info);
  border-radius: 0;
  background: var(--surface);
}

.expected-signal > span {
  color: var(--info);
  font-size: 0.64rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.expected-signal p {
  margin: var(--space-2) 0 0;
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.decision-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-5);
  background: var(--surface-subtle);
}

.decision-footer > div:first-child > p {
  margin: var(--space-1) 0 0;
  color: var(--ink-muted);
  font-size: 0.68rem;
}

.decision-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2);
}

.decision-actions .icon,
.command-header .btn .icon {
  inline-size: 1rem;
  block-size: 1rem;
}

.decision-inline-form {
  inline-size: min(100%, 32rem);
}

.decision-inline-form .field {
  margin-block-end: var(--space-2);
}

.decision-card--closed {
  padding: var(--space-4) var(--space-5);
  box-shadow: var(--shadow-xs);
}

.decision-card__closed-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.decision-card__closed-head time {
  color: var(--ink-subtle);
  font-size: 0.66rem;
}

.decision-card--closed h3 {
  margin-block: var(--space-3) var(--space-2);
  font-size: 0.9rem;
}

.decision-card--closed p {
  margin-block: 0 var(--space-2);
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.decision-card--closed > a {
  font-size: 0.7rem;
}

@media (max-width: 68rem) {
  .decision-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .decision-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

@media (max-width: 48rem) {
  .review-launch,
  .review-launch > div:first-child {
    align-items: flex-start;
  }

  .review-launch {
    flex-direction: column;
  }

  .review-launch__controls {
    inline-size: 100%;
  }

  .review-launch__controls select,
  .review-launch__controls .btn {
    flex: 1;
  }

  .decision-card__grid,
  .recommended-action {
    grid-template-columns: 1fr;
  }

  .decision-block + .decision-block {
    border-block-start: 1px solid var(--line);
    border-inline-start: 0;
  }

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

  .decision-actions .btn {
    inline-size: 100%;
  }
}

@media (max-width: 30rem) {
  .review-launch,
  .comparison-strip,
  .decision-card__header,
  .decision-block,
  .decision-evidence,
  .recommended-action,
  .decision-footer {
    padding: var(--space-4);
  }

  .review-launch__controls,
  .decision-actions,
  .profitability-context {
    grid-template-columns: 1fr;
  }

  .review-launch__controls {
    display: grid;
  }

  .profitability-context em {
    grid-column: auto;
  }

  .decision-evidence li,
  .evidence-limit {
    align-items: flex-start;
    flex-direction: column;
  }

  .recommendation-comparison__head,
  .recommendation-comparison dd {
    align-items: flex-start;
    flex-direction: column;
  }

  .recommendation-comparison dl {
    grid-template-columns: 1fr;
  }

  .recommendation-comparison dl > div + div {
    border-block-start: 1px solid var(--line);
    border-inline-start: 0;
  }

  .recommendation-comparison dd > small {
    text-align: start;
  }
}

/* Experiments and decision memory ---------------------------------------------------- */

.status-chip {
  display: inline-flex;
  align-items: center;
  inline-size: fit-content;
  min-block-size: 1.6rem;
  padding-inline: var(--space-2);
  border-radius: var(--radius-sm);
  color: var(--ink-muted);
  background: var(--evidence);
  font-size: 0.64rem;
  font-weight: 700;
  white-space: nowrap;
}

.status-chip--positive {
  color: var(--positive);
  background: var(--positive-container);
}

.status-chip--caution {
  color: var(--caution);
  background: var(--caution-container);
}

.status-chip--info {
  color: var(--info);
  background: var(--info-container);
}

.status-chip--muted {
  color: var(--ink-subtle);
  background: var(--surface-subtle);
}

.experiment-empty {
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-block-size: 12rem;
}

.experiment-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-block-end: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--line);
}

.experiment-summary > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-5);
  background: var(--surface);
}

.experiment-summary span {
  color: var(--ink-muted);
  font-size: 0.74rem;
}

.experiment-summary strong {
  font-size: 1.35rem;
}

.experiment-summary .is-caution strong {
  color: var(--caution);
}

.experiment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.experiment-card {
  display: flex;
  min-block-size: 19rem;
  flex-direction: column;
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-xs);
  transition:
    border-color 140ms ease,
    box-shadow 140ms ease;
}

.experiment-card:hover {
  border-color: var(--line-strong);
  box-shadow: var(--shadow-sm);
}

.experiment-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.experiment-card__head > .muted {
  font-size: 0.68rem;
}

.experiment-card h2 {
  margin-block: var(--space-4) var(--space-2);
  font-size: 1rem;
}

.experiment-card h2 a {
  color: var(--ink);
  text-decoration: none;
}

.experiment-card h2 a:hover {
  color: var(--brand);
}

.experiment-card > p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.76rem;
}

.source-context {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  padding: var(--space-3);
  margin-block-start: var(--space-4) !important;
  border-radius: var(--radius-sm);
  color: var(--brand-dark) !important;
  background: var(--brand-soft);
}

.source-context .icon {
  inline-size: 1rem;
  block-size: 1rem;
  flex: none;
}

.experiment-card__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin-block: auto 0;
  padding-block-start: var(--space-5);
}

.experiment-card__facts > div:last-child {
  grid-column: 1 / -1;
}

.experiment-card__facts dt,
.experiment-card__outcome span {
  color: var(--ink-subtle);
  font-size: 0.64rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.experiment-card__facts dd {
  margin: var(--space-1) 0 0;
  font-size: 0.74rem;
  font-weight: 650;
}

.experiment-card__outcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding-block-start: var(--space-3);
  margin-block-start: var(--space-3);
  border-block-start: 1px solid var(--line);
}

.experiment-card__outcome strong {
  font-size: 0.74rem;
}

.source-brief {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  margin-block-end: var(--space-5);
  border: 1px solid #c7d5e9;
  border-radius: var(--radius);
  color: inherit;
  background: var(--brand-soft);
  text-decoration: none;
}

.source-brief__icon {
  inline-size: 2.5rem;
  block-size: 2.5rem;
  display: grid;
  place-items: center;
  flex: none;
  border-radius: var(--radius-sm);
  color: var(--brand);
  background: var(--surface);
}

.source-brief h2 {
  margin-block: var(--space-1) var(--space-2);
  font-size: 0.95rem;
}

.source-brief p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.76rem;
}

.source-brief--link {
  align-items: center;
}

.source-brief--link > span:nth-child(2) {
  display: flex;
  min-inline-size: 0;
  flex: 1;
  flex-direction: column;
  gap: var(--space-1);
}

.source-brief--link > .icon {
  inline-size: 1rem;
  block-size: 1rem;
  color: var(--ink-muted);
}

[dir="rtl"] .source-brief--link > .icon {
  transform: scaleX(-1);
}

.experiment-form {
  display: grid;
  max-inline-size: 58rem;
  gap: var(--space-4);
}

.form-section {
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.form-section__heading {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding-block-end: var(--space-4);
  margin-block-end: var(--space-5);
  border-block-end: 1px solid var(--line);
}

.form-section__heading > span {
  inline-size: 2rem;
  block-size: 2rem;
  display: grid;
  place-items: center;
  flex: none;
  border-radius: 50%;
  color: var(--brand-dark);
  background: var(--brand-soft);
  font-size: 0.72rem;
  font-weight: 750;
}

.form-section__heading h2 {
  margin: 0;
  font-size: 0.95rem;
}

.form-section__heading p {
  margin: var(--space-1) 0 0;
  color: var(--ink-muted);
  font-size: 0.74rem;
}

.advisor-boundary {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink-muted);
  background: var(--surface-subtle);
}

.advisor-boundary > .icon {
  color: var(--brand);
}

.advisor-boundary h2 {
  margin: 0;
  color: var(--ink);
  font-size: 0.82rem;
}

.advisor-boundary p {
  margin: var(--space-1) 0 0;
  font-size: 0.72rem;
}

.experiment-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(17rem, 0.7fr);
  gap: var(--space-5);
  align-items: start;
}

.decision-section,
.experiment-result,
.experiment-control {
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.decision-section h2,
.experiment-result h2 {
  margin-block: var(--space-2) var(--space-3);
  font-size: 1rem;
}

.decision-section > p,
.experiment-result > p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.8rem;
}

.decision-section--action {
  border-inline-start: 3px solid var(--brand);
}

.advisor-inline {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding-block-start: var(--space-4);
  margin-block-start: var(--space-4) !important;
  border-block-start: 1px solid var(--line);
  font-size: 0.7rem !important;
}

.advisor-inline .icon {
  inline-size: 1rem;
  block-size: 1rem;
  color: var(--brand);
}

.experiment-control {
  position: sticky;
  inset-block-start: calc(var(--topbar-height) + var(--space-5));
}

.experiment-control dl {
  margin-block: var(--space-4);
}

.experiment-control dl > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-block-end: 1px solid var(--line);
}

.experiment-control dt {
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.experiment-control dd {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 650;
  text-align: end;
}

.experiment-control__actions {
  gap: var(--space-2);
}

.experiment-linked-task {
  display: grid;
  gap: var(--space-1);
  padding-block: var(--space-3);
  border-block: 1px solid var(--line);
}

.experiment-linked-task strong {
  overflow-wrap: anywhere;
}

.completion-form > p {
  margin-block-end: var(--space-5);
}

.experiment-result {
  border-color: #cfe9dc;
  border-inline-start: 3px solid var(--positive);
  background: var(--surface);
}

.experiment-result > strong {
  display: block;
  margin-block: var(--space-2) var(--space-4);
  font-size: 1.6rem;
}

.learning-block {
  padding: var(--space-4);
  margin-block: var(--space-5);
  border-radius: var(--radius-sm);
  background: var(--positive-container);
}

.learning-block span {
  color: var(--positive);
  font-size: 0.64rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.learning-block p {
  margin: var(--space-2) 0 0;
  font-size: 0.78rem;
}

.memory-filters {
  display: grid;
  grid-template-columns: minmax(12rem, 2fr) repeat(3, minmax(8rem, 1fr)) auto;
  gap: var(--space-3);
  align-items: end;
  padding: var(--space-4);
  margin-block-end: var(--space-6);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.memory-filters .field {
  margin: 0;
}

.memory-timeline {
  position: relative;
  display: grid;
  gap: var(--space-5);
  padding: 0;
  margin: 0;
  list-style: none;
}

.memory-timeline::before {
  content: "";
  position: absolute;
  inset-block: var(--space-5);
  inset-inline-start: 0.4rem;
  inline-size: 1px;
  background: var(--line-strong);
}

.memory-timeline > li {
  position: relative;
  display: grid;
  grid-template-columns: 0.85rem minmax(0, 1fr);
  gap: var(--space-4);
}

.memory-timeline__marker {
  position: relative;
  z-index: 1;
  inline-size: 0.85rem;
  block-size: 0.85rem;
  margin-block-start: var(--space-5);
  border: 3px solid var(--canvas);
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 0 0 1px var(--brand);
}

.memory-card {
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.memory-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.memory-card__head time {
  color: var(--ink-subtle);
  font-size: 0.68rem;
}

.memory-card > h2 {
  margin-block: var(--space-4) var(--space-2);
  font-size: 1rem;
}

.memory-card > p {
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.memory-flow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin-block: var(--space-5);
}

.memory-flow > div {
  padding: var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.memory-flow dt {
  color: var(--ink-subtle);
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.memory-flow dd {
  margin: var(--space-2) 0 0;
  font-size: 0.76rem;
}

.memory-context {
  margin-block: 0 var(--space-4);
}

.memory-followup {
  padding: var(--space-4);
  margin-block-end: var(--space-4);
  border: 1px solid #c7d5e9;
  border-radius: var(--radius-sm);
  background: var(--brand-soft);
}

.memory-followup h3 {
  margin-block-end: var(--space-3);
  font-size: 0.78rem;
}

.memory-followup__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  color: var(--ink);
  text-decoration: none;
}

.memory-followup__item > span:first-child {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  gap: var(--space-1);
}

.memory-followup__item strong {
  font-size: 0.76rem;
}

.memory-followup__item small {
  color: var(--ink-muted);
  font-size: 0.66rem;
}

.memory-followup__context span {
  color: var(--ink);
}

.memory-approvals {
  border-color: var(--line);
  background: var(--surface-subtle);
}

.memory-approval {
  padding: var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.memory-approval + .memory-approval {
  margin-block-start: var(--space-3);
}

.memory-approval > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.memory-approval > header > div {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  gap: var(--space-1);
}

.memory-approval > header small,
.memory-approval .timeline span {
  color: var(--ink-muted);
  font-size: 0.66rem;
}

.memory-approval .timeline {
  margin-block: var(--space-3) 0;
}

.memory-followup blockquote {
  padding-inline-start: var(--space-3);
  margin: var(--space-4) 0 0;
  border-inline-start: 2px solid var(--brand);
  color: var(--ink-muted);
  font-size: 0.74rem;
}

.memory-followup blockquote span {
  display: block;
  margin-block-end: var(--space-1);
  color: var(--brand-dark);
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.memory-card__tasks {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.memory-card__tasks .icon {
  inline-size: 1rem;
  block-size: 1rem;
}

.memory-evidence {
  padding-block-start: var(--space-3);
  border-block-start: 1px solid var(--line);
}

.memory-evidence summary {
  cursor: pointer;
  color: var(--brand-dark);
  font-size: 0.72rem;
  font-weight: 650;
}

.memory-evidence > p {
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.memory-evidence li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-1) var(--space-3);
  padding-block: var(--space-2);
}

.memory-evidence li > span,
.memory-evidence li > strong {
  font-size: 0.72rem;
}

.memory-evidence li > small {
  grid-column: 1 / -1;
  color: var(--ink-subtle);
  font-size: 0.64rem;
}

.skeleton-list {
  display: grid;
  gap: var(--space-4);
}

.skeleton-list span {
  min-block-size: 10rem;
  border-radius: var(--radius);
  background: linear-gradient(
    90deg,
    var(--surface-subtle) 25%,
    var(--surface) 50%,
    var(--surface-subtle) 75%
  );
  background-size: 200% 100%;
  animation: skeleton-shift 1.4s ease-in-out infinite;
}

@keyframes skeleton-shift {
  from { background-position: 200% 0; }
  to { background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .skeleton-list span {
    animation: none;
  }
}

@media (max-width: 68rem) {
  .experiment-detail-grid {
    grid-template-columns: 1fr;
  }

  .experiment-control {
    position: static;
  }

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

  .memory-filters .btn {
    inline-size: 100%;
  }
}

@media (max-width: 48rem) {
  .experiment-grid,
  .experiment-summary,
  .memory-flow,
  .memory-filters {
    grid-template-columns: 1fr;
  }

  .experiment-summary {
    gap: 1px;
  }

  .experiment-empty {
    grid-template-columns: 1fr;
    text-align: start;
  }

  .experiment-empty .btn {
    inline-size: 100%;
  }

  .experiment-card {
    min-block-size: 0;
  }

  .memory-card {
    padding: var(--space-4);
  }
}

@media (max-width: 30rem) {
  .source-brief,
  .form-section,
  .decision-section,
  .experiment-result,
  .experiment-control {
    padding: var(--space-4);
  }

  .experiment-card__facts {
    grid-template-columns: 1fr;
  }

  .experiment-card__facts > div:last-child {
    grid-column: auto;
  }

  .memory-timeline > li {
    grid-template-columns: 0.7rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .memory-timeline__marker {
    inline-size: 0.7rem;
    block-size: 0.7rem;
  }
}

/* Unified customer IA and guided operating flow ------------------------------------- */

.area-nav {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  min-block-size: 3.25rem;
  padding: var(--space-2) var(--space-3);
  margin-block: calc(-1 * var(--space-3)) var(--space-6);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-xs);
}

.area-nav__label {
  flex: none;
  padding-inline: var(--space-2);
  color: var(--ink-subtle);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.area-nav__links {
  display: flex;
  min-inline-size: 0;
  flex-wrap: wrap;
  gap: var(--space-1);
}

.area-nav__link {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.5rem;
  padding-inline: var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--ink-muted);
  font-size: 0.76rem;
  font-weight: 650;
  text-decoration: none;
}

.area-nav__link:hover {
  color: var(--brand-dark);
  background: var(--brand-soft);
}

.area-nav__link.active,
.area-nav__link[aria-current="page"] {
  color: var(--brand-dark);
  background: var(--brand-soft);
  box-shadow: inset 0 -2px 0 var(--brand);
}

.area-nav__more {
  position: relative;
}

.area-nav__more > summary {
  cursor: pointer;
  list-style: none;
  gap: var(--space-1);
}

.area-nav__more > summary::-webkit-details-marker {
  display: none;
}

.area-nav__more > summary .app-icon {
  inline-size: 0.85rem;
  block-size: 0.85rem;
}

.area-nav__links--more {
  position: absolute;
  inset-block-start: calc(100% + var(--space-2));
  inset-inline-start: 0;
  z-index: 30;
  flex-direction: column;
  align-items: stretch;
  min-inline-size: 12rem;
  padding: var(--space-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.area-nav__links--more .area-nav__link {
  justify-content: flex-start;
}

.top-opportunity,
.created-work-confirmation,
.setup-continuation {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-5);
  margin-block-end: var(--space-5);
  border: 1px solid #cfe9dc;
  border-inline-start: 3px solid var(--positive);
  border-radius: var(--radius);
  background: var(--positive-container);
}

.top-opportunity__icon {
  display: grid;
  place-items: center;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  flex: none;
  border-radius: var(--radius-sm);
  color: var(--positive);
  background: var(--surface);
}

.top-opportunity > div,
.created-work-confirmation > div,
.setup-continuation > div {
  display: flex;
  min-inline-size: 0;
  flex: 1;
  flex-direction: column;
  gap: var(--space-1);
}

.top-opportunity h2,
.top-opportunity p,
.setup-continuation p {
  margin: 0;
}

.top-opportunity h2,
.created-work-confirmation strong,
.setup-continuation strong {
  font-size: 0.9rem;
}

.top-opportunity p,
.created-work-confirmation span,
.setup-continuation p {
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.customer-value-boundary {
  margin-block-end: var(--space-5);
}

.customer-value-owner-summary {
  margin-block-end: var(--space-5);
  border-inline-start: 4px solid var(--brand);
}

.customer-value-owner-summary__result {
  margin: 0 0 var(--space-2);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ink);
}

.customer-value-owner-summary__why {
  margin: 0 0 var(--space-4);
  max-inline-size: 72ch;
  color: var(--ink-muted);
}

.customer-value-owner-summary__meta {
  margin: 0 0 var(--space-4);
}

.customer-value-inline-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-block-start: var(--space-2);
  color: var(--ink-muted);
  font-size: 0.68rem;
}

.customer-value-layout {
  align-items: start;
}

.customer-value-summary-grid,
.customer-value-insight-grid,
.customer-value-quality-grid,
.customer-value-note-grid,
.customer-value-schema-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.customer-value-summary-grid {
  margin-block-start: var(--space-4);
}

.customer-value-summary-grid article,
.customer-value-ranking-list article {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  gap: var(--space-1);
  padding: var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.customer-value-summary-grid span,
.customer-value-ranking-list span,
.customer-value-summary-grid small,
.customer-value-ranking-list small {
  color: var(--ink-muted);
  font-size: 0.68rem;
}

.customer-value-summary-grid strong,
.customer-value-ranking-list strong,
.customer-value-ranking-list a {
  font-size: 0.9rem;
}

.customer-value-horizon-table,
.customer-value-quality-card .table-scroll {
  margin-block-start: var(--space-4);
}

.customer-value-table caption {
  padding-block-end: var(--space-3);
  color: var(--ink-muted);
  font-size: 0.68rem;
  font-weight: 600;
  text-align: start;
}

.customer-value-table__detail td {
  padding-block-start: 0;
}

.customer-value-quality-detail {
  margin-block-start: var(--space-2);
}

.customer-value-quality-detail summary {
  cursor: pointer;
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.customer-value-quality-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block-start: var(--space-3);
}

.customer-value-quality-detail-list {
  margin: 0;
}

.customer-value-quality-note-grid {
  margin-block-start: 0;
}

.customer-value-cohort-cards {
  display: none;
  gap: var(--space-4);
  margin-block-start: var(--space-4);
}

.customer-value-cohort-card h3 {
  margin-block-start: var(--space-3);
}

.customer-value-quality-card h3,
.customer-value-insight-grid h3 {
  margin-block-start: var(--space-3);
}

.customer-value-note-grid,
.customer-value-schema-grid {
  margin-block-start: var(--space-4);
}

.customer-value-note-grid h4,
.customer-value-schema-grid h4 {
  margin: 0 0 var(--space-3);
  font-size: 0.78rem;
}

.customer-value-import-layout {
  align-items: start;
  grid-template-columns: minmax(0, 1fr);
}

.customer-value-schema > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  cursor: pointer;
  list-style: none;
}

.customer-value-schema > summary::-webkit-details-marker {
  display: none;
}

.customer-value-schema > summary strong {
  display: block;
  margin-block-start: var(--space-1);
  color: var(--sidebar-ink);
  font-size: 1rem;
}

.customer-value-schema-content {
  min-inline-size: 0;
}

.customer-value-schema-content > p:has(.icon) {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
}

.customer-value-import-outcome {
  margin-block-start: var(--space-4);
}

.customer-value-schema-list code {
  display: block;
  max-inline-size: 100%;
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  padding: 0.1rem 0.35rem;
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--ink);
}

.customer-value-schema .customer-value-schema-list li {
  display: block;
  min-inline-size: 0;
}

.customer-value-ranking-list {
  display: grid;
  gap: var(--space-3);
  margin-block-start: var(--space-4);
}

.priority-item__action {
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--brand-soft);
}

.priority-item__action strong {
  color: var(--brand-dark);
}

.active-experiment-compact {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  margin-block-start: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: inherit;
  text-decoration: none;
}

.active-experiment-compact strong,
.active-experiment-compact small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.active-experiment-compact strong {
  font-size: 0.76rem;
}

.active-experiment-compact small {
  color: var(--ink-muted);
  font-size: 0.66rem;
}

.advanced-business-context,
.advanced-sidebar,
.profit-technical,
.readiness-audit,
.weekly-drilldown {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.advanced-business-context > summary,
.profit-technical > summary,
.readiness-audit > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  min-block-size: 4.5rem;
  padding: var(--space-4) var(--space-5);
  cursor: pointer;
  list-style: none;
}

.advanced-business-context > summary > span:first-child,
.profit-technical > summary > span:first-child,
.readiness-audit > summary > span:first-child {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.advanced-business-context summary small,
.profit-technical summary small,
.readiness-audit summary small {
  color: var(--ink-muted);
  font-size: 0.72rem;
  font-weight: 400;
}

.advanced-business-context__body {
  display: grid;
  gap: var(--space-5);
  padding: var(--space-5);
  border-block-start: 1px solid var(--line);
  background: var(--surface-subtle);
}

.advanced-sidebar > summary,
.weekly-drilldown > summary {
  min-block-size: 2.75rem;
  padding: var(--space-3) var(--space-4);
  cursor: pointer;
  color: var(--brand-dark);
  font-size: 0.74rem;
  font-weight: 700;
}

.advanced-sidebar > .growth-card {
  margin: 0;
  border: 0;
  border-block-start: 1px solid var(--line);
  border-radius: 0 0 var(--radius) var(--radius);
}

.signal-list--economics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--space-6);
}

.signal-list--economics > div {
  min-width: 0;
}

.signal-list--economics dd {
  overflow-wrap: anywhere;
  text-align: end;
}

.readiness-buckets {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block: var(--space-5);
}

.readiness-bucket {
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.readiness-bucket > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding-block-end: var(--space-3);
  border-block-end: 1px solid var(--line);
}

.readiness-bucket h2 {
  margin: 0;
  font-size: 0.82rem;
}

.readiness-summary-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-block-end: 1px solid var(--line);
}

.readiness-summary-item h3,
.readiness-summary-item p,
.readiness-bucket__empty {
  margin: 0;
}

.readiness-summary-item h3 {
  font-size: 0.76rem;
}

.readiness-summary-item p,
.readiness-bucket__empty {
  margin-block-start: var(--space-1);
  color: var(--ink-muted);
  font-size: 0.68rem;
}

.readiness-bucket__more {
  margin: var(--space-3) 0 0;
  color: var(--brand-dark);
  font-size: 0.7rem;
  font-weight: 700;
}

.readiness-audit {
  margin-block: var(--space-5);
}

.readiness-audit > .readiness-worklist {
  padding: var(--space-4);
  border-block-start: 1px solid var(--line);
}

.profit-owner-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  margin-block-start: var(--space-4);
}

.profit-owner-summary > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.profit-owner-summary span,
.profit-owner-summary p {
  color: var(--ink-muted);
  font-size: 0.68rem;
}

.profit-owner-summary strong {
  font-size: 0.9rem;
}

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

.profit-owner-summary > p {
  grid-column: 1 / -1;
  margin: 0;
}

.profit-technical {
  margin-block-start: var(--space-5);
}

.profit-technical > .section-jump,
.profit-technical > .growth-layout {
  margin-inline: var(--space-5);
}

.profit-technical > .growth-layout {
  padding-block-end: var(--space-5);
}

.decision-card {
  display: flex;
  overflow: visible;
  flex-direction: column;
}

.decision-card__classification {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-block-end: var(--space-3);
}

.decision-happened {
  border-block-end: 1px solid var(--line);
}

.decision-happened > p {
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 650;
}

.saved-language-notice {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-5);
  border-block-end: 1px solid var(--line);
  background: var(--info-container);
}

.decision-card--closed .saved-language-notice {
  padding: var(--space-3);
  margin-block: var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.saved-language-notice p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.decision-why {
  cursor: default;
}

.decision-why > summary {
  cursor: pointer;
  color: var(--brand-dark);
  font-size: 0.7rem;
  font-weight: 750;
}

.decision-evidence > summary {
  cursor: pointer;
  list-style: none;
}

.decision-evidence__body {
  padding-block-start: var(--space-3);
}

.decision-footer {
  position: sticky;
  z-index: 5;
  inset-block-end: 0;
  border-block: 1px solid var(--line);
  box-shadow: 0 -0.5rem 1rem rgb(21 32 52 / 8%);
}

.memory-entry {
  padding: 0;
}

.memory-entry > summary {
  min-block-size: 5rem;
  padding: var(--space-4) var(--space-5);
  cursor: pointer;
  list-style: none;
}

.memory-entry__summary {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  gap: var(--space-1);
}

.memory-entry__summary > strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 0.86rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.memory-entry__summary > small {
  color: var(--ink-muted);
  font-size: 0.66rem;
}

.memory-entry__body {
  padding: 0 var(--space-5) var(--space-5);
  border-block-start: 1px solid var(--line);
}

.weekly-drilldown {
  padding: 0 var(--space-4) var(--space-4);
  margin-block: var(--space-5);
}

.weekly-drilldown > .weekly-section {
  margin-block-start: var(--space-4);
}

.task,
.decision-card,
.readiness-check {
  scroll-margin-block-start: calc(var(--topbar-height) + 5rem);
}

@media (min-width: 90rem) {
  .area-nav {
    padding-inline: var(--space-4);
  }

  .readiness-buckets {
    gap: var(--space-5);
  }
}

@media (max-width: 48rem) {
  .area-nav {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-3);
  }

  .area-nav__links {
    inline-size: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .area-nav__link {
    min-block-size: 2.75rem;
    flex: none;
  }

  .readiness-buckets,
  .profit-owner-summary,
  .signal-list--economics {
    grid-template-columns: 1fr;
  }

  .top-opportunity,
  .created-work-confirmation,
  .setup-continuation {
    align-items: stretch;
    flex-direction: column;
  }

  .top-opportunity .btn,
  .created-work-confirmation .btn,
  .setup-continuation .btn {
    inline-size: 100%;
  }

  .customer-value-summary-grid,
  .customer-value-insight-grid,
  .customer-value-quality-grid,
  .customer-value-note-grid,
  .customer-value-schema-grid,
  .customer-value-quality-detail-grid {
    grid-template-columns: 1fr;
  }

  .customer-value-boundary {
    margin-block-end: var(--space-3);
  }

  .customer-value-boundary + .page-local-nav {
    position: static;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-block: var(--space-1);
  }

  .customer-value-boundary + .page-local-nav a {
    flex: none;
    white-space: nowrap;
  }
}

@media (max-width: 64rem) {
  .customer-value-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .customer-value-cohort-table {
    display: none;
  }

  .customer-value-cohort-cards {
    display: grid;
  }
}

@media (min-width: 64.01rem) {
  .customer-value-cohort-cards {
    display: none;
  }

  .active-experiment-compact {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .active-experiment-compact small {
    grid-column: 2;
  }

  .decision-footer {
    inset-block-end: env(safe-area-inset-bottom, 0);
  }

  .profit-technical > .section-jump,
  .profit-technical > .growth-layout {
    margin-inline: var(--space-3);
  }
}

@media (max-width: 24.375rem) {
  .area-nav__label {
    padding-inline: 0;
  }

  .advanced-business-context > summary,
  .profit-technical > summary,
  .readiness-audit > summary,
  .advanced-business-context__body,
  .memory-entry__body {
    padding: var(--space-4);
  }

  .decision-actions {
    grid-template-columns: 1fr;
  }
}

/* Admin Portal ----------------------------------------------------------------------- */

/*
  Internal English-only operations surface. It shares the product tokens while favoring denser
  tables, flatter sections, and explicit control boundaries over customer-facing compositions.
*/

.admin-shell__main > .page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-4);
  padding-block-end: var(--space-4);
  border-block-end: 1px solid var(--line);
}

.admin-shell__main > .page-header h1 {
  margin: 0;
}

.admin-shell__main > section {
  padding-block: var(--space-5);
  border-block-start: 1px solid var(--line);
}

.admin-shell__main > section:first-of-type {
  border-block-start: 0;
}

.admin-shell__main > section > h2 {
  font-size: 1rem;
}

.admin-stat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: var(--space-4);
  margin-block: 0 var(--space-6);
}

.admin-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-inline-size: 0;
  padding: var(--space-4) 0;
  margin: 0;
  border: 0;
  border-block-start: 2px solid var(--line-strong);
  border-radius: 0;
  text-align: start;
}

.admin-stat__value {
  color: var(--ink-strong);
  font-size: clamp(1.45rem, 2vw, 1.8rem);
  font-variant-numeric: tabular-nums;
  font-weight: 720;
  letter-spacing: -0.02em;
}

.admin-stat__label {
  color: var(--ink-muted);
  margin-block-start: var(--space-2);
  font-size: 0.76rem;
  line-height: 1.4;
}

.admin-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-block-end: var(--space-5);
  padding-block-end: var(--space-4);
  border-block-end: 1px solid var(--line);
}

.admin-nav .btn,
.admin-nav > a {
  min-block-size: auto;
  padding: var(--space-1) 0;
  border: 0;
  border-radius: 0;
  color: var(--brand-dark);
  background: transparent;
  font-size: 0.78rem;
}

.admin-filter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: flex-end;
  padding: var(--space-4);
  margin-block-end: var(--space-6);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.admin-filter__input,
.admin-filter__select {
  inline-size: auto;
  flex: 1 1 13rem;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  font-size: 0.9rem;
  background: var(--surface);
  color: var(--ink);
  min-inline-size: 11rem;
}

.admin-table {
  inline-size: 100%;
  min-inline-size: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  /* The table is its own internal horizontal scroll container at every width, so a wide table
     never pushes page-level horizontal overflow. */
  display: block;
  overflow-x: auto;
  white-space: nowrap;
  margin-block-end: var(--space-5);
  background: var(--surface);
}

.admin-table th,
.admin-table td {
  padding: var(--space-3);
  border-block-end: 1px solid var(--line);
  text-align: start;
  vertical-align: middle;
}

.admin-table th {
  font-weight: 600;
  color: var(--ink-muted);
  background: var(--surface-subtle);
  font-size: 0.75rem;
  letter-spacing: 0.01em;
}

.admin-table tbody tr:hover {
  background: var(--surface-subtle);
}

.admin-pager {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-block-start: var(--space-3);
}

.admin-dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: var(--space-1) var(--space-5);
  font-size: 0.9rem;
  margin-block-end: var(--space-5);
}

.admin-dl dt {
  font-weight: 600;
  color: var(--ink-muted);
  padding-block: var(--space-2);
}

.admin-dl dd {
  padding-block: var(--space-2);
  margin: 0;
  word-break: break-all;
}

.admin-pre {
  font-size: 0.8rem;
  background: var(--evidence);
  padding: var(--space-2);
  border-radius: var(--radius-sm);
  overflow-x: auto;
  white-space: pre-wrap;
  max-width: 40rem;
}

.admin-table__stack {
  display: grid;
  gap: var(--space-1);
  min-inline-size: 0;
  white-space: normal;
}

.admin-table__subtext {
  color: var(--ink-muted);
  font-size: 0.76rem;
  line-height: 1.4;
}

.admin-table__label {
  display: inline-block;
  min-inline-size: 5.5rem;
  color: var(--ink-muted);
  font-size: 0.72rem;
  font-weight: 600;
}

.admin-shell .form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: var(--space-4);
  align-items: end;
  max-inline-size: 70rem;
  padding: var(--space-4);
  margin-block: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-subtle);
}

.admin-shell .form-grid > label {
  display: grid;
  gap: var(--space-1);
  color: var(--ink-secondary);
  font-size: 0.78rem;
  font-weight: 650;
}

.admin-shell .form-grid > label:has(input[type="checkbox"]) {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}

.admin-shell .alert {
  padding: var(--space-3) var(--space-4);
  margin-block: var(--space-3);
  border-inline-start: 3px solid var(--info);
  color: var(--ink-secondary);
  background: var(--info-container);
  font-size: 0.82rem;
}

.admin-shell .alert--warning {
  border-inline-start-color: var(--caution);
  background: var(--caution-container);
}

.admin-shell .alert--error {
  border-inline-start-color: var(--negative);
  background: var(--negative-container);
}

.admin-shell .alert--success {
  border-inline-start-color: var(--positive);
  background: var(--positive-container);
}

@media (max-width: 48rem) {
  .admin-shell__main > .page-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-filter {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-filter__input,
  .admin-filter__select {
    inline-size: 100%;
    flex-basis: auto;
  }

  .admin-table {
    display: block;
    overflow-x: auto;
  }
}

/* Creative Intelligence ---------------------------------------------------------------------- */

.creative-pulse {
  padding: var(--space-5);
  margin-block-end: var(--space-6);
  border-block: 1px solid var(--line);
  background: var(--surface);
}

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

.creative-pulse__metrics > div {
  display: grid;
  gap: var(--space-2);
  min-inline-size: 0;
  padding: var(--space-4);
  background: var(--surface);
}

.creative-pulse__metrics dt,
.creative-period-comparison span,
.creative-profit-context span {
  color: var(--ink-muted);
  font-size: 0.7rem;
  font-weight: 650;
}

.creative-pulse__metrics dd {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.creative-pulse__note {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-block: var(--space-4) 0;
  color: var(--ink-muted);
}

.creative-home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-6);
  margin-block-end: var(--space-7);
}

.creative-home-section,
.creative-patterns,
.creative-test-opportunities,
.creative-detail-section {
  min-inline-size: 0;
  padding-block: var(--space-5);
  border-block-start: 1px solid var(--line);
}

.creative-insight-list,
.creative-ranked-list,
.creative-related-list,
.creative-learning-list {
  display: grid;
  gap: var(--space-3);
  padding: 0;
  margin: 0;
  list-style: none;
}

.creative-insight-list > li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-3);
  padding-block-end: var(--space-3);
  border-block-end: 1px solid var(--line);
}

.creative-insight-list h3,
.creative-ranked-list strong,
.creative-pattern-list h3,
.creative-opportunity-list h3 {
  margin-block: var(--space-2) var(--space-1);
  font-size: 0.92rem;
}

.creative-insight-list p,
.creative-pattern-list p,
.creative-opportunity-list p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.76rem;
}

.creative-insight-list__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-block-start: var(--space-2);
}

.creative-state-icon {
  display: inline-grid;
  place-items: center;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  border-radius: 50%;
  color: var(--brand-dark);
  background: var(--brand-soft);
  font-weight: 800;
}

.creative-state-icon--large {
  inline-size: 3.25rem;
  block-size: 3.25rem;
  font-size: 1.25rem;
}

.creative-ranked-list > li + li {
  border-block-start: 1px solid var(--line);
}

.creative-ranked-list a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--space-3);
  min-block-size: 3.5rem;
  color: inherit;
  text-decoration: none;
}

.creative-ranked-list__rank {
  color: var(--ink-subtle);
  font-weight: 800;
}

.creative-ranked-list small,
.creative-comparison-table th small {
  display: block;
  margin-block-start: var(--space-1);
  color: var(--ink-muted);
  font-weight: 400;
}

.creative-ranked-list__economics {
  font-weight: 750;
}

.creative-pattern-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}

.creative-pattern-list article {
  min-inline-size: 0;
  padding-inline-start: var(--space-3);
  border-inline-start: 2px solid var(--line-strong);
}

.creative-pattern-list article > span:first-child {
  color: var(--ink-subtle);
  font-size: 0.66rem;
  font-weight: 750;
  text-transform: uppercase;
}

.creative-pattern-list .badge {
  margin-block-start: var(--space-3);
}

.creative-opportunity-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.creative-opportunity-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.creative-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(8rem, 1fr));
  gap: var(--space-3);
  padding: var(--space-4);
  margin-block-end: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

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

.creative-filters__actions {
  align-items: end;
  grid-column: span 2;
}

.creative-library-toolbar,
.creative-comparison-period {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-block-size: 3.25rem;
  margin-block-end: var(--space-3);
}

.creative-library-toolbar p {
  margin: 0;
  color: var(--ink-muted);
}

.creative-library-table {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.creative-library-table td {
  vertical-align: middle;
}

.creative-name-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.creative-name-link small {
  display: block;
  color: var(--ink-muted);
}

.creative-select {
  inline-size: 1.25rem;
  block-size: 1.25rem;
  min-inline-size: 1.25rem;
}

.creative-select-target {
  display: inline-grid;
  place-items: center;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  cursor: pointer;
}

.creative-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  margin-block-start: var(--space-4);
}

.creative-pagination .is-disabled {
  pointer-events: none;
  opacity: 0.45;
}

.creative-conclusion {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-5);
  margin-block-end: var(--space-4);
  border-inline-start: 3px solid var(--brand);
  background: var(--surface-subtle);
}

.creative-conclusion__state {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
}

.creative-conclusion h2 {
  margin-block: var(--space-2);
  font-size: 1.15rem;
}

.creative-conclusion p {
  margin: 0;
  color: var(--ink-muted);
}

.creative-performance-summary {
  padding: var(--space-5);
  margin-block-end: var(--space-6);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.creative-period-comparison {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
}

.creative-period-comparison article {
  display: grid;
  gap: var(--space-2);
  min-inline-size: 0;
  padding: var(--space-3);
  background: var(--surface);
}

.creative-period-comparison strong {
  font-size: 0.95rem;
  overflow-wrap: anywhere;
}

.creative-period-comparison small {
  color: var(--ink-subtle);
  font-size: 0.65rem;
}

.creative-profit-context {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  padding-block-start: var(--space-4);
  margin-block-start: var(--space-4);
  border-block-start: 1px solid var(--line);
}

.creative-profit-context > div {
  display: grid;
  gap: var(--space-1);
}

.creative-profit-context__unavailable {
  grid-column: 1 / -1;
}

.creative-profit-context__unavailable p {
  margin-block: var(--space-2);
}

.creative-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem);
  gap: var(--space-7);
}

.creative-evidence-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.creative-evidence-grid h3 {
  font-size: 0.82rem;
}

.creative-identity-list {
  display: grid;
  gap: 1px;
  margin: 0;
  background: var(--line);
}

.creative-identity-list > div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.7fr) minmax(0, 1.3fr);
  gap: var(--space-3);
  padding: var(--space-3);
  background: var(--surface);
}

.creative-identity-list dt {
  color: var(--ink-muted);
}

.creative-identity-list dd {
  min-inline-size: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.creative-classification {
  position: sticky;
  top: var(--space-4);
  align-self: start;
}

.creative-classification .growth-form {
  margin-block-start: var(--space-4);
}

.creative-external-reference {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-block-size: 2.75rem;
  padding: var(--space-3);
  margin-block-start: var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.creative-provenance {
  margin-block-start: var(--space-3);
}

.creative-related-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-block-size: 3rem;
  padding-block: var(--space-2);
  border-block-end: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
}

.creative-related-list small {
  display: block;
  color: var(--ink-muted);
}

.creative-learning-list > li {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3);
  border-inline-start: 2px solid var(--line-strong);
}

.creative-learning-list time,
.creative-learning-list small {
  color: var(--ink-subtle);
  font-size: 0.68rem;
}

.creative-learning-list p {
  margin: 0;
}

.creative-comparison-note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4);
  margin-block-end: var(--space-4);
  border-inline-start: 3px solid var(--info);
  background: var(--info-container);
}

.creative-comparison-note p,
.creative-cpc-note {
  margin: var(--space-1) 0 0;
  color: var(--ink-muted);
}

.creative-comparison-table {
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.creative-comparison-table table {
  min-inline-size: 44rem;
  background: var(--surface);
}

.creative-comparison-table th:first-child {
  position: sticky;
  inset-inline-start: 0;
  z-index: 1;
  background: var(--surface-subtle);
}

.creative-comparison-evidence {
  padding-block: var(--space-6);
  margin-block-start: var(--space-5);
  border-block-start: 1px solid var(--line);
}

.creative-comparison-evidence > div:last-child {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.creative-comparison-evidence article {
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.creative-decision-context {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-block: var(--space-2);
  color: var(--ink-muted);
  font-size: 0.74rem;
}

.creative-decision-context .icon {
  inline-size: 1rem;
  block-size: 1rem;
}

.creative-weekly-learning small {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

@media (max-width: 72rem) {
  .creative-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

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

  .creative-detail-grid {
    grid-template-columns: 1fr;
  }

  .creative-classification {
    position: static;
  }
}

@media (max-width: 48rem) {
  .creative-pulse,
  .creative-performance-summary {
    padding: var(--space-4);
  }

  .creative-pulse__metrics,
  .creative-home-grid,
  .creative-opportunity-list,
  .creative-evidence-grid,
  .creative-comparison-evidence > div:last-child {
    grid-template-columns: 1fr;
  }

  .creative-pulse__metrics > div {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .creative-home-grid {
    gap: 0;
  }

  .creative-ranked-list a {
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .creative-ranked-list .status-chip,
  .creative-ranked-list__economics {
    grid-column: 2;
  }

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

  .creative-filters__search,
  .creative-filters__actions {
    grid-column: 1 / -1;
  }

  .creative-library-table {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .creative-library-table table,
  .creative-library-table tbody,
  .creative-library-table tr,
  .creative-library-table td {
    display: block;
    inline-size: 100%;
  }

  .creative-library-table thead {
    display: none;
  }

  .creative-library-table tr {
    padding: var(--space-3);
    margin-block-end: var(--space-3);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
  }

  .creative-library-table td {
    display: grid;
    grid-template-columns: minmax(6.5rem, 0.7fr) minmax(0, 1.3fr);
    gap: var(--space-3);
    padding: var(--space-2);
    border: 0;
  }

  .creative-library-table td::before {
    content: attr(data-label);
    color: var(--ink-muted);
    font-size: 0.68rem;
    font-weight: 700;
  }

  .creative-conclusion,
  .creative-conclusion__state,
  .creative-opportunity-list article {
    align-items: stretch;
    flex-direction: column;
  }

  .creative-conclusion__state {
    display: flex;
  }

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

  .creative-profit-context {
    grid-template-columns: 1fr;
  }

  .creative-pattern-list {
    grid-template-columns: 1fr;
  }

  .creative-identity-list > div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 24.375rem) {
  .creative-filters,
  .creative-period-comparison {
    grid-template-columns: 1fr;
  }

  .creative-library-toolbar,
  .creative-comparison-period {
    align-items: stretch;
    flex-direction: column;
  }

  .creative-pagination {
    gap: var(--space-2);
  }
}

/* Media planning --------------------------------------------------------------------------- */

.planning-stack,
.planning-baseline,
.planning-plan,
.planning-featured,
.planning-risks,
.planning-comparison,
.planning-next-action,
.planning-disclosure__body,
.today-planning-state,
.weekly-planning {
  min-inline-size: 0;
}

.planning-boundary {
  margin-block: 0 var(--space-5);
}

.planning-owner-summary {
  margin-block-end: var(--space-5);
  border-inline-start: 4px solid var(--brand);
}

.planning-owner-summary__answer {
  margin: 0 0 var(--space-4);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ink);
}

.planning-owner-summary__grid {
  margin: 0 0 var(--space-3);
}

.planning-owner-summary__sub {
  margin-block-start: var(--space-1);
  color: var(--ink-muted);
  font-size: 0.82rem;
}

.planning-owner-summary__next {
  margin-block-start: var(--space-4);
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--line);
}

.planning-owner-summary__next p {
  margin: 0 0 var(--space-3);
  max-inline-size: 72ch;
  color: var(--ink-muted);
}

.planning-section__head,
.planning-plan__header,
.today-planning-state__summary,
.planning-weekly-list__head,
.planning-builder__subhead,
.planning-builder__scenario-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.planning-section__head {
  margin-block-end: var(--space-4);
}

.planning-section__head h2,
.planning-plan__header h3,
.planning-builder__subhead h3,
.planning-builder__scenario-head h3,
.planning-builder__scenario-head h4 {
  margin: 0;
}

.planning-section__head p,
.planning-plan__header p,
.today-planning-state p,
.planning-builder__subhead p,
.planning-builder__scenario-head p,
.planning-weekly-list__head p {
  margin: var(--space-1) 0 0;
  color: var(--ink-muted);
  font-size: 0.74rem;
}

.planning-section__badges,
.planning-action__meta,
.planning-risk-panel__status,
.planning-plan__header .status-chip {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.planning-inline-panels,
.planning-risk-grid,
.planning-sensitivity-grid,
.planning-break-even-grid,
.planning-weekly-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.planning-break-even-grid {
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.planning-break-even-grid article,
.planning-inline-panel,
.planning-risk-panel,
.planning-weekly-list article,
.planning-builder__scenario,
.planning-preview-summary,
.planning-action {
  min-inline-size: 0;
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.planning-break-even-grid article span,
.planning-range-strip span {
  display: block;
  color: var(--ink-muted);
  font-size: 0.68rem;
  font-weight: 650;
}

.planning-break-even-grid article strong,
.planning-range-strip strong {
  display: block;
  margin-block-start: var(--space-2);
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}

.planning-break-even-grid article small {
  display: block;
  margin-block-start: var(--space-1);
  color: var(--ink-muted);
  font-size: 0.68rem;
}

.planning-range-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  margin-block: var(--space-4);
}

.planning-inline-section {
  margin-block-start: var(--space-5);
}

.planning-inline-section > .section-heading {
  margin-block-end: var(--space-3);
}

.planning-allocation-table th small,
.planning-comparison__table th small,
.planning-basis-table th small {
  display: block;
  margin-block-start: var(--space-1);
  color: var(--ink-muted);
  font-size: 0.66rem;
  font-weight: 500;
}

.planning-case-table td small {
  display: block;
  margin-block-start: var(--space-1);
  color: var(--ink-muted);
  font-size: 0.66rem;
}

.planning-allocation-table th strong,
.planning-comparison__table th strong {
  display: block;
}

.planning-allocation-table td,
.planning-allocation-table th,
.planning-comparison__table td,
.planning-comparison__table th,
.planning-basis-table td,
.planning-basis-table th {
  font-size: 0.74rem;
}

.planning-comparison__scroll {
  scrollbar-width: thin;
}

.planning-comparison__table th:first-child,
.planning-basis-table th:first-child {
  min-inline-size: 10rem;
}

.planning-comparison__table td,
.planning-comparison__table th {
  min-inline-size: 10rem;
}

.planning-plan__meta,
.planning-baseline__meta {
  margin-block-end: var(--space-4);
}

.planning-source-list {
  margin: 0;
}

.planning-risk-panel h3,
.planning-inline-panel h3,
.planning-inline-panel h4,
.planning-action strong {
  margin: 0 0 var(--space-2);
}

.planning-risk-panel h4 {
  margin-block-start: var(--space-3);
}

.planning-action p {
  margin: 0 0 var(--space-3);
  color: var(--ink-muted);
}

.planning-action .actions,
.today-planning-state .actions,
.planning-approval-returned .actions {
  margin-block-start: var(--space-3);
}

.planning-disclosure > summary {
  min-block-size: 4rem;
}

.planning-plan-list {
  display: grid;
  gap: var(--space-3);
}

.planning-plan-list__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-2) var(--space-3);
  align-items: center;
  inline-size: 100%;
  min-block-size: 2.75rem;
  padding: var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: inherit;
  background: var(--surface-subtle);
  text-align: start;
}

.planning-plan-list__item strong,
.planning-plan-list__item span,
.planning-plan-list__item small {
  min-inline-size: 0;
}

.planning-plan-list__item strong {
  grid-column: 1 / -1;
}

.planning-plan-list__item small {
  color: var(--ink-muted);
}

.planning-plan-list__item.is-current {
  border-color: #c7d5e9;
  background: color-mix(in srgb, var(--brand-soft) 55%, var(--surface));
}

.planning-builder-form {
  gap: var(--space-5);
}

.planning-builder__scenario-list,
.planning-allocation-editor {
  display: grid;
  gap: var(--space-4);
}

.planning-allocation-editor__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  gap: var(--space-3);
  align-items: end;
}

.planning-assumption-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}

.planning-builder__scenario .field,
.planning-assumption-grid .field,
.planning-allocation-editor__row .field {
  min-inline-size: 0;
}

.planning-preview-summary {
  margin-block-start: var(--space-4);
}

.today-planning-state .section-heading,
.weekly-planning .section-heading {
  margin-block-end: var(--space-3);
}

.today-planning-state__summary {
  margin-block-end: var(--space-3);
}

.planning-source-link {
  margin: var(--space-2) 0 0;
}

.planning-source-link a {
  text-decoration: none;
}

.planning-approval-returned p {
  margin: var(--space-2) 0 0;
  color: var(--ink-muted);
}

.planning-weekly-list article {
  background: var(--surface);
}

.planning-weekly-list__head {
  margin-block-end: var(--space-3);
}

.planning-weekly-list__head h3 {
  margin: var(--space-2) 0 0;
}

@media (max-width: 48rem) {
  .planning-section__head,
  .planning-plan__header,
  .today-planning-state__summary,
  .planning-weekly-list__head,
  .planning-builder__subhead,
  .planning-builder__scenario-head {
    align-items: stretch;
    flex-direction: column;
  }

  .planning-inline-panels,
  .planning-risk-grid,
  .planning-sensitivity-grid,
  .planning-weekly-list,
  .planning-range-strip {
    grid-template-columns: 1fr;
  }

  .planning-allocation-editor__row,
  .planning-assumption-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 40rem) {
  .planning-break-even-grid {
    grid-template-columns: 1fr 1fr;
  }

  .planning-allocation-editor__row,
  .planning-assumption-grid {
    grid-template-columns: 1fr;
  }

  .planning-plan-list__item {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 30rem) {
  .planning-break-even-grid {
    grid-template-columns: 1fr;
  }

  .planning-comparison__table td,
  .planning-comparison__table th {
    min-inline-size: 8.5rem;
  }
}

/* Connections ----------------------------------------------------------------------- */

.connections-boundary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-5);
  margin-block-end: var(--space-5);
  border: 1px solid #c7d5e9;
  border-inline-start: 3px solid var(--brand);
  border-radius: var(--radius);
  background: var(--brand-soft);
}

.connections-boundary h2 {
  margin-block: 0 var(--space-2);
  font-size: 1rem;
}

.connections-boundary p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.75rem;
}

.connections-boundary .trust-list {
  margin: 0;
  min-inline-size: min(22rem, 100%);
}

.connections-grid,
.connections-project-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  gap: var(--space-4);
}

.connection-card {
  display: grid;
  gap: var(--space-4);
}

.connection-card > .section-heading,
.connection-card__run > .section-heading {
  margin-block-end: 0;
}

.connection-card__head p,
.connection-card__action-block .section-heading p,
.connections-project-picker .section-heading p {
  margin: var(--space-2) 0 0;
  color: var(--ink-muted);
  font-size: 0.74rem;
}

.connection-card__status {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
}

.connection-meta-grid--owner {
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}

.connection-card__diagnostics {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.connection-card__diagnostics > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  cursor: pointer;
  list-style: none;
  color: var(--ink-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.connection-card__diagnostics > summary::-webkit-details-marker {
  display: none;
}

.connection-card__diagnostics-body {
  display: grid;
  gap: var(--space-4);
  padding: 0 var(--space-4) var(--space-4);
}

.connection-meta-grid,
.connection-run-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: var(--space-3);
  margin: 0;
}

.connection-meta-grid > div,
.connection-run-grid > div {
  min-inline-size: 0;
  padding: var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.connection-meta-grid dt,
.connection-run-grid dt {
  color: var(--ink-muted);
  font-size: 0.66rem;
}

.connection-meta-grid dd,
.connection-run-grid dd {
  margin: var(--space-2) 0 0;
  font-size: 0.78rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.connections-certification {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.connection-card__run,
.connection-card__action-block,
.connection-card__disconnect {
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.connection-card__action-block--simulator {
  border-color: #ead8b5;
  background: var(--caution-container);
}

.connection-card__run h3,
.connection-card__action-block h3,
.connection-card__disconnect h3,
.connections-project-group h3 {
  margin-block: 0;
  font-size: 0.95rem;
}

.connection-card__action-block .actions,
.connection-card__disconnect .actions,
.connection-card__actions {
  margin-block-start: var(--space-3);
}

.connection-card__disconnect p {
  margin-block: var(--space-2) 0;
  color: var(--ink-muted);
  font-size: 0.74rem;
}

.connections-code {
  margin: var(--space-2) 0 0;
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.connections-project-group__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.connections-project-group__item > div {
  display: grid;
  gap: var(--space-1);
  min-inline-size: 0;
}

.connections-project-group__item strong {
  font-size: 0.86rem;
}

.connections-project-group__item span {
  color: var(--ink-muted);
  font-size: 0.72rem;
}

@media (max-width: 48rem) {
  .connections-boundary,
  .connection-card__head,
  .connection-card__run > .section-heading,
  .connections-project-group__item {
    align-items: stretch;
    flex-direction: column;
  }

  .connection-card__status {
    justify-content: flex-start;
  }

  .connections-boundary .trust-list {
    min-inline-size: 0;
  }

  .connections-project-group__item .btn {
    inline-size: 100%;
  }
}

@media (max-width: 30rem) {
  .connections-boundary,
  .connection-card__run,
  .connection-card__action-block,
  .connection-card__disconnect {
    padding: var(--space-4);
  }

  .connections-grid,
  .connections-project-list,
  .connection-meta-grid,
  .connection-run-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-color-scheme: dark) {
  .planning-boundary,
  .planning-baseline,
  .planning-plan,
  .planning-featured,
  .planning-risks,
  .planning-comparison,
  .planning-next-action,
  .planning-disclosure,
  .today-planning-state,
  .weekly-planning,
  .planning-approval-returned,
  .planning-plan-list__item,
  .planning-break-even-grid article,
  .planning-inline-panel,
  .planning-risk-panel,
  .planning-weekly-list article,
  .planning-builder__scenario,
  .planning-preview-summary,
  .planning-action {
    color-scheme: dark;
    border-color: #324154;
    background: #111927;
  }

  .planning-section__head p,
  .planning-plan__header p,
  .today-planning-state p,
  .planning-builder__subhead p,
  .planning-builder__scenario-head p,
  .planning-weekly-list__head p,
  .planning-break-even-grid article small,
  .planning-break-even-grid article span,
  .planning-range-strip span,
  .planning-plan-list__item small,
  .planning-approval-returned p,
  .planning-action p,
  .planning-allocation-table th small,
  .planning-comparison__table th small,
  .planning-basis-table th small,
  .planning-case-table td small {
    color: #c2cfde;
  }

  .planning-plan-list__item.is-current {
    border-color: #4a6281;
    background: #162336;
  }

  .planning-allocation-table td,
  .planning-allocation-table th,
  .planning-comparison__table td,
  .planning-comparison__table th,
  .planning-basis-table td,
  .planning-basis-table th {
    border-color: #324154;
  }
}

/* Competitor radar -------------------------------------------------------------------- */

.competitor-boundary {
  margin-block-end: var(--space-5);
}

.competitor-pulse__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin: 0;
}

.competitor-pulse__stats > div {
  padding: var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.competitor-pulse__stats dt {
  color: var(--ink-muted);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.competitor-pulse__stats dd {
  margin: var(--space-2) 0 0;
  font-size: 1.15rem;
  font-weight: 800;
}

.competitor-radar-grid {
  margin-block-end: var(--space-5);
}

.competitor-subsection + .competitor-subsection {
  padding-block-start: var(--space-4);
  margin-block-start: var(--space-5);
  border-block-start: 1px solid var(--line);
}

.competitor-subsection h3 {
  margin: 0 0 var(--space-3);
  font-size: 0.82rem;
}

.competitor-observation-list,
.competitor-relationship-list,
.competitor-change-list,
.competitor-related-list {
  display: grid;
  gap: var(--space-3);
  padding: 0;
  margin: 0;
  list-style: none;
}

.competitor-observation-list__link {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  color: inherit;
  text-decoration: none;
}

.competitor-observation-list__link > span:first-child,
.competitor-table-cell,
.competitor-compare-subject,
.competitor-compare-cell {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  gap: var(--space-1);
}

.competitor-observation-list__link strong,
.competitor-relationship-list strong,
.competitor-change-list strong,
.competitor-related-list a {
  font-size: 0.76rem;
}

.competitor-observation-list__link small,
.competitor-relationship-list small,
.competitor-change-list small,
.competitor-related-list small,
.competitor-inline-note,
.competitor-inline-meta,
.competitor-compare-cell small {
  color: var(--ink-muted);
  font-size: 0.68rem;
}

.competitor-inline-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: var(--space-2) 0 0;
}

.competitor-relationship-list p,
.competitor-change-list p,
.competitor-related-list p {
  margin: var(--space-1) 0 0;
  color: var(--ink-muted);
  font-size: 0.74rem;
}

.competitor-watchlist-panel {
  margin-block-start: var(--space-5);
}

.competitor-watchlist-table td,
.competitor-watchlist-table th,
.competitor-comparison-table td,
.competitor-comparison-table th {
  vertical-align: top;
}

.competitor-selected-list,
.competitor-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.competitor-selected-list {
  margin-block-end: var(--space-4);
}

.competitor-detail-section + .competitor-detail-section {
  margin-block-start: var(--space-7);
}

.competitor-identity-grid,
.competitor-latest-grid,
.competitor-history-groups,
.competitor-workflow-grid,
.competitor-related-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.competitor-observation-editor {
  margin-block: var(--space-5);
}

.competitor-observation-fields {
  display: grid;
  gap: var(--space-4);
}

.competitor-inline-form h3 {
  margin: var(--space-2) 0;
  font-size: 0.88rem;
}

.competitor-inline-form p {
  margin: 0 0 var(--space-3);
  color: var(--ink-muted);
  font-size: 0.72rem;
}

.competitor-archive-panel {
  margin-block-start: var(--space-4);
}

.competitor-compare-cell strong {
  font-size: 0.78rem;
}

.competitor-compare-meta {
  margin-block-start: var(--space-2);
}

.competitor-compare-meta > div {
  padding-block: var(--space-2);
}

.competitor-history-card {
  display: grid;
  gap: var(--space-4);
}

.competitor-observation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: var(--space-3);
}

.weekly-section .competitor-latest-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
}

.weekly-competitive-card {
  min-inline-size: 0;
}

.approval-evidence-context {
  padding: var(--space-4);
  margin-block-start: var(--space-4);
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--caution);
  border-radius: var(--radius-sm);
  background: var(--caution-container);
}

.approval-evidence-context h3 {
  margin-block-end: var(--space-3);
  font-size: 0.9rem;
}

.approval-evidence-context__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  margin: 0;
}

.approval-evidence-context__facts dt {
  color: var(--ink-muted);
  font-size: 0.7rem;
}

.approval-evidence-context__facts dd {
  margin: var(--space-1) 0 0;
  font-size: 0.78rem;
  font-weight: 700;
}

.planning-status-badges,
.today-planning-state__facts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.today-planning-state__facts {
  margin-block: var(--space-3);
}

.competitor-observation-block {
  padding: var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--surface-subtle);
}

.competitor-observation-detail {
  grid-column: 1 / -1;
}

.competitor-observation-detail > summary {
  cursor: pointer;
  color: var(--ink-muted);
  font-size: 0.74rem;
  font-weight: 700;
}

.competitor-observation-detail[open] > summary {
  margin-block-end: var(--space-3);
}

.competitor-observation-block p {
  margin: var(--space-2) 0 0;
  color: var(--ink-muted);
  font-size: 0.76rem;
}

.competitor-history-note {
  margin-block-start: var(--space-3);
}

.competitor-signal {
  margin-block-start: calc(var(--space-5) * -0.25);
}

@media (max-width: 64rem) {
  .competitor-pulse__stats,
  .competitor-identity-grid,
  .competitor-latest-grid,
  .competitor-history-groups,
  .competitor-workflow-grid,
  .competitor-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 48rem) {
  .competitor-pulse__stats,
  .competitor-identity-grid,
  .competitor-latest-grid,
  .competitor-history-groups,
  .competitor-workflow-grid,
  .competitor-related-grid {
    grid-template-columns: 1fr;
  }

  .competitor-observation-list__link {
    flex-direction: column;
  }

  .approval-evidence-context__facts {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 30rem) {
  .competitor-observation-grid {
    grid-template-columns: 1fr;
  }
}
.strategy-empty {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
  max-width: 56rem;
  margin-inline: auto;
}

.strategy-layout [dir="auto"],
.strategy-layout [dir="ltr"],
.strategy-layout code {
  unicode-bidi: isolate;
}

.strategy-inline-review {
  margin-top: var(--space-3);
}

.strategy-empty__mark {
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 1rem;
  color: #fff;
  background: linear-gradient(145deg, var(--accent), #7357d9);
  font-size: 1.3rem;
  font-weight: 800;
}

.strategy-assessment-form {
  grid-column: 1 / -1;
}

.strategy-command {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.4fr);
  gap: 1px;
  overflow: hidden;
  margin-block: 1.25rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--line);
  box-shadow: var(--shadow-sm);
}

.strategy-command__where,
.strategy-command__facts {
  margin: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
  background: var(--surface);
}

.strategy-command__where h2 {
  margin-block: 0.3rem 0.5rem;
  font-size: clamp(1.45rem, 3vw, 2.25rem);
}

.strategy-command__where > p {
  max-width: 48rem;
  margin: 0;
  color: var(--ink-muted);
}

.strategy-command__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  margin-block-start: 1.25rem;
  color: var(--ink-muted);
  font-size: 0.82rem;
}

.strategy-command__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.strategy-command__facts > div {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-subtle);
}

.strategy-command__facts dt {
  margin-block-end: 0.45rem;
  color: var(--ink-muted);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.strategy-command__facts dd {
  margin: 0;
  font-weight: 680;
}

.strategy-command__next {
  border-color: color-mix(in srgb, var(--accent) 28%, var(--line)) !important;
  background: color-mix(in srgb, var(--accent) 6%, var(--surface)) !important;
}

.strategy-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: end;
  justify-content: space-between;
  margin-block: 1rem;
}

.strategy-toolbar > label {
  display: grid;
  gap: 0.35rem;
  min-width: min(100%, 22rem);
  color: var(--ink-muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.compact-disclosure {
  max-width: min(100%, 38rem);
}

.compact-disclosure > summary {
  cursor: pointer;
  color: var(--accent);
  font-weight: 700;
}

.compact-disclosure[open] {
  width: 100%;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.strategy-progress {
  display: grid;
  grid-template-columns: repeat(11, minmax(8rem, 1fr));
  gap: 0.65rem;
  overflow-x: auto;
  margin: 0;
  padding: 0.25rem 0.15rem 0.85rem;
  list-style: none;
  scrollbar-width: thin;
}

.strategy-progress__step {
  display: flex;
  gap: 0.65rem;
  min-height: 6.5rem;
  padding: 0.8rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.strategy-progress__step--current,
.strategy-progress__step--blocked {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
  box-shadow: inset 0 3px 0 var(--accent);
}

.strategy-progress__step--complete {
  background: color-mix(in srgb, var(--positive) 5%, var(--surface));
}

.strategy-progress__step--upcoming {
  border-style: dashed;
  background: color-mix(in srgb, var(--surface-subtle) 45%, var(--surface));
}

.strategy-progress__number {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  color: var(--ink-muted);
  background: var(--surface-subtle);
  font-size: 0.75rem;
  font-weight: 800;
}

.strategy-progress__step--complete .strategy-progress__number {
  color: #fff;
  background: var(--positive);
}

.strategy-progress__step strong,
.strategy-progress__step small,
.strategy-progress__reason {
  display: block;
}

.strategy-progress__step strong {
  font-size: 0.8rem;
  line-height: 1.35;
}

.strategy-progress__step small {
  margin-block-start: 0.25rem;
  color: var(--ink-muted);
}

.strategy-progress__reason {
  margin-block-start: 0.35rem;
  color: var(--caution-ink);
  font-size: 0.68rem;
  line-height: 1.35;
}

.strategy-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-block: 1rem 1.25rem;
}

.strategy-trust-grid article {
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.strategy-trust-grid strong {
  display: block;
  margin-block: 0.35rem;
  font-size: 1.25rem;
}

.strategy-trust-grid p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.78rem;
  line-height: 1.5;
}

.strategy-trust-grid small {
  display: block;
  margin-block-start: 0.45rem;
  color: var(--ink-subtle);
  font-size: 0.72rem;
}

.strategy-trust-list,
.strategy-factor-pair-list {
  display: grid;
  gap: 0.45rem;
  margin: 0.7rem 0;
  padding-inline-start: 1.1rem;
}

.strategy-trust-list {
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

.strategy-factor-pair-list {
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

.strategy-factor-pair-list li {
  display: grid;
  gap: 0.35rem;
}

.strategy-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem);
  gap: 1.25rem;
  align-items: start;
}

.strategy-layout > .growth-sidebar {
  position: sticky;
  inset-block-start: 1rem;
}

.strategy-evidence-list,
.strategy-factor-list,
.strategy-alternative-list {
  display: grid;
  gap: 0.75rem;
  margin-block: 1rem;
}

.strategy-evidence-list > article,
.strategy-factor,
.strategy-alternative-list > article,
.strategy-version {
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-subtle);
}

.strategy-evidence-list > article {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  align-items: center;
  justify-content: space-between;
}

.strategy-evidence-list > article > div:first-child {
  flex: 1 1 18rem;
  min-width: 0;
}

.strategy-evidence-list p,
.strategy-factor p,
.strategy-alternative-list p,
.strategy-version p {
  margin-block: 0.35rem;
  color: var(--ink-muted);
}

.strategy-claim-relations__header {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.strategy-claim-relations__summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  color: var(--ink-strong);
  font-weight: 600;
}

.strategy-claim-relations__details {
  margin-block-start: 0.75rem;
}

.strategy-version__facts {
  display: grid;
  gap: 0.75rem;
  margin-block: 0.85rem 0;
}

.strategy-version__facts > div {
  display: grid;
  gap: 0.2rem;
}

.strategy-version__facts dt {
  color: var(--ink-subtle);
  font-size: 0.78rem;
}

.strategy-version__facts dd {
  margin: 0;
  color: var(--ink-default);
}

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

.strategy-factor header,
.strategy-alternative-list header,
.strategy-version header {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  justify-content: space-between;
}

.strategy-factor h3,
.strategy-alternative-list h3,
.strategy-version h3 {
  margin-block: 0.75rem 0.35rem;
}

.strategy-factor dl,
.strategy-version dl {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  margin-block: 0.75rem;
}

.strategy-factor dl > div,
.strategy-version dl > div {
  min-width: 7rem;
}

.strategy-factor dt,
.strategy-version dt {
  color: var(--ink-muted);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.strategy-factor dd,
.strategy-version dd {
  margin: 0.2rem 0 0;
  font-size: 0.84rem;
  font-weight: 650;
}

.strategy-blocked {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-radius: var(--radius-md);
  background: var(--surface-subtle);
}

.strategy-blocked p {
  margin: 0;
  color: var(--ink-muted);
}

.swot-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.swot-quadrant {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.swot-quadrant > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 1rem;
  border-block-end: 1px solid var(--line);
  background: var(--surface-subtle);
}

.swot-quadrant--positive > header {
  background: color-mix(in srgb, var(--positive) 8%, var(--surface));
}

.swot-quadrant--caution > header {
  background: color-mix(in srgb, var(--caution) 10%, var(--surface));
}

.swot-quadrant--negative > header {
  background: color-mix(in srgb, var(--negative) 7%, var(--surface));
}

.swot-quadrant h3 {
  margin: 0;
}

.swot-quadrant > article {
  padding: 0.9rem 1rem;
  border-block-end: 1px solid var(--line);
}

.swot-quadrant > article:last-child {
  border-block-end: 0;
}

.swot-quadrant p {
  margin-block: 0.3rem;
  color: var(--ink-muted);
}

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

.strategy-editor {
  margin-block-start: 1rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--line));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--accent) 3%, var(--surface));
}

.strategy-safety {
  border-color: color-mix(in srgb, var(--caution) 30%, var(--line));
}

.strategy-paths {
  margin-block: 1.25rem;
}

.strategy-paths__grid,
.strategy-entry-c-grid,
.strategy-entry-c-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.strategy-path {
  display: flex;
  gap: 1rem;
  min-inline-size: 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-subtle);
}

.strategy-path--active {
  border-color: color-mix(in srgb, var(--accent) 40%, var(--line));
  background: color-mix(in srgb, var(--accent) 5%, var(--surface));
}

.strategy-path--future {
  border-style: dashed;
}

.strategy-path__letter {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  inline-size: 2rem;
  block-size: 2rem;
  border-radius: 50%;
  color: #fff;
  background: var(--brand);
  font-weight: 800;
}

.strategy-path h3,
.strategy-path p {
  margin-block: 0 0.5rem;
}

.strategy-path__code {
  display: block;
  margin-block-end: 0.35rem;
  color: var(--ink-subtle);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.strategy-path p {
  color: var(--ink-muted);
  font-size: 0.78rem;
  line-height: 1.5;
}

.entry-a-progress {
  display: flex;
  gap: 0.6rem;
  margin: 1rem 0;
  padding: 0.35rem 0 0.75rem;
  overflow-x: auto;
  list-style: none;
  scroll-snap-type: inline mandatory;
}

.entry-a-progress__step {
  display: grid;
  grid-template-columns: auto minmax(8rem, 1fr);
  gap: 0.55rem;
  align-items: center;
  flex: 0 0 12rem;
  min-block-size: 3.5rem;
  padding: 0.65rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  color: var(--ink-muted);
  background: var(--surface);
  font-size: 0.76rem;
  font-weight: 700;
  scroll-snap-align: start;
}

.entry-a-progress__step--complete {
  border-color: color-mix(in srgb, var(--positive) 30%, var(--line));
  color: var(--ink);
  background: color-mix(in srgb, var(--positive) 5%, var(--surface));
}

.entry-a-progress__step--current {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  color: var(--ink);
  background: color-mix(in srgb, var(--accent) 7%, var(--surface));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 15%, transparent);
}

.entry-a-progress__number {
  display: grid;
  place-items: center;
  inline-size: 1.65rem;
  block-size: 1.65rem;
  border-radius: 50%;
  color: #fff;
  background: var(--brand);
}

.entry-a-editor,
.entry-a-case-command,
.entry-a-readiness,
.entry-a-launch-decision,
.entry-a-evidence,
.entry-a-history,
.entry-a-complete,
.entry-a-case-list {
  margin-block: 1rem;
}

.entry-a-case-command {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(18rem, 0.7fr);
  gap: 1rem 2rem;
  align-items: start;
  border-inline-start: 3px solid var(--accent);
}

.entry-a-form-grid,
.entry-a-evidence-grid,
.entry-a-card-grid,
.entry-a-check-grid,
.entry-a-feasibility {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.entry-a-form-grid > .notice,
.entry-a-form-grid > .check-row,
.entry-a-form-grid > a,
.entry-a-form-span,
.entry-a-form-action,
.entry-a-approval-fields,
.entry-a-feasibility {
  grid-column: 1 / -1;
}

.entry-a-approval-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding-block-start: 1rem;
  border-block-start: 1px solid var(--line);
}

.entry-a-approval-fields > h3 {
  grid-column: 1 / -1;
  margin: 0;
}

.entry-a-summary-card,
.entry-a-evidence-item {
  display: grid;
  gap: 0.6rem;
  min-inline-size: 0;
  padding: 0.9rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-subtle);
}

.entry-a-summary-card h3,
.entry-a-summary-card p,
.entry-a-evidence-item p {
  margin: 0;
}

.entry-a-summary-card p,
.entry-a-evidence-item p,
.entry-a-evidence-item small {
  color: var(--ink-muted);
}

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

.entry-a-evidence-grid > div {
  display: grid;
  align-content: start;
  gap: 0.75rem;
  min-inline-size: 0;
}

.entry-a-draft-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.entry-a-draft-item {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  max-inline-size: 100%;
  padding: 0.25rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.entry-a-draft-item > .status-chip {
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

.entry-a-draft-item > button {
  min-block-size: 2.25rem;
  padding-inline: 0.55rem;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--accent);
  background: transparent;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.entry-a-draft-item > button:hover,
.entry-a-draft-item > button:focus-visible {
  background: var(--surface-subtle);
}

.entry-a-feasibility {
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.entry-a-feasibility legend {
  padding-inline: 0.4rem;
  font-weight: 800;
}

.entry-a-readiness {
  border-color: color-mix(in srgb, var(--caution) 30%, var(--line));
}

.entry-a-launch-decision {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  background: color-mix(in srgb, var(--accent) 3%, var(--surface));
}

.strategy-entry-c-version {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: end;
  justify-content: space-between;
  margin-block: 1.25rem 0.75rem;
  border-inline-start: 3px solid var(--accent);
}

.strategy-entry-c-version > div {
  flex: 1 1 24rem;
  min-inline-size: 0;
}

.strategy-entry-c-version > label {
  display: grid;
  gap: 0.35rem;
  flex: 0 1 24rem;
  color: var(--ink-muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.strategy-entry-c-health__summary {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(14rem, 0.6fr);
  gap: 1rem;
}

.strategy-entry-c-card,
.strategy-entry-c-editor,
.strategy-entry-c-facts > article {
  min-inline-size: 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-subtle);
}

.strategy-entry-c-card > header,
.strategy-entry-c-editor > header {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-start;
  justify-content: space-between;
}

.strategy-entry-c-card h3,
.strategy-entry-c-editor h4 {
  margin-block: 0.3rem;
}

.strategy-entry-c-card p,
.strategy-entry-c-card small {
  color: var(--ink-muted);
}

.strategy-entry-c-facts > article {
  display: grid;
  gap: 0.35rem;
}

.strategy-entry-c-facts > article > span {
  color: var(--ink-muted);
  font-size: 0.82rem;
}

.strategy-entry-c-form-section {
  display: grid;
  gap: 1rem;
  padding-block-start: 1.25rem;
  border-block-start: 1px solid var(--line);
}

.strategy-entry-c-form-section > h3,
.strategy-entry-c-form-section > p {
  margin: 0;
}

.strategy-entry-c-form-section > p {
  color: var(--ink-muted);
}

.strategy-entry-c-editor {
  display: grid;
  gap: 1rem;
}

.strategy-entry-c-intake,
.strategy-entry-c-empty,
.strategy-entry-c-decision {
  max-inline-size: 76rem;
  margin-block: 1.25rem;
}

.strategy-entry-c-decision {
  border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
}

.strategy-today-list {
  display: grid;
  gap: 0.75rem;
}

.strategy-today-item {
  display: grid;
  gap: 0.65rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-subtle);
}

.strategy-today-item > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

.strategy-today-item small {
  color: var(--ink-muted);
}

.strategy-weekly-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-block-end: 1rem;
}

.strategy-weekly-summary > article {
  min-inline-size: 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-subtle);
}

.strategy-weekly-summary p {
  color: var(--ink-muted);
}

@media (max-width: 70rem) {
  .strategy-command,
  .strategy-layout {
    grid-template-columns: 1fr;
  }

  .strategy-layout > .growth-sidebar {
    position: static;
  }

  .strategy-command__facts,
  .strategy-trust-grid,
  .strategy-paths__grid,
  .strategy-entry-c-grid,
  .strategy-entry-c-facts,
  .entry-a-case-command,
  .entry-a-evidence-grid,
  .strategy-weekly-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 42rem) {
  .strategy-command__facts,
  .strategy-trust-grid,
  .strategy-factor-list,
  .strategy-alternative-list,
  .swot-grid,
  .strategy-paths__grid,
  .strategy-entry-c-grid,
  .strategy-entry-c-facts,
  .strategy-entry-c-health__summary,
  .entry-a-case-command,
  .entry-a-form-grid,
  .entry-a-evidence-grid,
  .entry-a-card-grid,
  .entry-a-check-grid,
  .entry-a-feasibility,
  .entry-a-approval-fields,
  .strategy-weekly-summary {
    grid-template-columns: 1fr;
  }

  .entry-a-form-grid > .notice,
  .entry-a-form-grid > .check-row,
  .entry-a-form-grid > a,
  .entry-a-form-span,
  .entry-a-form-action,
  .entry-a-approval-fields,
  .entry-a-feasibility,
  .entry-a-approval-fields > h3 {
    grid-column: auto;
  }

  .strategy-empty {
    grid-template-columns: 1fr;
  }

  .strategy-progress {
    scroll-snap-type: inline mandatory;
  }

  .strategy-progress__step {
    scroll-snap-align: start;
  }
}

/* StrategyNerve identity and public product surface ----------------------------------------- */

.strategynerve-brand { display: inline-flex; align-items: center; min-inline-size: 0; color: inherit; text-decoration: none; }
.strategynerve-brand__logo { display: block; inline-size: clamp(10.5rem, 15vw, 14rem); max-inline-size: 100%; block-size: auto; }
.strategynerve-brand__mark { display: block; inline-size: 2.35rem; block-size: 2.35rem; flex: none; padding: 0.12rem; border-radius: 0.7rem; background: #fff; object-fit: contain; }
.strategynerve-brand__copy { display: flex; flex-direction: column; min-inline-size: 0; margin-inline-start: var(--space-3); line-height: 1.2; }
.strategynerve-brand__copy strong { overflow: hidden; color: inherit; font-size: 0.95rem; text-overflow: ellipsis; white-space: nowrap; }
.strategynerve-brand__copy small { overflow: hidden; margin-block-start: 0.15rem; color: var(--sidebar-muted); font-size: 0.68rem; text-overflow: ellipsis; white-space: nowrap; }
.brand-lockup--light .strategynerve-brand__copy strong, .brand-lockup--light .strategynerve-brand__copy small { color: var(--ink-strong); }
.mobile-navigation__head .strategynerve-brand__copy strong, .admin-shell__bar .strategynerve-brand__copy strong { color: #fff; }
.mobile-navigation__head .strategynerve-brand__copy small, .admin-shell__bar .strategynerve-brand__copy small { color: var(--sidebar-muted); }
.sidebar .strategynerve-brand__copy small, .mobile-navigation__head .strategynerve-brand__copy small { display: none; }

.public-shell--landing { overflow: clip; background: #f6f9fc; }
.landing-page { --landing-navy: #071c35; --landing-cyan: #13b6c9; --landing-teal: #0d9f9a; --landing-line: #d8e3eb; color: #162a3d; background: radial-gradient(circle at 82% 10%, rgb(19 182 201 / 10%), transparent 22rem), linear-gradient(180deg, #f8fbfd 0, #fff 42rem, #f4f8fb 100%); }
.landing-header, .landing-hero, .landing-section, .landing-advisor, .landing-final, .landing-footer { width: min(100% - 3rem, 76rem); margin-inline: auto; }
.landing-header { min-block-size: 5.7rem; display: grid; grid-template-columns: minmax(10rem, 1fr) auto minmax(14rem, 1fr); align-items: center; gap: var(--space-5); }
.strategynerve-brand--public .strategynerve-brand__logo { inline-size: clamp(10rem, 13vw, 12.5rem); }
.landing-header__nav, .landing-header__actions, .landing-actions { display: flex; align-items: center; gap: var(--space-4); }
.landing-header__menu { display: none; }
.landing-header__nav a, .landing-sign-in, .landing-language { color: #436075; font-size: 0.84rem; font-weight: 700; text-decoration: none; }
.landing-header__nav a:hover, .landing-sign-in:hover, .landing-language:hover { color: var(--landing-navy); }
.landing-header__actions { justify-content: flex-end; gap: var(--space-3); }
.landing-language { padding: 0.35rem 0.15rem; }
.landing-button { min-block-size: 2.85rem; display: inline-flex; align-items: center; justify-content: center; padding-inline: 1.15rem; border: 1px solid var(--landing-navy); border-radius: 999px; color: #fff; background: var(--landing-navy); box-shadow: 0 10px 24px rgb(7 28 53 / 16%); font-size: 0.86rem; font-weight: 800; text-decoration: none; transition: transform var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast); }
.landing-button:hover { color: #fff; background: #0d3b64; box-shadow: 0 14px 30px rgb(7 28 53 / 22%); transform: translateY(-1px); }
.landing-button--small { min-block-size: 2.35rem; padding-inline: 0.95rem; font-size: 0.78rem; }
.landing-button--secondary { color: var(--landing-navy); border-color: #b7c8d5; background: #fff; box-shadow: none; }
.landing-button--secondary:hover { color: var(--landing-navy); border-color: var(--landing-navy); background: #f7fbfd; box-shadow: none; }

.landing-hero { min-block-size: min(47rem, calc(100vh - 5.7rem)); display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(24rem, 0.85fr); align-items: center; gap: clamp(2rem, 7vw, 7rem); padding-block: clamp(4rem, 10vh, 8rem); }
.landing-eyebrow { display: block; margin: 0 0 var(--space-4); color: #05698f; font-size: 0.72rem; font-weight: 850; letter-spacing: 0.12em; text-transform: uppercase; }
.landing-hero h1, .landing-section h2, .landing-advisor h2, .landing-final h2 { margin: 0; color: var(--landing-navy); font-weight: 760; letter-spacing: -0.045em; line-height: 1.04; }
.landing-hero h1 { max-inline-size: 42rem; font-size: clamp(2.6rem, 5.3vw, 4.85rem); }
.landing-hero__body { max-inline-size: 36rem; margin: var(--space-5) 0 0; color: #3f5a70; font-size: clamp(1.02rem, 1.35vw, 1.18rem); line-height: 1.7; }
.landing-actions { flex-wrap: wrap; margin-block-start: var(--space-6); }
.landing-hero__note { max-inline-size: 34rem; margin: var(--space-5) 0 0; padding-inline-start: var(--space-4); border-inline-start: 2px solid var(--landing-cyan); color: #647c8e; font-size: 0.82rem; line-height: 1.6; }

.product-preview { position: relative; overflow: hidden; border: 1px solid #1b456a; border-radius: 1.5rem; color: #e9f5f9; background: radial-gradient(circle at 90% 0, rgb(19 182 201 / 30%), transparent 12rem), linear-gradient(145deg, #071c35, #0b3155); box-shadow: 0 28px 60px rgb(7 28 53 / 25%); }
.product-preview::after { position: absolute; inset: auto -15% -45% auto; inline-size: 17rem; block-size: 17rem; border: 1px solid rgb(102 220 231 / 25%); border-radius: 50%; content: ""; }
.product-preview__topline { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-4) var(--space-5); border-block-end: 1px solid rgb(225 247 250 / 13%); color: #adced9; font-size: 0.72rem; font-weight: 700; }
.product-preview__status { display: inline-flex; align-items: center; gap: 0.4rem; color: #bfeee7; }
.product-preview__status i { inline-size: 0.48rem; block-size: 0.48rem; border-radius: 50%; background: #30d3bb; box-shadow: 0 0 0 0.2rem rgb(48 211 187 / 13%); }
.product-preview__body { position: relative; z-index: 1; padding: clamp(1.5rem, 4vw, 2.4rem); }
.product-preview__heading { display: flex; align-items: center; gap: var(--space-3); }
.product-preview__icon { inline-size: 2.8rem; block-size: 2.8rem; display: grid; place-items: center; border: 1px solid rgb(255 255 255 / 22%); border-radius: 0.8rem; color: #fff; background: linear-gradient(145deg, #1078ad, #0dafa4); font-size: 0.78rem; font-weight: 900; letter-spacing: -0.04em; }
.product-preview__heading p { margin: 0 0 0.2rem; color: #92bccb; font-size: 0.71rem; font-weight: 700; }
.product-preview__heading h2 { margin: 0; color: #fff; font-size: clamp(1.2rem, 2.4vw, 1.65rem); letter-spacing: -0.03em; }
.product-preview__description { margin: var(--space-5) 0; color: #c7dce5; font-size: 0.88rem; line-height: 1.65; }
.product-preview__signals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin: 0; }
.product-preview__signals div { min-inline-size: 0; padding: 0.75rem; border: 1px solid rgb(220 244 247 / 13%); border-radius: 0.7rem; background: rgb(255 255 255 / 6%); }
.product-preview__signals dt { color: #9cc3cf; font-size: 0.62rem; line-height: 1.35; }
.product-preview__signals dd { margin: 0.35rem 0 0; color: #fff; font-size: 0.72rem; font-weight: 750; line-height: 1.35; }
.product-preview__action { min-block-size: 2.7rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-block-start: var(--space-5); padding-inline: 0.9rem; border: 1px solid rgb(158 232 234 / 24%); border-radius: 0.65rem; color: #eaffff; background: rgb(15 165 175 / 16%); font-size: 0.78rem; font-weight: 800; text-decoration: none; }
.product-preview__action:hover { color: #fff; background: rgb(15 165 175 / 26%); }
.product-preview__source { position: relative; z-index: 1; margin: 0; padding: 0 var(--space-5) var(--space-5); color: #8db2c1; font-size: 0.66rem; line-height: 1.45; }

.landing-section { padding-block: clamp(4.5rem, 10vw, 8rem); }
.landing-section--intro { display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.landing-section__intro h2, .landing-advisor h2, .landing-final h2 { max-inline-size: 39rem; font-size: clamp(2rem, 3.6vw, 3.35rem); }
.landing-section__intro > p:last-child, .landing-advisor > div > p, .landing-final > p:not(.landing-eyebrow) { max-inline-size: 39rem; margin: var(--space-5) 0 0; color: #506a7d; font-size: 1rem; line-height: 1.72; }
.landing-benefits, .landing-personas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.landing-benefits article { min-block-size: 15rem; padding: var(--space-5); border: 1px solid var(--landing-line); border-radius: var(--radius-md); background: rgb(255 255 255 / 78%); box-shadow: 0 12px 30px rgb(7 28 53 / 4%); }
.landing-benefits__number, .landing-personas article > span, .landing-workflow li > span { color: var(--landing-cyan); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; }
.landing-benefits h3, .landing-personas h3, .landing-workflow h3 { margin: var(--space-5) 0 var(--space-3); color: var(--landing-navy); font-size: 1.04rem; letter-spacing: -0.02em; }
.landing-benefits p, .landing-personas p, .landing-workflow p { margin: 0; color: #587184; font-size: 0.87rem; line-height: 1.65; }
.landing-section--personas { border-block: 1px solid var(--landing-line); }
.landing-section--personas .landing-section__intro { display: block; margin-block-end: var(--space-6); }
.landing-personas article { position: relative; padding: var(--space-5) 0; }
.landing-personas article + article { padding-inline-start: var(--space-5); border-inline-start: 1px solid var(--landing-line); }
.landing-capabilities { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 8vw, 8rem); align-items: center; }
.landing-capabilities ul, .landing-advisor ul { display: grid; gap: 0.65rem; padding: 0; margin: 0; list-style: none; }
.landing-capabilities li, .landing-advisor li { display: flex; align-items: center; min-block-size: 3.2rem; padding-inline: var(--space-4); border: 1px solid var(--landing-line); border-radius: 0.7rem; color: #244259; background: #fff; font-size: 0.9rem; font-weight: 700; }
.landing-capabilities li::before, .landing-advisor li::before { inline-size: 0.55rem; block-size: 0.55rem; flex: none; margin-inline-end: 0.75rem; border-radius: 50%; background: linear-gradient(145deg, var(--landing-cyan), var(--landing-teal)); content: ""; }
.landing-advisor { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(17rem, 0.9fr); gap: clamp(2rem, 8vw, 8rem); align-items: center; padding: clamp(2rem, 5vw, 4.5rem); border-radius: 1.5rem; color: #eaf6fa; background: radial-gradient(circle at 90% 0, rgb(34 200 207 / 26%), transparent 15rem), linear-gradient(135deg, #071c35, #0a385d); }
.landing-advisor h2 { color: #fff; }
.landing-advisor > div > p { color: #c1d7e1; }
.landing-advisor .landing-eyebrow { color: #68dfdc; }
.landing-advisor li { border-color: rgb(211 247 249 / 17%); color: #e9fbfc; background: rgb(255 255 255 / 6%); }
.landing-workflow { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 8vw, 8rem); }
.landing-workflow ol { display: grid; gap: var(--space-5); padding: 0; margin: 0; list-style: none; }
.landing-workflow li { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); column-gap: var(--space-4); padding-block-end: var(--space-5); border-block-end: 1px solid var(--landing-line); }
.landing-workflow li > span { grid-row: span 2; padding-block-start: var(--space-5); }
.landing-workflow h3 { margin-block-start: var(--space-5); }
.landing-final { margin-block: clamp(1rem, 4vw, 4rem) clamp(4rem, 9vw, 7rem); padding: clamp(2rem, 6vw, 5rem); border-radius: 1.5rem; text-align: center; background: linear-gradient(135deg, #e7f6f8, #e7eff9); }
.landing-final h2, .landing-final > p:not(.landing-eyebrow) { margin-inline: auto; }
.landing-final .landing-button { margin-block-start: var(--space-6); }
.landing-footer { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-5); padding-block: var(--space-6); border-block-start: 1px solid var(--landing-line); }
.strategynerve-brand--footer .strategynerve-brand__logo { inline-size: 10rem; }
.landing-footer p, .landing-footer small { display: block; margin: 0; color: #4d687b; font-size: 0.78rem; }
.landing-footer small { margin-block-start: 0.3rem; color: #728899; font-size: 0.68rem; }
.landing-footer > a { color: var(--landing-navy); font-size: 0.8rem; font-weight: 800; text-decoration: none; }
.auth-page { display: grid; gap: var(--space-5); }
.auth-page__intro { padding-inline: var(--space-2); }
.auth-page__intro .landing-eyebrow { margin-block-end: var(--space-2); }
.auth-page__intro p { margin: 0; color: var(--ink-muted); font-size: 0.88rem; }
.auth-card { padding: clamp(var(--space-5), 5vw, var(--space-6)); border-color: #d8e3eb; border-radius: var(--radius-md); box-shadow: 0 20px 42px rgb(7 28 53 / 8%); }

@media (max-width: 68rem) {
  .landing-header, .landing-hero, .landing-section, .landing-advisor, .landing-final, .landing-footer { width: min(100% - 2.5rem, 64rem); }
  .landing-header { grid-template-columns: minmax(10rem, 1fr) auto auto; }
  .landing-header__nav { display: none; }
  .landing-header__menu { position: relative; display: block; }
  .landing-header__menu summary { inline-size: 2.35rem; block-size: 2.35rem; display: grid; place-items: center; border: 1px solid #c5d5df; border-radius: 0.65rem; color: var(--landing-navy); background: #fff; cursor: pointer; font-size: 1.1rem; font-weight: 800; list-style: none; }
  .landing-header__menu summary::-webkit-details-marker { display: none; }
  .landing-header__menu nav { position: absolute; z-index: 10; inset-block-start: calc(100% + 0.55rem); inset-inline-end: 0; display: grid; min-inline-size: 12rem; padding: 0.45rem; border: 1px solid var(--landing-line); border-radius: 0.75rem; background: #fff; box-shadow: 0 14px 30px rgb(7 28 53 / 15%); }
  .landing-header__menu nav a { padding: 0.7rem 0.8rem; border-radius: 0.45rem; color: #36556b; font-size: 0.84rem; font-weight: 750; text-decoration: none; }
  .landing-header__menu nav a:hover { color: var(--landing-navy); background: #eef6f8; }
  .landing-hero { grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.8fr); gap: clamp(2rem, 5vw, 4rem); }
  .landing-benefits, .landing-personas { gap: var(--space-3); }
}

@media (max-width: 54rem) {
  .landing-header { min-block-size: 5rem; }
  .landing-header__actions .landing-sign-in { display: none; }
  .landing-hero { min-block-size: auto; grid-template-columns: minmax(0, 1fr); padding-block: clamp(3rem, 9vw, 5rem); }
  .landing-hero__copy { max-inline-size: 43rem; }
  .product-preview { max-inline-size: 42rem; }
  .landing-section--intro, .landing-capabilities, .landing-advisor, .landing-workflow { grid-template-columns: minmax(0, 1fr); }
  .landing-personas article + article { padding-inline-start: var(--space-4); }
  .landing-advisor { gap: var(--space-6); }
}

@media (max-width: 40rem) {
  .landing-header, .landing-hero, .landing-section, .landing-advisor, .landing-final, .landing-footer { width: min(100% - 1.5rem, 34rem); }
  .landing-header { grid-template-areas: "brand menu" "actions actions"; grid-template-columns: minmax(0, 1fr) auto; gap: 0.45rem 0.7rem; padding-block: 0.65rem; }
  .landing-header > .strategynerve-brand { grid-area: brand; }
  .landing-header__menu { grid-area: menu; }
  .landing-header__actions { grid-area: actions; justify-content: flex-start; gap: var(--space-2); }
  .landing-header__actions .landing-language { font-size: 0.74rem; }
  .landing-header__actions .landing-button { min-block-size: 2.2rem; flex: none; padding-inline: 0.75rem; font-size: 0.7rem; white-space: nowrap; }
  .strategynerve-brand--public .strategynerve-brand__logo { inline-size: 9.3rem; }
  .landing-hero { padding-block: 3rem 4rem; }
  .landing-hero h1 { font-size: clamp(2.35rem, 12vw, 3.2rem); }
  .landing-hero__body { font-size: 0.98rem; }
  .landing-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .landing-actions .landing-button { inline-size: 100%; }
  .product-preview__topline { padding-inline: var(--space-4); }
  .product-preview__signals { grid-template-columns: minmax(0, 1fr); }
  .product-preview__signals div { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); }
  .product-preview__signals dd { margin: 0; text-align: end; }
  .landing-section { padding-block: 4rem; }
  .landing-benefits, .landing-personas { grid-template-columns: minmax(0, 1fr); }
  .landing-benefits article { min-block-size: auto; }
  .landing-personas article { padding: var(--space-4) 0; }
  .landing-personas article + article { padding-inline-start: 0; border-inline-start: 0; border-block-start: 1px solid var(--landing-line); }
  .landing-advisor, .landing-final { border-radius: 1rem; }
  .landing-advisor { padding: var(--space-5); }
  .landing-footer { grid-template-columns: minmax(0, 1fr) auto; }
  .landing-footer > div { grid-column: 1 / -1; grid-row: 2; }
  .landing-footer small { max-inline-size: 28rem; }
}

[dir="rtl"] .product-preview__action span { transform: scaleX(-1); }
