/* Generated by tools/build_frontend.py. Do not edit. */

/* source: frontend/styles/tokens.css */

:root {
  color-scheme: light;
  --color-canvas: #f6f7f7;
  --color-surface: #ffffff;
  --color-surface-subtle: #f0f3f4;
  --color-ink: #1c252b;
  --color-ink-soft: #657178;
  --color-line: #d8dddf;
  --color-line-strong: #bcc5c9;
  --color-accent: #4e7187;
  --color-accent-strong: #365b70;
  --color-accent-soft: #e8eff3;
  --color-focus: #3567a2;
  --color-success: #4f7662;
  --color-success-soft: #edf4ef;
  --color-danger: #b42318;
  --color-danger-soft: #fff0ed;
  --color-warning: #9a5b00;
  --color-warning-soft: #fff8e8;
  --color-nav-canvas: #253039;
  --color-nav-border: #334249;
  --color-nav-ink: #eef2f3;
  --color-nav-ink-strong: #ffffff;
  --color-nav-ink-soft: #aeb9be;
  --color-nav-hover: #313f47;
  --color-nav-active: #3f5d6f;
  --font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.5rem;
  --text-2xl: 2rem;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-7: 1.75rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --radius-sm: 0.2rem;
  --radius-md: 0.3rem;
  --radius-lg: 0.45rem;
  --radius-control: 0.5rem;
  --shadow-overlay: 0 18px 48px rgb(28 37 43 / 16%);
  --control-height: 2.75rem;
  --header-height: 4.5rem;
  --nav-width: 11rem;
  --content-max: 100rem;
  --breakpoint-narrow: 54rem;
  --layer-base: 0;
  --layer-header: 20;
  --layer-scrim: 40;
  --layer-drawer: 50;
  --layer-modal: 60;
  --layer-toast: 70;
  --motion-fast: 120ms;
  --motion-standard: 180ms;
}

/* source: frontend/styles/themes.css */

/*
 * B1 is the approved Merkio 2 baseline captured on 8 September 2026.
 * Keep this block unchanged when exploring new themes. Add each alternative as
 * a separate html[data-theme="..."] block so the Theme switch can return to B1.
 */
html[data-theme="b1"] {
  color-scheme: light;
  --color-canvas: #f6f7f7;
  --color-surface: #ffffff;
  --color-surface-subtle: #f0f3f4;
  --color-ink: #1c252b;
  --color-ink-soft: #657178;
  --color-line: #d8dddf;
  --color-line-strong: #bcc5c9;
  --color-accent: #4e7187;
  --color-accent-strong: #365b70;
  --color-accent-soft: #e8eff3;
  --color-focus: #3567a2;
  --color-success: #4f7662;
  --color-success-soft: #edf4ef;
  --color-danger: #b42318;
  --color-danger-soft: #fff0ed;
  --color-warning: #9a5b00;
  --color-warning-soft: #fff8e8;
  --color-nav-canvas: #253039;
  --color-nav-border: #334249;
  --color-nav-ink: #eef2f3;
  --color-nav-ink-strong: #ffffff;
  --color-nav-ink-soft: #aeb9be;
  --color-nav-hover: #313f47;
  --color-nav-active: #3f5d6f;
  --font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.5rem;
  --text-2xl: 2rem;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-7: 1.75rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --radius-sm: 0.2rem;
  --radius-md: 0.3rem;
  --radius-lg: 0.45rem;
  --radius-control: 0.5rem;
  --shadow-overlay: 0 18px 48px rgb(28 37 43 / 16%);
  --control-height: 2.75rem;
  --header-height: 4.5rem;
  --nav-width: 11rem;
  --content-max: 100rem;
  --breakpoint-narrow: 54rem;
  --layer-base: 0;
  --layer-header: 20;
  --layer-scrim: 40;
  --layer-drawer: 50;
  --layer-modal: 60;
  --layer-toast: 70;
  --motion-fast: 120ms;
  --motion-standard: 180ms;
}

/* B2: Notion-calibrated Focus Canvas. B1 above remains the protected baseline. */
html[data-theme="b2"] {
  color-scheme: light;
  --color-canvas: #f7f7f5;
  --color-surface: #ffffff;
  --color-surface-subtle: #f3f3f1;
  --color-ink: #2f3437;
  --color-ink-soft: #787774;
  --color-line: #e7e7e4;
  --color-line-strong: #d3d3cf;
  --color-accent: #337ea9;
  --color-accent-strong: #245f7f;
  --color-accent-soft: #eef6fa;
  --color-focus: #2383e2;
  --color-success: #448361;
  --color-success-soft: #edf6f0;
  --color-danger: #c2352a;
  --color-danger-soft: #fff1f0;
  --color-warning: #9a6700;
  --color-warning-soft: #fbf3db;
  --color-nav-canvas: #202b33;
  --color-nav-border: #2d3941;
  --color-nav-ink: #e9edef;
  --color-nav-ink-strong: #ffffff;
  --color-nav-ink-soft: #aeb8bd;
  --color-nav-hover: #2a3740;
  --color-nav-active: #344751;
  --font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.5rem;
  --text-2xl: 1.75rem;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-7: 1.75rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --radius-sm: 0.15rem;
  --radius-md: 0.25rem;
  --radius-lg: 0.375rem;
  --radius-control: 0.375rem;
  --shadow-overlay: 0 12px 36px rgb(47 52 55 / 15%);
  --control-height: 2.5rem;
  --header-height: 3.5rem;
  --nav-width: 10.75rem;
  --content-max: 100rem;
  --breakpoint-narrow: 54rem;
  --layer-base: 0;
  --layer-header: 20;
  --layer-scrim: 40;
  --layer-drawer: 50;
  --layer-modal: 60;
  --layer-toast: 70;
  --motion-fast: 100ms;
  --motion-standard: 160ms;
}

/* source: frontend/styles/reset.css */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-width: 20rem;
  background: var(--color-canvas);
  text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  margin: 0;
  color: var(--color-ink);
  background: var(--color-canvas);
}

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

button,
summary {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

a {
  color: inherit;
  text-decoration: none;
}

svg {
  display: block;
}

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-focus) 35%, transparent);
  outline-offset: 2px;
}

/* source: frontend/styles/typography.css */

body {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  line-height: 1.5;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  margin-bottom: var(--space-2);
  font-size: clamp(1.75rem, 3vw, var(--text-2xl));
  line-height: 1.1;
  letter-spacing: -0.035em;
}

::selection {
  color: #fff;
  background: var(--color-accent-strong);
}

a {
  text-underline-offset: 0.16em;
}

h2 {
  margin-bottom: var(--space-2);
  font-size: var(--text-lg);
  line-height: 1.25;
}

h3 {
  margin-bottom: var(--space-2);
  font-size: var(--text-md);
  line-height: 1.3;
}

.eyebrow {
  margin-bottom: var(--space-3);
  color: var(--color-accent-strong);
  font: 700 var(--text-xs)/1.5 var(--font-sans);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

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

.intro {
  margin-bottom: 0;
}

.mono {
  font-family: var(--font-mono);
}

/* source: frontend/styles/layout.css */

.auth-page,
.proof-page {
  width: min(100% - 2.5rem, 36.25rem);
  margin: 0 auto;
  padding: var(--space-12) 0 4.5rem;
}

.proof-page {
  width: min(100% - 2.5rem, 57.5rem);
}

.brand {
  display: grid;
  grid-template-columns: 2.25rem auto 1fr;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 4.5rem;
}

.proof-brand {
  margin-bottom: var(--space-12);
}

.auth-panel,
.proof-panel {
  padding: 2.25rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}

.proof-heading {
  display: flex;
  justify-content: space-between;
  gap: var(--space-6);
  padding-bottom: var(--space-8);
  border-bottom: 1px solid var(--color-line);
}

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

.proof-grid > div {
  min-width: 0;
  padding: 1.75rem var(--space-5) 1.75rem 0;
  border-bottom: 1px solid var(--color-line);
}

.proof-grid > div:nth-child(even) {
  padding-left: var(--space-6);
  border-left: 1px solid var(--color-line);
}

.app-shell {
  min-height: 100vh;
  background: var(--color-canvas);
}

.shell-nav {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: var(--layer-header);
  display: flex;
  width: var(--nav-width);
  flex-direction: column;
  padding: var(--space-5) var(--space-3);
  border-right: 1px solid var(--color-nav-border);
  color: var(--color-nav-ink);
  background: var(--color-nav-canvas);
}

.shell-brand {
  display: flex;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-3);
  padding: 0 var(--space-2);
}

.shell-nav-list {
  display: grid;
  gap: var(--space-1);
  margin: var(--space-8) 0 0;
  padding: 0;
  list-style: none;
}

.shell-nav-list > li {
  display: grid;
  gap: var(--space-1);
}

.shell-nav-footer {
  display: grid;
  gap: var(--space-2);
  margin-top: auto;
}

.theme-switcher {
  display: grid;
  gap: var(--space-1);
  margin: 0;
  padding: 0 var(--space-2);
  color: var(--color-nav-ink-soft);
  font-size: var(--text-xs);
  font-weight: 650;
}

.theme-switcher select {
  min-height: 2.25rem;
  padding: 0 var(--space-3);
  border-color: var(--color-nav-border);
  color: var(--color-nav-ink);
  background: var(--color-nav-canvas);
  font-size: var(--text-sm);
}

.shell-main {
  min-width: 0;
  min-height: 100vh;
  margin-left: var(--nav-width);
}

.shell-header {
  position: sticky;
  top: 0;
  z-index: var(--layer-header);
  display: flex;
  height: var(--header-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: 0 var(--space-8);
  border-bottom: 1px solid var(--color-line);
  background: color-mix(in srgb, var(--color-surface) 97%, transparent);
}

.shell-header-actions,
.page-title-row,
.state-picker,
.state-actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.shell-header-actions > div {
  position: relative;
}

.shell-content {
  width: min(100%, var(--content-max));
  margin: 0 auto;
  padding: var(--space-10) var(--space-8) var(--space-12);
}

.account-dossier-shell .shell-header {
  display: none;
}

.account-dossier-shell .shell-content {
  width: 100%;
  max-width: none;
  padding: 0;
}

.page-title-row {
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: var(--space-8);
}

.state-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.preview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18rem;
  gap: var(--space-6);
}

.account-toolbar {
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) repeat(3, minmax(9rem, 12rem));
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.contact-toolbar {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) repeat(2, minmax(11rem, 14rem));
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.partner-title-row {
  margin-bottom: var(--space-6);
}

.partner-workspace {
  display: grid;
  grid-template-columns: minmax(17rem, 0.34fr) minmax(0, 1fr);
  min-height: 36rem;
  border-block: 1px solid var(--color-line);
}

.product-wiki-title {
  margin-bottom: var(--space-6);
}

.prompt-page-title {
  margin-bottom: var(--space-6);
}

.prompt-composer {
  max-width: 62rem;
  margin-bottom: var(--space-10);
  padding: var(--space-6);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.prompt-composer-heading,
.prompt-library-heading,
.prompt-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-5);
}

.prompt-composer-heading h2,
.prompt-library-heading h2,
.prompt-card-header h3 {
  margin: 0;
}

.prompt-composer-heading p {
  max-width: 70ch;
  margin: var(--space-2) 0 0;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
}

.prompt-field-label {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-4);
}

.prompt-field-label span {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
}

.prompt-editor {
  overflow: hidden;
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-control);
  background: var(--color-surface);
}

.prompt-editor:focus-within {
  border-color: var(--color-focus);
  outline: 3px solid color-mix(in srgb, var(--color-focus) 18%, transparent);
}

.prompt-format-toolbar {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  min-height: 2.75rem;
  padding: var(--space-1) var(--space-2);
  border-bottom: 1px solid var(--color-line);
  background: var(--color-surface-subtle);
}

.prompt-format-toolbar button {
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  color: var(--color-ink-soft);
  background: transparent;
}

.prompt-format-toolbar button:hover {
  border-color: var(--color-line);
  color: var(--color-ink);
  background: var(--color-surface);
}

.prompt-toolbar-divider {
  width: 1px;
  height: 1.5rem;
  margin: 0 var(--space-1);
  background: var(--color-line);
}

.prompt-editor textarea {
  min-height: 15rem;
  padding: var(--space-4);
  border: 0;
  border-radius: 0;
  line-height: 1.6;
  resize: vertical;
  caret-color: var(--color-focus);
}

.prompt-editor textarea:focus {
  outline: 0;
}

.prompt-form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--space-5);
}

.prompt-library-heading {
  align-items: baseline;
  max-width: 62rem;
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-line);
}

.prompt-library-heading p {
  margin: 0;
  font-variant-numeric: tabular-nums;
}

.prompt-list {
  display: grid;
  max-width: 62rem;
}

.prompt-card {
  padding: var(--space-6) 0;
  border-bottom: 1px solid var(--color-line);
}

.prompt-card:first-child {
  padding-top: var(--space-2);
}

.prompt-card-meta {
  margin: var(--space-1) 0 0;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
}

.prompt-card-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-1);
}

.prompt-card-action {
  display: inline-flex;
  min-height: 2.25rem;
  align-items: center;
  gap: var(--space-2);
  padding: 0 var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  color: var(--color-ink-soft);
  background: transparent;
  font-size: var(--text-xs);
  font-weight: 650;
}

.prompt-card-action:hover {
  border-color: var(--color-line);
  color: var(--color-ink);
  background: var(--color-surface-subtle);
}

.prompt-card-action.is-danger:hover {
  border-color: color-mix(in srgb, var(--color-danger) 28%, var(--color-surface));
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

.prompt-card-action .icon {
  width: 1rem;
  height: 1rem;
}

.prompt-card-body {
  display: -webkit-box;
  max-width: 75ch;
  margin-top: var(--space-5);
  color: var(--color-ink);
  line-height: 1.65;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
}

.prompt-card-body > :first-child {
  margin-top: 0;
}

.prompt-card-body > :last-child {
  margin-bottom: 0;
}

.prompt-card-body h3,
.prompt-card-body h4,
.prompt-card-body h5 {
  margin: var(--space-6) 0 var(--space-2);
}

.prompt-card-body ul,
.prompt-card-body ol {
  padding-left: var(--space-6);
}

.prompt-card-body blockquote {
  margin: var(--space-4) 0;
  padding: var(--space-2) var(--space-4);
  border-left: 1px solid var(--color-line-strong);
  color: var(--color-ink-soft);
}

.prompt-card-body code {
  padding: 0.1em 0.3em;
  border-radius: var(--radius-sm);
  background: var(--color-surface-subtle);
  font-family: var(--font-mono);
  font-size: 0.9em;
}

.prompt-code-block {
  max-width: 100%;
  overflow-x: auto;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
  white-space: pre-wrap;
}

.prompt-code-block code {
  padding: 0;
  background: transparent;
}

.prompt-empty {
  max-width: 62rem;
  padding: var(--space-8) 0;
  color: var(--color-ink-soft);
}

.prompt-empty h3 {
  margin: 0 0 var(--space-2);
  color: var(--color-ink);
}

.prompt-empty p {
  margin: 0;
}

.prompt-delete-modal {
  max-width: 30rem;
}

.language-switch {
  display: flex;
  padding: 0.1875rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
}

.language-switch button {
  min-width: 2.75rem;
  min-height: 2.25rem;
  border: 0;
  border-radius: calc(var(--radius-md) - 0.1875rem);
  color: var(--color-ink-soft);
  background: transparent;
  font-weight: 750;
}

.language-switch button[aria-pressed="true"] {
  color: var(--color-ink);
  background: var(--color-surface);
}

.product-wiki-workspace {
  display: grid;
  grid-template-columns: minmax(16rem, 20rem) minmax(0, 1fr);
  min-height: 38rem;
  border-block: 1px solid var(--color-line);
}

.product-wiki-index {
  padding: var(--space-5) var(--space-5) var(--space-6) 0;
  border-right: 1px solid var(--color-line);
}

.product-wiki-index input {
  width: 100%;
}

.product-wiki-count {
  margin: var(--space-3) 0;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
}

.product-wiki-list {
  display: grid;
  gap: var(--space-1);
}

.product-wiki-list-item {
  display: grid;
  gap: var(--space-1);
  width: 100%;
  padding: var(--space-3);
  border: 0;
  border-radius: var(--radius-md);
  color: var(--color-ink);
  background: transparent;
  text-align: left;
}

.product-wiki-list-item span {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
}

.product-wiki-list-item:hover,
.product-wiki-list-item[aria-current="true"] {
  background: var(--color-surface-subtle);
}

.product-wiki-list-item[aria-current="true"] {
  box-shadow: inset 2px 0 0 var(--color-accent);
}

.product-wiki-no-results {
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
}

.product-wiki-article {
  width: min(100%, 50rem);
  padding: var(--space-8) var(--space-8) var(--space-12);
}

.wiki-article-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-6);
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--color-line);
}

.wiki-article-header h2 {
  margin: 0;
  font-size: var(--text-2xl);
}

.wiki-product-meta {
  margin: var(--space-2) 0 0;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
}

.wiki-lead {
  max-width: 70ch;
  margin: var(--space-7) 0 0;
  color: var(--color-ink);
  font-size: var(--text-lg);
  line-height: 1.55;
}

.wiki-section {
  max-width: 72ch;
  margin-top: var(--space-9);
}

.wiki-section h2 {
  margin-bottom: var(--space-4);
  font-size: var(--text-lg);
}

.wiki-bullet-list,
.wiki-resource-list {
  display: grid;
  gap: var(--space-3);
  margin: 0;
  padding-left: 1.25rem;
}

.wiki-objection {
  padding: var(--space-4) 0;
  border-top: 1px solid var(--color-line);
}

.wiki-objection:last-child {
  border-bottom: 1px solid var(--color-line);
}

.wiki-objection h3 {
  margin-bottom: var(--space-2);
  font-size: var(--text-md);
}

.wiki-objection p,
.wiki-prose {
  margin: 0;
  line-height: 1.65;
}

.wiki-question {
  margin: 0;
  padding: var(--space-4) var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
  font-size: var(--text-lg);
  font-weight: 650;
}

.product-wiki-editor {
  width: 50vw;
  min-width: 40rem;
  max-width: calc(100vw - 2rem);
}

.product-wiki-form-body {
  display: grid;
  gap: var(--space-5);
}

.product-wiki-form-body label {
  display: grid;
  gap: var(--space-2);
  font-weight: 700;
}

.product-wiki-form-body textarea {
  resize: vertical;
  font-weight: 400;
  line-height: 1.5;
}

@media (max-width: 52rem) {
  .product-wiki-workspace { grid-template-columns: 1fr; }
  .product-wiki-index { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--color-line); }
  .product-wiki-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-wiki-article { padding-inline: 0; }
  .product-wiki-editor { width: 100vw; min-width: 0; max-width: 100vw; }
  .prompt-composer { padding: var(--space-5); }
}

@media (max-width: 35rem) {
  .product-wiki-list { grid-template-columns: 1fr; }
  .wiki-article-header { display: grid; }
  .prompt-composer-heading,
  .prompt-card-header { display: grid; }
  .prompt-card-actions { justify-content: flex-start; }
}

.partner-directory {
  padding: var(--space-6) var(--space-6) var(--space-6) 0;
  border-right: 1px solid var(--color-line);
}

.partner-directory-header,
.partner-contact-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.partner-directory-header {
  display: grid;
  margin-bottom: var(--space-4);
}

.partner-search {
  margin: 0;
}

.partner-contact-panel {
  min-width: 0;
  padding: var(--space-6) 0 var(--space-6) var(--space-8);
}

.partner-contact-header {
  min-height: var(--control-height);
  margin-bottom: var(--space-5);
}

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

.partner-list-state,
.partner-contact-state {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-ink-soft);
}

.partner-list-state {
  padding: var(--space-5) var(--space-3);
}

.partner-contact-state {
  min-height: 18rem;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.partner-list-state.is-error,
.partner-contact-state.is-error {
  color: var(--color-danger);
}

.partner-contact-methods {
  display: grid;
  gap: var(--space-1);
}

.partner-contact-link {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--color-ink);
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.partner-contact-link:hover {
  color: var(--color-accent-strong);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.partner-contact-row {
  cursor: pointer;
}

.partner-contact-row:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: -2px;
}

.partner-contact-profile {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--space-4);
  padding-bottom: var(--space-5);
  border-bottom: 1px solid var(--color-line);
}

.partner-contact-profile h3,
.partner-contact-profile p {
  margin: 0;
}

.partner-contact-portrait {
  display: grid;
  width: 5.5rem;
  height: 5.5rem;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--color-line-strong);
  border-radius: 50%;
  background: var(--color-surface-subtle);
}

.partner-contact-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.partner-contact-silhouette {
  width: 3.5rem;
  color: var(--color-ink-soft);
}

.partner-contact-silhouette svg {
  display: block;
  width: 100%;
  fill: currentColor;
}

.partner-photo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

.product-toolbar {
  max-width: 44rem;
  margin-bottom: var(--space-8);
}

.pricing-toolbar {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) repeat(3, minmax(9rem, 12rem));
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.pricing-toolbar label {
  margin: 0;
}

.detail-section-header,
.preview-form {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-3);
}

.detail-section-header {
  align-items: center;
  margin: var(--space-8) 0 var(--space-4);
}

.preview-form {
  display: grid;
  grid-template-columns: minmax(12rem, 1.5fr) repeat(5, minmax(7rem, 1fr)) auto;
}

.preview-form label {
  margin: 0;
}

.product-toolbar label {
  margin: 0;
}

.catalog-index {
  max-width: 82rem;
}

.catalog-index-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  min-height: 4.5rem;
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-line);
}

.catalog-index-header h2 {
  margin-bottom: var(--space-1);
}

.catalog-index-header p {
  margin: 0;
}

.catalog-list {
  border-bottom: 1px solid var(--color-line);
}

.catalog-entry {
  display: grid;
  grid-template-columns: minmax(18rem, 1.45fr) minmax(18rem, 1fr);
  gap: var(--space-8);
  width: 100%;
  padding: var(--space-5) 0;
  border: 0;
  border-bottom: 1px solid var(--color-line);
  border-radius: 0;
  color: var(--color-ink);
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.catalog-entry:last-child {
  border-bottom: 0;
}

.catalog-entry:hover .catalog-entry-title,
.catalog-entry:focus-visible .catalog-entry-title {
  color: var(--color-accent-strong);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.catalog-entry:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 4px;
}

.catalog-entry-main {
  display: grid;
  gap: var(--space-2);
}

.catalog-entry-title {
  font-weight: 720;
}

.catalog-entry-description {
  display: -webkit-box;
  overflow: hidden;
  color: var(--color-ink-soft);
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.catalog-entry-meta {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
}

.catalog-entry-code {
  font-family: var(--font-mono);
}

.catalog-entry-status {
  color: var(--color-success);
  font-weight: 700;
}

.catalog-entry-status.is-planned {
  color: var(--color-warning);
}

.catalog-entry-status.is-retired {
  color: var(--color-ink-soft);
}

.contact-toolbar label {
  margin: 0;
}

.account-toolbar label {
  margin: 0;
}

.account-pagination {
  display: flex;
  justify-content: center;
  padding-top: var(--space-5);
}

.account-identity-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-7) var(--space-8);
  padding: var(--space-8);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}

/* Account dossier: conventional CRM structure with document-led evidence. */
.account-dossier-shell #account-workspace-app {
  min-height: 100vh;
  background: var(--color-canvas);
}

.account-dossier-shell .account-back-link {
  display: block;
  padding: var(--space-5) var(--space-8) 0;
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 700;
}

.account-dossier-shell .account-mission-statement {
  margin: var(--space-4) var(--space-8) 0;
  padding: var(--space-4) var(--space-5);
  border: 1px solid color-mix(in srgb, var(--color-accent) 42%, var(--color-line));
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--color-accent-soft) 58%, var(--color-surface));
}

.account-dossier-shell .account-mission-statement p {
  max-width: 74rem;
  margin: 0;
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1.55;
}

.account-dossier-shell .account-identity-header {
  grid-template-columns: minmax(16rem, 1fr) auto;
  gap: var(--space-4) var(--space-6);
  align-items: end;
  padding: var(--space-4) var(--space-8);
  border: 0;
  border-radius: 0;
  background: transparent;
}

.account-dossier-shell .account-identity-main .eyebrow,
.account-dossier-shell .overview-heading .eyebrow {
  display: none;
}

.account-dossier-shell .account-identity-main h1 {
  margin-bottom: var(--space-1);
  font-family: var(--font-sans);
  font-size: var(--text-2xl);
  font-weight: 700;
  letter-spacing: -0.025em;
}

.account-dossier-shell .account-identity-domain {
  margin: 0;
  color: var(--color-ink-soft);
}

.account-dossier-shell .account-identity-actions {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
}

.account-dossier-shell .account-section-nav {
  position: sticky;
  top: 0;
  z-index: calc(var(--layer-header) - 1);
  gap: var(--space-7);
  margin: 0;
  padding: 0 var(--space-8);
  overflow-x: auto;
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  background: color-mix(in srgb, var(--color-surface) 97%, transparent);
}

.account-dossier-shell .account-section-nav.can-scroll-left {
  box-shadow: inset 1rem 0 0.75rem -1rem color-mix(in srgb, var(--color-ink) 32%, transparent);
}

.account-dossier-shell .account-section-nav.can-scroll-right {
  box-shadow: inset -1rem 0 0.75rem -1rem color-mix(in srgb, var(--color-ink) 32%, transparent);
}

.account-dossier-shell .account-section-nav.can-scroll-left.can-scroll-right {
  box-shadow:
    inset 1rem 0 0.75rem -1rem color-mix(in srgb, var(--color-ink) 32%, transparent),
    inset -1rem 0 0.75rem -1rem color-mix(in srgb, var(--color-ink) 32%, transparent);
}

.account-dossier-shell .account-section-nav a {
  flex: 0 0 auto;
  padding: var(--space-3) 0;
  border-bottom: 2px solid transparent;
  font-size: var(--text-sm);
  font-weight: 650;
}

.account-dossier-shell .account-section-nav a[aria-current="location"] {
  border-color: var(--color-accent);
  color: var(--color-ink);
}

.account-dossier-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 22rem;
  align-items: start;
}

.account-dossier-main {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 0 var(--space-8) var(--space-12);
}

.account-dossier-main > section {
  margin-top: 0;
  padding: var(--space-7) 0 var(--space-12);
}

.account-dossier-main > #account-deal-sprint {
  margin-top: 0;
  padding-top: var(--space-8);
  border-top: 1px solid var(--color-line);
  scroll-margin-top: 3.5rem;
}

.account-dossier-main .overview-heading {
  align-items: start;
  margin-bottom: var(--space-4);
}

.account-dossier-main .overview-heading h2 {
  font-size: 1.15rem;
}

.account-dossier-main .overview-heading .muted {
  max-width: 72ch;
  font-size: var(--text-xs);
}

.account-dossier-main .overview-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
}

.account-dossier-main .overview-matters {
  display: block;
  grid-column: 1 / -1;
  padding-top: 0;
  border-top: 0;
}

.account-dossier-main .overview-commercial {
  grid-column: auto;
}

.account-dossier-main .matter-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-8);
  border-top: 1px solid var(--color-line);
}

.account-dossier-main .matter-list article {
  position: relative;
  min-width: 0;
  padding: var(--space-5) 0;
}

.account-dossier-main .matter-list article:first-child {
  grid-column: 1 / -1;
  padding: var(--space-6) var(--space-6) var(--space-6) calc(var(--space-6) + 0.25rem);
  background: var(--color-accent-soft);
}

.account-dossier-main .matter-list article:first-child::before {
  display: none;
}

.account-dossier-main .matter-list article + article {
  padding-top: var(--space-5);
  border-top: 0;
}

.account-dossier-main .matter-list article:nth-child(3) {
  padding-left: var(--space-8);
  border-left: 1px solid var(--color-line);
}

.account-dossier-main .matter-list .matter-preview {
  min-height: 12.25rem;
}

.account-dossier-main .matter-list .matter-next-step {
  min-height: auto;
}

.matter-preview-button {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 8.75rem;
  padding: var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: transparent;
  color: inherit;
  cursor: pointer;
  flex-direction: column;
  font: inherit;
  text-align: left;
}

.matter-next-step .matter-preview-button {
  min-height: auto;
  padding: 0;
}

.matter-preview-button:hover {
  border-color: var(--color-line);
  background: var(--color-surface-subtle);
}

.matter-next-step .matter-preview-button:hover {
  background: color-mix(in srgb, var(--color-accent-soft) 72%, var(--color-surface));
}

.matter-preview-button:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 2px;
}

.matter-preview-heading {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.matter-preview-action {
  color: var(--color-accent-strong);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.matter-preview-text {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
}

.account-dossier-main .matter-list h4 {
  margin-bottom: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.account-dossier-main .matter-list article:first-child .matter-preview-text {
  max-width: 64ch;
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1.5;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.account-dossier-rail {
  position: sticky;
  top: 0;
  min-height: 100vh;
  padding: var(--space-6) var(--space-6) var(--space-10);
  border-left: 1px solid var(--color-line);
  background: #f8f9f9;
}

.dossier-rail-section {
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--color-line);
}

.dossier-rail-section + .dossier-rail-section {
  padding-top: var(--space-6);
}

.dossier-rail-section h2 {
  margin-bottom: var(--space-4);
  font-size: var(--text-md);
}

.dossier-rail-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-4);
}

.dossier-rail-heading a {
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 700;
}

.dossier-todo-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dossier-todo-list li + li {
  border-top: 1px solid var(--color-line);
}

.dossier-todo-entry {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-3) 0;
  color: var(--color-ink);
}

.dossier-todo-list strong {
  display: -webkit-box;
  overflow: hidden;
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.dossier-todo-list span {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.dossier-todo-list .is-overdue span {
  color: var(--color-danger);
  font-weight: 650;
}

.dossier-todo-open {
  justify-self: start;
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 700;
}

.dossier-product-summary > p {
  margin: 0;
  font-size: var(--text-sm);
}

.dossier-heading-actions {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
}

.dossier-heading-actions a,
.dossier-heading-actions button {
  border: 0;
  background: transparent;
  color: var(--color-accent-strong);
  cursor: pointer;
  font: inherit;
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: 1.2;
  padding: 0;
  text-decoration: none;
}

.dossier-heading-actions a:hover,
.dossier-heading-actions button:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.dossier-heading-actions button:focus-visible {
  outline: 3px solid rgb(53 103 162 / 24%);
  outline-offset: 3px;
}

.dossier-product-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dossier-product-list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) 0;
}

.dossier-product-list li + li {
  border-top: 1px solid var(--color-line);
}

.dossier-product-list strong {
  min-width: 0;
  font-size: var(--text-sm);
}

.dossier-product-list span {
  flex: 0 0 auto;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.dossier-product-more {
  padding-top: var(--space-2);
}

.dossier-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.account-section-drawer-layer {
  position: fixed;
  inset: 0;
  z-index: var(--layer-drawer);
}

.drawer.account-section-drawer {
  width: min(75rem, calc(100vw - 2rem));
}

.account-section-drawer .drawer-header {
  padding: var(--space-5) var(--space-6);
}

.account-section-drawer .drawer-header h2 {
  margin-bottom: var(--space-1);
}

.account-section-drawer .drawer-header p {
  max-width: 62ch;
  margin: 0;
}

.account-section-drawer-body {
  padding: 0 var(--space-6) var(--space-8);
  overscroll-behavior: contain;
}

.account-section-drawer-body .overview-heading > div:first-child {
  display: none;
}

.account-section-drawer-body .overview-heading {
  justify-content: flex-end;
}

.account-section-drawer-body > section {
  display: grid;
  gap: var(--space-5);
  margin: 0;
  padding: var(--space-6) 0;
}

.account-section-drawer-body > section[hidden] {
  display: none;
}

.account-section-drawer-body > section > .overview-heading {
  justify-content: flex-end;
  margin: 0;
}

.account-section-drawer-body > section > .overview-heading > div:first-child {
  display: none;
}

.account-section-drawer-body .sprint-phase-list,
.account-section-drawer-body .sprint-items {
  gap: var(--space-3);
}

.account-section-drawer-body .account-opportunity {
  display: grid;
  gap: var(--space-5);
}

.account-section-drawer-body .overview-current .surface-header,
.account-section-drawer-body .overview-commercial .surface-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-4);
  align-items: start;
}

.account-section-drawer-body #overview-opportunity-controls:not([hidden]) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-4);
  align-items: end;
  margin-bottom: var(--space-5);
}

.account-section-drawer-body .opportunity-selector {
  width: 100%;
  min-width: 0;
}

.account-section-drawer-body .overview-facts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin: var(--space-5) 0 0;
}

.account-section-drawer-body .overview-current,
.account-section-drawer-body .overview-commercial {
  border-color: var(--color-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, var(--color-surface) 0%, color-mix(in srgb, var(--color-surface) 92%, var(--color-surface-subtle)) 100%);
}

.account-section-drawer-body .overview-current {
  padding: var(--space-6);
}

.account-section-drawer-body .overview-current .surface-header {
  align-items: center;
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-line);
}

.account-section-drawer-body .overview-current .surface-header h3 {
  max-width: 48rem;
  margin: 0;
  color: var(--color-ink);
  font-size: 1.25rem;
  letter-spacing: -0.025em;
}

.account-section-drawer-body #overview-opportunity-controls:not([hidden]) {
  margin: 0;
  padding-top: var(--space-5);
}

.account-section-drawer-body .opportunity-selector span {
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-section-drawer-body .opportunity-selector select {
  min-height: 3rem;
  border-color: var(--color-line-strong);
  font-weight: 650;
}

.account-section-drawer-body .overview-facts > div {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.account-section-drawer-body .overview-facts > div:nth-child(even) {
  border-left: 1px solid var(--color-line);
}

.account-section-drawer-body .overview-facts dt {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 650;
}

.account-section-drawer-body .overview-facts dd {
  color: var(--color-ink);
  font-size: var(--text-md);
  font-weight: 750;
}

.account-section-drawer-body .overview-actions {
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line);
}

.account-section-drawer-body .overview-commercial {
  padding: var(--space-6);
}

.account-section-drawer-body .overview-commercial .surface-header {
  align-items: center;
}

.account-section-drawer-body .overview-commercial .surface-header h3 {
  margin: 0;
  font-size: 1.15rem;
  letter-spacing: -0.02em;
}

.account-section-drawer-body .overview-commercial .state-actions {
  justify-content: flex-end;
}

.account-section-drawer-body .commercial-summary-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.account-section-drawer-body .commercial-summary-grid > div {
  min-height: 9rem;
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.account-section-drawer-body .commercial-summary-grid > div + div {
  border-left: 1px solid var(--color-line);
}

.account-section-drawer-body .commercial-summary-grid h4 {
  margin-bottom: var(--space-3);
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dossier-next-step-copy {
  margin-bottom: var(--space-4);
  color: var(--color-ink);
  font-size: var(--text-md);
  font-weight: 700;
  line-height: 1.35;
}

.dossier-rail-action {
  width: 100%;
}

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

.dossier-rail-list li + li {
  border-top: 1px solid var(--color-line);
}

.dossier-rail-list a {
  display: flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) 0;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
  font-weight: 450;
  line-height: 1.4;
}

.dossier-rail-list a:hover,
.dossier-rail-list a:focus-visible {
  color: var(--color-accent-strong);
}

.account-identity-main {
  min-width: 0;
}

.account-identity-actions {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.account-archived-note {
  grid-column: 1 / -1;
  margin: 0;
  padding: var(--space-4);
  border-radius: var(--radius-md);
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

.account-overview {
  margin-top: var(--space-10);
}

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

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

.opportunity-selector {
  min-width: min(24rem, 42vw);
  margin: 0;
}

.opportunity-selector span {
  display: block;
  margin-bottom: var(--space-2);
}

.overview-state {
  min-height: 20rem;
  padding: var(--space-8);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
}

.state-panel.overview-opportunity-empty {
  min-height: 0;
  padding: var(--space-5) var(--space-6);
  place-items: stretch;
  text-align: left;
}

.overview-opportunity-empty .state-content {
  display: flex;
  width: 100%;
  max-width: none;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4) var(--space-8);
  flex-wrap: wrap;
}

.overview-opportunity-empty h3,
.overview-opportunity-empty .state-content p {
  margin-bottom: 0;
}

.overview-opportunity-empty h3 {
  margin-bottom: var(--space-1);
}

.account-target-products-panel {
  width: 100%;
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: 1px solid var(--border-muted);
}

.account-target-products-panel .surface-header {
  margin-bottom: var(--space-3);
}

.account-target-products-panel h3 {
  margin: 0;
}

.overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.8fr);
  gap: var(--space-6);
  align-items: start;
}

.overview-current,
.overview-matters,
.overview-commercial {
  min-width: 0;
}

.overview-commercial {
  grid-column: 1 / -1;
}

.overview-facts,
.commercial-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.overview-facts {
  margin: var(--space-5) 0;
}

.overview-facts > div,
.commercial-summary-grid > div {
  min-width: 0;
  padding: var(--space-4);
  border-top: 1px solid var(--color-line);
}

.overview-facts > div:nth-child(even),
.commercial-summary-grid > div + div {
  border-left: 1px solid var(--color-line);
}

.overview-actions,
.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.overview-actions {
  margin-top: var(--space-5);
}

.matter-list {
  display: grid;
  gap: var(--space-5);
}

.matter-list article + article {
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line);
}

.overview-prose {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.overview-drawer {
  width: min(38rem, calc(100vw - 4rem));
}

.summary-editor-drawer {
  width: min(46rem, calc(100vw - 2rem));
}

.drawer.milestone-note-drawer {
  width: clamp(52rem, 65vw, 75rem);
  max-width: calc(100vw - 2rem);
  grid-template-rows: auto minmax(0, 1fr);
}

.drawer-header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.milestone-note-form {
  display: grid;
  min-height: 0;
  grid-template-rows: minmax(0, 1fr) auto;
}

.milestone-note-body {
  display: grid;
  min-height: 0;
  align-content: start;
  gap: var(--space-6);
  overflow-y: auto;
  padding: var(--space-5) var(--space-6);
}

.milestone-note-criterion {
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
}

.milestone-note-criterion h3,
.milestone-note-criterion p,
.milestone-note-editor h3,
.milestone-note-editor p {
  margin: 0;
}

.milestone-note-criterion h3 {
  margin-bottom: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.milestone-note-criterion p {
  max-width: 72ch;
  overflow-wrap: anywhere;
  font-size: var(--text-sm);
  line-height: 1.55;
}

.milestone-action-items {
  display: grid;
  gap: var(--space-3);
  padding-block: var(--space-2);
}

.milestone-action-items > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-4);
}

.milestone-action-items h3,
.milestone-action-items p {
  margin: 0;
}

.milestone-action-items header p {
  margin-top: var(--space-1);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.milestone-action-items-list {
  display: grid;
  border-top: 1px solid var(--color-line);
}

.milestone-action-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  min-height: 3.75rem;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-line);
}

.milestone-action-row strong,
.milestone-action-row span {
  display: block;
}

.milestone-action-row span {
  margin-top: var(--space-1);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.milestone-action-row.is-overdue span {
  color: var(--color-danger);
  font-weight: 650;
}

.milestone-action-row.is-completed strong {
  color: var(--color-ink-soft);
  text-decoration: line-through;
}

.milestone-action-empty {
  margin: 0;
  padding: var(--space-4) 0;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
}

.milestone-reminder-warning {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  color: var(--color-danger);
  font-size: var(--text-xs);
  font-weight: 700;
}

.milestone-reminder-warning svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.milestone-note-editor {
  display: grid;
  gap: var(--space-3);
}

.milestone-note-input {
  overflow: hidden;
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  transition: border-color var(--motion-fast) ease-out, box-shadow var(--motion-fast) ease-out;
}

.milestone-note-input:focus-within {
  border-color: var(--color-focus);
  box-shadow: 0 0 0 0.1875rem color-mix(in srgb, var(--color-focus) 18%, transparent);
}

.milestone-format-toolbar {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-1) var(--space-2);
  border-bottom: 1px solid var(--color-line);
  background: var(--color-surface-subtle);
}

.milestone-format-toolbar button {
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  color: var(--color-ink-soft);
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.milestone-format-toolbar button:hover {
  border-color: var(--color-line);
  color: var(--color-ink);
  background: var(--color-surface);
}

.milestone-format-toolbar button:focus-visible {
  outline: 0.125rem solid var(--color-focus);
  outline-offset: -0.125rem;
}

.milestone-format-toolbar button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.milestone-format-toolbar button:is(:hover, :focus-visible):disabled {
  border-color: transparent;
  color: var(--color-ink-soft);
  background: transparent;
}

.milestone-format-toolbar svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.milestone-format-toolbar circle {
  fill: currentColor;
  stroke: none;
}

.milestone-toolbar-divider {
  width: 1px;
  height: 1.5rem;
  margin-inline: var(--space-1);
  background: var(--color-line);
}

#milestone-note-text {
  min-height: 15rem;
  margin: 0;
  border: 0;
  border-radius: 0;
  line-height: 1.6;
  resize: vertical;
}

#milestone-note-text:focus {
  outline: 0;
}

.milestone-note-meta {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
}

.milestone-note-meta p {
  margin: 0;
}

#milestone-note-count {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
}

.milestone-note-preview {
  min-height: 5rem;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  overflow-wrap: anywhere;
  background: var(--color-surface-subtle);
}

.milestone-note-preview > :first-child {
  margin-top: 0;
}

.milestone-note-preview > :last-child {
  margin-bottom: 0;
}

.milestone-note-preview :is(p, li) {
  font-size: var(--text-sm);
  line-height: 1.6;
}

.milestone-note-preview :is(ul, ol) {
  padding-inline-start: var(--space-6);
}

.milestone-note-preview p {
  white-space: normal;
}

.milestone-note-preview-wrap > h4 {
  margin: 0 0 var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.summary-editor-form {
  display: grid;
  min-height: 0;
  flex: 1;
  grid-template-rows: minmax(0, 1fr) auto;
}

.summary-editor-body {
  display: grid;
  overflow-y: auto;
  min-height: 0;
  padding: var(--space-5) var(--space-6);
  gap: var(--space-4);
  align-content: start;
}

.summary-format-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.summary-format-toolbar .secondary-button {
  min-height: 2.5rem;
  padding: var(--space-2) var(--space-3);
}

#summary-editor-text {
  min-height: 24rem;
  margin: 0;
  line-height: 1.6;
  resize: vertical;
}

.summary-editor-meta {
  display: flex;
  justify-content: space-between;
  gap: var(--space-5);
}

.summary-editor-meta p {
  margin: 0;
}

#summary-editor-count {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
}

.drawer.account-contact-drawer {
  width: clamp(42rem, 58vw, 64rem);
  max-width: calc(100vw - 2rem);
  grid-template-rows: auto minmax(0, 1fr);
}

.drawer.contact-ai-outreach-drawer {
  width: clamp(67.2rem, 80vw, 92.8rem);
  max-width: calc(100vw - 2rem);
  grid-template-rows: auto minmax(0, 1fr);
}

.contact-ai-outreach-body {
  display: grid;
  align-content: start;
  gap: var(--space-10);
}

.contact-ai-outreach-body > section,
.contact-ai-outreach-form {
  padding-top: var(--space-8);
  border-top: 1px solid var(--color-line);
}

.contact-ai-outreach-body > :first-child {
  border-top: 0;
}

.account-contacts,
.account-org-chart,
.account-activity,
.account-prospect-sprint,
.account-deal-sprint {
  display: grid;
  min-width: 0;
  gap: var(--space-5);
  margin-top: var(--space-10);
  scroll-margin-top: var(--space-8);
}

.account-org-chart {
  display: grid;
  min-width: 0;
  gap: var(--space-6);
  margin-top: var(--space-10);
  scroll-margin-top: var(--space-8);
}

.org-chart-heading {
  align-items: end;
}

.org-chart-heading .muted {
  max-width: 68ch;
}

.org-chart-toolbar {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) auto;
  gap: var(--space-4);
  align-items: end;
}

.org-chart-toolbar label {
  display: grid;
  gap: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
  font-weight: 650;
}

.org-chart-view-switch {
  display: flex;
  padding: var(--space-1);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-control);
  background: var(--color-surface-subtle);
}

.org-chart-view-switch button {
  min-height: 2.25rem;
  padding: 0 var(--space-3);
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-ink-soft);
  font-weight: 700;
  cursor: pointer;
}

.org-chart-view-switch button[aria-pressed="true"] {
  background: var(--color-surface);
  color: var(--color-ink);
  box-shadow: 0 2px 8px rgb(28 37 43 / 10%);
}

.org-chart-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(19rem, 0.8fr);
  gap: var(--space-6);
  align-items: start;
}

.org-chart-map {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  min-width: 0;
}

@media (max-width: 54rem) {
  .org-chart-toolbar,
  .org-chart-workspace,
  .org-chart-map {
    grid-template-columns: 1fr;
  }

  .org-chart-view-switch button {
    flex: 1;
  }
}

.org-library-title {
  align-items: end;
}

.org-library-toolbar {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) auto;
  gap: var(--space-4);
  align-items: end;
  max-width: 72rem;
  margin-bottom: var(--space-6);
}

.org-library-toolbar label {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
  font-weight: 650;
}

.org-library-toolbar input,
.org-library-toolbar .secondary-button {
  height: var(--control-height);
  min-height: var(--control-height);
  align-self: end;
}

.org-library-workspace {
  display: block;
}

.org-library-map {
  overflow-x: auto;
  padding-bottom: var(--space-2);
}

@media (max-width: 62rem) {
  .org-library-workspace {
    display: block;
  }
}

@media (max-width: 42rem) {
  .org-library-toolbar {
    grid-template-columns: 1fr;
  }
}

.account-prospect-sprint > *,
.account-deal-sprint > * {
  min-width: 0;
}

.sprint-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-5);
  align-items: start;
}

.sprint-summary .sprint-facts,
.sprint-summary .sprint-briefing {
  grid-column: 1 / -1;
}

.sprint-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid var(--color-line);
}

.sprint-facts > div {
  min-width: 0;
  padding: var(--space-4) var(--space-3) 0 0;
}

.deal-diagnosis-card {
  display: grid;
  gap: var(--space-2);
  margin: 0 0 var(--space-4);
  padding: var(--space-4);
  border: 1px solid color-mix(in srgb, var(--color-accent) 18%, var(--color-line));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-accent-soft) 42%, var(--color-surface));
}

.deal-diagnosis-card > span {
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.deal-diagnosis-card .sprint-briefing {
  margin: 0;
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.55;
}

.deal-evidence-review {
  display: grid;
  gap: var(--space-4);
  margin: 0 0 var(--space-4);
  padding: var(--space-4);
  border: 1px solid color-mix(in srgb, var(--color-warning) 16%, var(--color-line));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-warning-soft) 34%, var(--color-surface));
}

.deal-evidence-review-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.deal-evidence-review-heading h3 {
  margin: 0;
  font-size: var(--text-md);
}

.deal-evidence-review-badge {
  flex: 0 0 auto;
  padding: var(--space-1) var(--space-2);
  border-radius: 999px;
  color: var(--color-warning);
  background: color-mix(in srgb, var(--color-warning-soft) 78%, var(--color-surface));
  font-size: var(--text-xs);
  font-weight: 800;
}

.deal-evidence-review-copy,
.deal-evidence-review-summary,
.deal-evidence-review-note {
  margin: 0;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
  line-height: 1.55;
}

.deal-evidence-review-grid {
  display: grid;
  gap: var(--space-3);
}

.deal-evidence-review-grid label {
  display: grid;
  gap: var(--space-1);
  margin: 0;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 800;
}

.deal-evidence-review-text textarea {
  min-height: 11rem;
  resize: vertical;
}

.deal-evidence-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.deal-evidence-review-results {
  display: grid;
  gap: var(--space-4);
  padding-top: var(--space-3);
  border-top: 1px solid color-mix(in srgb, var(--color-warning) 18%, var(--color-line));
}

.deal-evidence-review-results[hidden] {
  display: none;
}

.deal-evidence-suggestion-group {
  display: grid;
  gap: var(--space-2);
}

.deal-evidence-suggestion-group h4 {
  margin: 0;
  color: var(--color-ink);
  font-size: var(--text-sm);
}

.deal-evidence-suggestion-list {
  display: grid;
  gap: var(--space-2);
}

.deal-evidence-suggestion {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--color-surface) 82%, white);
}

.deal-evidence-suggestion.is-risk {
  border-color: color-mix(in srgb, var(--color-danger) 26%, var(--color-line));
  background: color-mix(in srgb, var(--color-danger-soft) 32%, var(--color-surface));
}

.deal-evidence-suggestion strong {
  font-size: var(--text-sm);
}

.deal-evidence-suggestion p {
  margin: 0;
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.deal-evidence-suggestion span {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.deal-execution-guide[hidden] {
  display: none;
}

.deal-execution-guide {
  position: fixed;
  inset: 0;
  z-index: 1200;
  pointer-events: none;
}

.deal-execution-guide-backdrop {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--color-ink) 58%, transparent);
  backdrop-filter: blur(3px);
  pointer-events: none;
}

.deal-execution-guide-card {
  position: fixed;
  z-index: 1202;
  display: grid;
  gap: var(--space-3);
  max-width: calc(100vw - 2rem);
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: 0 18px 48px rgb(29 34 39 / 18%);
  color: var(--color-ink);
  pointer-events: auto;
}

.deal-execution-guide-step {
  margin: 0;
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.deal-execution-guide-card h2 {
  margin: 0;
  font-size: var(--text-xl);
  letter-spacing: -0.025em;
}

.deal-execution-guide-card p {
  margin: 0;
  color: var(--color-ink-soft);
  line-height: 1.55;
}

.deal-execution-guide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  align-items: center;
}

.deal-execution-guide-target {
  position: relative;
  z-index: 1201;
  border-radius: var(--radius-md);
  outline: 3px solid color-mix(in srgb, var(--color-focus) 70%, transparent);
  outline-offset: 6px;
  box-shadow: 0 0 0 9999px color-mix(in srgb, var(--color-ink) 0%, transparent);
}

.modal-layer:has(.deal-execution-guide-target) {
  z-index: 1201;
}

html.has-deal-execution-guide {
  scroll-behavior: smooth;
}

.sprint-facts dt,
.sprint-item-meta {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.5;
}

.deal-sprint-controls {
  display: grid;
  grid-template-columns: minmax(20rem, 30rem) minmax(14rem, 22rem) auto;
  gap: var(--space-3);
  align-items: end;
  width: min(100%, 70rem);
}

.deal-sprint-controls label {
  display: grid;
  gap: var(--space-1);
  min-width: 0;
  margin: 0;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 700;
}

.deal-sprint-controls label[hidden] {
  display: none;
}

.deal-sprint-controls > button {
  min-height: var(--control-height);
  align-self: end;
  justify-self: start;
}

.deal-sprint-context-host:empty {
  display: none;
}

.sprint-phase-controls > .deal-sprint-controls {
  margin-left: var(--space-2);
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-line);
}

.sprint-phase-controls > .deal-sprint-controls select {
  min-height: 2.5rem;
  padding-block: var(--space-2);
  font-size: var(--text-sm);
}


.sprint-item.is-overdue .sprint-item-meta {
  color: var(--color-danger);
}

.sprint-item.is-due-today .sprint-item-meta,
.sprint-item.is-waiting-dependency .sprint-item-meta {
  color: var(--color-warning);
}

.sprint-briefing,
.sprint-item p {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.sprint-phase-list,
.sprint-items {
  display: grid;
  gap: var(--space-4);
}

.sprint-phase-body {
  display: grid;
  gap: var(--space-4);
  padding-top: var(--space-4);
}

.sprint-next-milestone {
  display: flex;
  width: 100%;
  min-height: 4.5rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border: 1px solid color-mix(in srgb, var(--color-accent) 38%, var(--color-line));
  border-radius: var(--radius-md);
  color: var(--color-ink);
  background: var(--color-accent-soft);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease-out, background-color 160ms ease-out, transform 160ms ease-out;
}

.sprint-next-milestone:hover {
  border-color: var(--color-accent);
  background: color-mix(in srgb, var(--color-accent-soft) 72%, var(--color-surface));
  transform: translateY(-1px);
}

.sprint-next-milestone:focus-visible {
  outline: 0.1875rem solid color-mix(in srgb, var(--color-accent) 35%, transparent);
  outline-offset: 0.125rem;
}

.sprint-next-milestone:disabled {
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
  cursor: default;
}

.sprint-next-milestone-copy {
  display: grid;
  min-width: 0;
  gap: var(--space-1);
}

.sprint-next-milestone-label {
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sprint-next-milestone strong {
  overflow-wrap: anywhere;
  font-size: var(--text-md);
  line-height: 1.35;
}

.sprint-next-milestone-meta {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.4;
}

.sprint-next-milestone svg {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.75;
}

.sprint-phase-body[hidden],
.sprint-completed-items[hidden] {
  display: none;
}

.sprint-phase > header,
.sprint-item {
  display: flex;
  justify-content: space-between;
  gap: var(--space-5);
  align-items: flex-start;
}

.sprint-phase > header {
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-line);
}

.sprint-phase > header h4 {
  margin: 0;
  font-size: var(--text-md);
  line-height: 1.35;
}

.sprint-phase-description,
.sprint-phase-summary {
  margin: 0;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.5;
}

.sprint-phase-title {
  display: grid;
  gap: var(--space-1);
}

.sprint-phase-controls,
.sprint-completed-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.sprint-empty-phase-controls {
  justify-content: flex-end;
}

.sprint-phase-controls.is-collapsed > :not(:last-child) {
  display: none;
}

.sprint-completed-group {
  align-items: flex-start;
  flex-direction: column;
  padding-top: var(--space-2);
  border-top: 1px solid var(--color-line);
}

.sprint-completed-items {
  width: 100%;
}

.sprint-item {
  flex-wrap: wrap;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-left: 0.25rem solid var(--color-line-strong);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
}

.sprint-item-date {
  flex: 0 0 5.5rem;
  color: var(--color-accent);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.35;
  text-transform: uppercase;
  white-space: nowrap;
}

.sprint-item-main {
  flex: 1 1 auto;
  min-width: 0;
}

.sprint-item-main[role="button"] {
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.sprint-item-main[role="button"]:hover h5 {
  color: var(--color-accent-strong);
}

.sprint-item-main[role="button"]:focus-visible {
  outline: 0.1875rem solid color-mix(in srgb, var(--color-focus) 36%, transparent);
  outline-offset: 0.25rem;
}

.sprint-item-heading-row {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.sprint-item-heading-row h5 {
  flex: 1 1 20rem;
}

.sprint-note-indicator {
  display: inline-flex;
  min-height: 1.75rem;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--space-1);
  padding-inline: var(--space-2);
  border-radius: var(--radius-sm);
  color: var(--color-warning);
  background: var(--color-warning-soft);
  font-size: var(--text-xs);
  font-weight: 750;
}

.sprint-note-indicator svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

.sprint-item.is-completed {
  border-color: color-mix(in srgb, var(--color-success) 42%, var(--color-line));
  border-left-width: 1px;
  background: var(--color-success-soft);
}

.sprint-item.is-skipped {
  border-left-color: var(--color-success);
}

.sprint-completion-mark {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
  color: var(--color-success);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sprint-completion-mark svg {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
}

.sprint-completion-mark circle {
  fill: currentColor;
}

.sprint-completion-mark path {
  fill: none;
  stroke: var(--color-surface);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.sprint-item.is-completed h5 {
  color: color-mix(in srgb, var(--color-ink) 86%, var(--color-success));
}

.sprint-item.is-completed .sprint-item-actions .secondary-button {
  border-color: color-mix(in srgb, var(--color-success) 36%, var(--color-line));
  background: var(--color-surface);
}

.sprint-item.is-blocked {
  border-left-color: var(--color-danger);
}

.sprint-item.is-scroll-target {
  outline: 0.1875rem solid color-mix(in srgb, var(--color-accent) 42%, transparent);
  outline-offset: 0.1875rem;
}

@media (prefers-reduced-motion: reduce) {
  .sprint-next-milestone {
    transition: none;
  }

  .sprint-next-milestone:hover {
    transform: none;
  }
}

.sprint-item h5,
.sprint-item p {
  margin: 0 0 var(--space-2);
}

.sprint-item h5 {
  font-size: var(--text-md);
  font-weight: 700;
  line-height: 1.35;
}

.sprint-item-support {
  width: 100%;
  max-width: none;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.sprint-story-suggestion {
  width: 100%;
  max-width: none;
  padding: var(--space-3);
  border: 1px solid color-mix(in srgb, var(--color-warning) 32%, var(--color-line));
  border-radius: var(--radius-md);
  background: var(--color-warning-soft);
  color: var(--color-ink);
}

.sprint-story-suggestion strong {
  display: block;
  margin-bottom: var(--space-1);
}

.sprint-story-suggestion p {
  margin: var(--space-1) 0 0;
}

.sprint-story-suggestion-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.sprint-child-actions {
  display: grid;
  width: calc(100% - 5.5rem - var(--space-5));
  flex: 0 0 calc(100% - 5.5rem - var(--space-5));
  gap: var(--space-2);
  margin-top: var(--space-4);
  margin-left: calc(5.5rem + var(--space-5));
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-line);
}

.sprint-child-actions-heading {
  margin: 0;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sprint-child-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: start;
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-line);
  border: 1px solid color-mix(in srgb, var(--color-warning) 14%, var(--color-line));
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--color-warning-soft) 42%, var(--color-surface));
}

.sprint-child-action:last-child {
  border-bottom: 1px solid color-mix(in srgb, var(--color-warning) 14%, var(--color-line));
}

.sprint-child-action h6 {
  margin: 0 0 var(--space-1);
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 750;
  line-height: 1.35;
}

.sprint-child-action.is-completed h6 {
  color: var(--color-ink-soft);
  text-decoration: line-through;
}

.sprint-child-action-main {
  min-width: 0;
}

.sprint-child-action-controls {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: flex-end;
}

.sprint-item-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: flex-end;
}

.sprint-icon-action {
  position: relative;
  display: inline-grid;
  width: 2.5rem;
  min-height: 2.5rem;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: var(--radius-control);
  color: var(--color-ink-soft);
  background: transparent;
  cursor: pointer;
}

.sprint-icon-action:hover {
  color: var(--color-ink);
  background: var(--color-surface-subtle);
}

.sprint-icon-action:focus-visible {
  outline: 0.1875rem solid color-mix(in srgb, var(--color-focus) 38%, transparent);
  outline-offset: 0.125rem;
}

.sprint-icon-action:is(.is-start, .is-activate) {
  color: var(--color-accent-strong);
  background: var(--color-accent-soft);
}

.sprint-icon-action.is-complete {
  color: var(--color-success);
  background: var(--color-success-soft);
}

.sprint-icon-action.is-delete {
  color: var(--color-danger);
}

.sprint-icon-action.is-delete:hover {
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

.state-actions > .sprint-delete-action {
  margin-inline-start: var(--space-2);
}

.sprint-delete-modal {
  width: min(32rem, calc(100vw - 4rem));
}

.sprint-delete-modal h2 {
  margin-top: 0;
}

.sprint-delete-note {
  display: grid;
  gap: var(--space-2);
  margin: var(--space-5) 0;
  padding: var(--space-4);
  border: 1px solid color-mix(in srgb, var(--color-danger) 25%, var(--color-line));
  border-radius: var(--radius-control);
  color: var(--color-ink-soft);
  background: var(--color-danger-soft);
  line-height: 1.5;
}

.sprint-delete-note strong {
  color: var(--color-ink);
}

.sprint-icon-action.is-skip,
.sprint-icon-action.is-pause,
.sprint-icon-action.is-reopen,
.sprint-icon-action.is-dependency {
  color: var(--color-ink-soft);
}

.sprint-icon-action svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}

.sprint-icon-action::after {
  position: absolute;
  right: 0;
  bottom: calc(100% + var(--space-2));
  z-index: 1;
  width: max-content;
  max-width: 12rem;
  padding: var(--space-1) var(--space-2);
  border-radius: var(--radius-sm);
  color: var(--color-surface);
  background: var(--color-ink);
  box-shadow: var(--shadow-overlay);
  content: attr(data-tooltip);
  font-size: var(--text-xs);
  font-weight: 650;
  line-height: 1.35;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.25rem);
  transition: opacity 120ms ease-out, transform 120ms ease-out;
}

.sprint-icon-action:is(:hover, :focus-visible)::after {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .sprint-icon-action::after {
    transition: none;
  }
}

.work-modal {
  width: min(46rem, calc(100vw - 4rem));
}

.account-contacts > * {
  min-width: 0;
  max-width: 100%;
}

.account-section-nav {
  display: flex;
  gap: var(--space-5);
  margin-top: var(--space-6);
  border-bottom: 1px solid var(--color-line);
}

.account-section-nav a {
  padding: var(--space-3) 0;
  color: var(--color-ink-soft);
  font-weight: 700;
  text-decoration: none;
}

.account-section-nav a:hover,
.account-section-nav a:focus-visible {
  color: var(--color-accent-strong);
}

.account-contact-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(10rem, 14rem);
  gap: var(--space-4);
  align-items: end;
}

.account-contact-toolbar label,
.account-contact-toolbar input,
.account-contact-toolbar select {
  margin: 0;
}

.account-contact-drawer-scroll,
.contact-ai-outreach-drawer-scroll,
.account-contact-drawer-content {
  display: grid;
  align-content: start;
  grid-auto-rows: max-content;
}

.account-contact-drawer-scroll {
  gap: var(--space-5);
}

.contact-ai-outreach-drawer-scroll {
  padding-top: 0;
}

.account-contact-drawer-content {
  gap: 0;
}

.account-contact-method-list,
.account-contact-reference-list {
  display: grid;
  gap: var(--space-3);
}

@media (max-width: 42rem) {
  .drawer.account-contact-drawer,
  .drawer.contact-ai-outreach-drawer,
  .drawer.milestone-note-drawer {
    width: 100%;
    max-width: 100%;
  }

  .milestone-note-body {
    padding-inline: var(--space-4);
  }

  #milestone-note-text {
    font-size: 1rem;
  }
}

.drawer-form {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-8);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-line);
}

.drawer-form label {
  margin: 0;
}

.form-span-2 {
  grid-column: 1 / -1;
}

@media (max-width: 75rem) {
  .overview-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .opportunity-selector {
    min-width: min(30rem, 100%);
  }

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

  .overview-commercial {
    grid-column: auto;
  }

  .sprint-phase-controls > .deal-sprint-controls {
    flex-basis: 100%;
    margin: var(--space-2) 0 0;
    padding: var(--space-3) 0 0;
    border-top: 1px solid var(--color-line);
    border-left: 0;
  }

  .deal-sprint-controls {
    grid-template-columns: minmax(18rem, 1fr) minmax(14rem, 0.75fr) auto;
  }

}

@media (max-width: 48rem) {
  .deal-sprint-controls {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .deal-sprint-controls > button {
    width: 100%;
  }
}

@media (max-width: 75rem) {
  .account-identity-header {
    grid-template-columns: 1fr;
  }

  .account-identity-actions {
    justify-content: flex-start;
  }
}

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

.pricing-summary-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin: 0;
}

.pricing-total {
  margin: var(--space-2) 0 0;
  color: var(--color-ink);
  font-size: 1.35rem;
  font-weight: 750;
  letter-spacing: -0.025em;
}

.pricing-line-table {
  display: grid;
  margin-top: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.pricing-line-table > div {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(8rem, 0.75fr) minmax(7rem, 0.6fr);
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-line);
}

.pricing-line-table > div:last-child {
  border-bottom: 0;
}

.pricing-line-table span {
  color: var(--color-ink-soft);
  font-size: 0.875rem;
  text-align: right;
}

.pricing-line-table strong {
  min-width: 0;
}

.pricing-summary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-4);
}

.pricing-calculator-drawer {
  width: min(74rem, calc(100vw - 3rem));
}

.pricing-calculator-form {
  gap: var(--space-5);
}

.pricing-calculator-panel {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.pricing-calculator-head,
.pricing-matrix-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.pricing-calculator-head h3,
.pricing-matrix-toolbar h3 {
  margin: 0;
}

.pricing-calculator-head p,
.pricing-matrix-toolbar p {
  margin: var(--space-1) 0 0;
}

.pricing-calculator-total {
  min-width: 13rem;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
  text-align: right;
}

.pricing-calculator-total span,
.pricing-line-total span {
  display: block;
  color: var(--color-ink-soft);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pricing-calculator-total strong {
  display: block;
  margin-top: var(--space-1);
  font-size: 1.125rem;
  letter-spacing: -0.025em;
}

.pricing-assumption-grid {
  display: grid;
  grid-template-columns: 1.2fr 1.4fr repeat(4, minmax(8rem, 0.75fr));
  gap: var(--space-3);
}

.pricing-assumption-grid label,
.pricing-line-fields label {
  display: grid;
  gap: var(--space-1);
  color: var(--color-ink-soft);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.pricing-matrix-actions {
  display: flex;
  gap: var(--space-2);
}

.pricing-line-editor {
  display: grid;
  gap: var(--space-2);
}

.pricing-line-row {
  display: grid;
  grid-template-columns: minmax(16rem, 1.3fr) minmax(23rem, 1.6fr) minmax(9rem, 0.5fr);
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.pricing-line-row.is-disabled {
  background: var(--color-surface-subtle);
}

.pricing-line-product {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  margin: 0;
}

.pricing-line-product input {
  margin-top: 0.2rem;
}

.pricing-line-product span {
  display: grid;
  gap: 0.15rem;
}

.pricing-line-product small {
  color: var(--color-ink-soft);
  font-size: 0.875rem;
}

.pricing-line-fields {
  display: grid;
  grid-template-columns: minmax(11rem, 1fr) 5.5rem 6.5rem;
  gap: var(--space-2);
}

.pricing-line-fields input,
.pricing-line-fields select,
.pricing-assumption-grid input,
.pricing-assumption-grid select {
  min-height: 2.5rem;
}

.pricing-line-total {
  text-align: right;
}

.pricing-line-total strong {
  display: block;
  margin-top: var(--space-1);
  font-size: 1.125rem;
}

.pricing-line-note {
  grid-column: 1 / -1;
  margin: calc(var(--space-2) * -1) 0 0 2rem;
}

.pricing-line-empty {
  padding: var(--space-6);
  border: 1px dashed var(--color-line-strong);
  border-radius: var(--radius-md);
  text-align: center;
}

@media (max-width: 82rem) {
  .pricing-assumption-grid,
  .pricing-line-row,
  .pricing-line-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .pricing-calculator-head,
  .pricing-matrix-toolbar {
    display: grid;
  }

  .pricing-calculator-total,
  .pricing-line-total {
    text-align: left;
  }
}

.component-column {
  display: grid;
  align-content: start;
  gap: var(--space-6);
}

.icon-button.mobile-menu-button {
  display: none;
}

.commercial-story {
  display: grid;
  gap: var(--space-5);
  padding-top: var(--space-6);
}

.commercial-story-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: flex-end;
  gap: var(--space-3);
}

.commercial-story-actions label {
  display: grid;
  gap: var(--space-1);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 650;
}

.commercial-story-actions select {
  min-width: 5.5rem;
}

.commercial-story-actions .tertiary-button.is-danger {
  min-height: var(--control-height);
  padding: 0 var(--space-3);
  color: var(--color-danger);
}

.commercial-story-shell {
  display: grid;
  grid-template-columns: 18rem minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
}

.commercial-story-toolbox {
  position: sticky;
  top: 5.25rem;
  display: grid;
  gap: var(--space-2);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.commercial-story-toolbox h3 {
  margin: 0 0 var(--space-1);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.commercial-story-toolbox button,
.commercial-story-product-sources button {
  min-height: 2.25rem;
  padding: 0 var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-ink);
  font: inherit;
  font-weight: 650;
  text-align: left;
  cursor: pointer;
}

.commercial-story-toolbox button:hover,
.commercial-story-product-sources button:hover {
  border-color: var(--color-line-strong);
  background: var(--color-surface-subtle);
}

.commercial-story-source-panel {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line);
}

.commercial-story-product-sources {
  display: grid;
  gap: var(--space-2);
}

.commercial-story-canvas-wrap {
  display: grid;
  gap: var(--space-3);
}

.commercial-story-canvas-wrap > input,
.commercial-story-canvas-wrap > textarea,
.commercial-story-block input,
.commercial-story-block textarea {
  width: 100%;
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
  font: inherit;
}

.commercial-story-canvas-wrap > input,
.commercial-story-block input {
  min-height: 2.65rem;
  padding: 0 var(--space-3);
}

.commercial-story-canvas-wrap > textarea,
.commercial-story-block textarea {
  min-height: 5rem;
  padding: var(--space-3);
  resize: vertical;
}

.commercial-story-canvas {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background:
    linear-gradient(180deg, rgb(255 255 255 / 92%), rgb(255 255 255 / 98%)),
    var(--color-surface-subtle);
}

.commercial-story-extract {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-4);
  border: 1px solid color-mix(in srgb, var(--color-accent) 22%, var(--color-line));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-accent-soft) 28%, var(--color-surface));
}

.commercial-story-extract-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--space-4);
}

.commercial-story-extract-heading h3 {
  margin: 0;
  font-size: var(--text-lg);
}

.commercial-story-extract-heading p {
  max-width: 68ch;
  margin: var(--space-1) 0 0;
  color: var(--color-ink-soft);
}

.commercial-story-extract-heading span,
.commercial-story-extract-suggestion span {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 700;
}

.commercial-story-extract-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.5fr);
  gap: var(--space-3);
}

.commercial-story-extract-grid label {
  display: grid;
  gap: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 700;
}

.commercial-story-extract-grid input,
.commercial-story-extract-grid textarea {
  width: 100%;
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
  font: inherit;
}

.commercial-story-extract-grid input {
  min-height: 2.65rem;
  padding: 0 var(--space-3);
}

.commercial-story-extract-grid textarea {
  min-height: 11rem;
  padding: var(--space-3);
  resize: vertical;
}

.commercial-story-extract-text {
  grid-column: 1 / -1;
}

.commercial-story-extract-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.commercial-story-extract-results {
  display: grid;
  gap: var(--space-3);
}

.commercial-story-extract-summary {
  margin: 0;
  font-weight: 700;
}

.commercial-story-extract-suggestion-list {
  display: grid;
  gap: var(--space-3);
}

.commercial-story-extract-suggestion {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

.commercial-story-extract-suggestion p {
  margin: 0;
}

.commercial-story-canvas-empty {
  padding: var(--space-8);
  border: 1px dashed var(--color-line-strong);
  border-radius: var(--radius-md);
  text-align: center;
}

.commercial-story-block {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.commercial-story-block.is-header {
  border-color: color-mix(in srgb, var(--color-accent) 34%, var(--color-line));
  background: color-mix(in srgb, var(--color-accent-soft) 42%, var(--color-surface));
}

.commercial-story-block.is-value_proposition {
  border-color: color-mix(in srgb, var(--color-success) 24%, var(--color-line));
}

.commercial-story-block.is-commercial_truths {
  border-color: color-mix(in srgb, var(--color-accent) 28%, var(--color-line));
  background:
    linear-gradient(180deg, rgb(249 252 255 / 92%), rgb(255 255 255 / 98%)),
    var(--color-surface);
}

.commercial-story-truth-help {
  max-width: 62rem;
  margin: 0;
  color: var(--color-ink-soft);
}

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

.commercial-story-truth-field {
  display: grid;
  gap: var(--space-2);
  align-content: start;
}

.commercial-story-truth-field textarea {
  min-height: 7rem;
}

.commercial-story-block.is-divider {
  min-height: 1px;
  padding: 0;
  border-width: 1px 0 0;
  border-radius: 0;
  background: transparent;
}

.commercial-story-block-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.commercial-story-block-type {
  margin: 0;
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.commercial-story-block-actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.commercial-story-block-actions .tertiary-button {
  min-height: 2rem;
  padding-inline: var(--space-2);
  font-size: var(--text-xs);
}

@media (max-width: 75rem) {
  .account-toolbar,
  .pricing-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 48rem) {
  .shell-nav {
    z-index: var(--layer-drawer);
    width: min(19rem, calc(100vw - 3rem));
    box-shadow: var(--shadow-overlay);
    transform: translateX(-105%);
    transition: transform var(--motion-standard) ease;
  }

  .app-shell.nav-open .shell-nav {
    transform: translateX(0);
  }

  .shell-main {
    margin-left: 0;
  }

  .shell-header {
    height: 4rem;
    padding: 0 var(--space-4);
  }

  .icon-button.mobile-menu-button {
    display: inline-grid;
  }

  .shell-content {
    padding: var(--space-8) var(--space-4) var(--space-10);
  }

  .page-title-row {
    display: grid;
  }

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

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

  .contact-toolbar {
    grid-template-columns: 1fr;
  }

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

  .partner-directory {
    padding-right: 0;
    border-right: 0;
    border-bottom: 1px solid var(--color-line);
  }

  .partner-contact-panel {
    padding-left: 0;
  }

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

.catalog-entry-meta {
  justify-content: flex-start;
}

.commercial-story {
  display: grid;
  gap: var(--space-5);
  padding-top: var(--space-6);
}

.commercial-story-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: flex-end;
  gap: var(--space-3);
}

.commercial-story-actions label {
  display: grid;
  gap: var(--space-1);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 650;
}

.commercial-story-actions select {
  min-width: 5.5rem;
}

.commercial-story-actions .tertiary-button.is-danger {
  min-height: var(--control-height);
  padding: 0 var(--space-3);
  color: var(--color-danger);
}

.commercial-story-shell {
  display: grid;
  grid-template-columns: 18rem minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
}

.commercial-story-toolbox {
  position: sticky;
  top: 5.25rem;
  display: grid;
  gap: var(--space-2);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.commercial-story-toolbox h3 {
  margin: 0 0 var(--space-1);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.commercial-story-toolbox button,
.commercial-story-product-sources button {
  min-height: 2.25rem;
  padding: 0 var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-ink);
  font: inherit;
  font-weight: 650;
  text-align: left;
  cursor: pointer;
}

.commercial-story-toolbox button:hover,
.commercial-story-product-sources button:hover {
  border-color: var(--color-line-strong);
  background: var(--color-surface-subtle);
}

.commercial-story-source-panel {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line);
}

.commercial-story-product-sources {
  display: grid;
  gap: var(--space-2);
}

.commercial-story-canvas-wrap {
  display: grid;
  gap: var(--space-3);
}

.commercial-story-canvas-wrap > input,
.commercial-story-canvas-wrap > textarea,
.commercial-story-block input,
.commercial-story-block textarea {
  width: 100%;
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
  font: inherit;
}

.commercial-story-canvas-wrap > input,
.commercial-story-block input {
  min-height: 2.65rem;
  padding: 0 var(--space-3);
}

.commercial-story-canvas-wrap > textarea,
.commercial-story-block textarea {
  min-height: 5rem;
  padding: var(--space-3);
  resize: vertical;
}

.commercial-story-canvas {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background:
    linear-gradient(180deg, rgb(255 255 255 / 92%), rgb(255 255 255 / 98%)),
    var(--color-surface-subtle);
}

.commercial-story-extract {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-4);
  border: 1px solid color-mix(in srgb, var(--color-accent) 22%, var(--color-line));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-accent-soft) 28%, var(--color-surface));
}

.commercial-story-extract-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--space-4);
}

.commercial-story-extract-heading h3 {
  margin: 0;
  font-size: var(--text-lg);
}

.commercial-story-extract-heading p {
  max-width: 68ch;
  margin: var(--space-1) 0 0;
  color: var(--color-ink-soft);
}

.commercial-story-extract-heading span,
.commercial-story-extract-suggestion span {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 700;
}

.commercial-story-extract-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.5fr);
  gap: var(--space-3);
}

.commercial-story-extract-grid label {
  display: grid;
  gap: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 700;
}

.commercial-story-extract-grid input,
.commercial-story-extract-grid textarea {
  width: 100%;
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
  font: inherit;
}

.commercial-story-extract-grid input {
  min-height: 2.65rem;
  padding: 0 var(--space-3);
}

.commercial-story-extract-grid textarea {
  min-height: 11rem;
  padding: var(--space-3);
  resize: vertical;
}

.commercial-story-extract-text {
  grid-column: 1 / -1;
}

.commercial-story-extract-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.commercial-story-extract-results {
  display: grid;
  gap: var(--space-3);
}

.commercial-story-extract-summary {
  margin: 0;
  font-weight: 700;
}

.commercial-story-extract-suggestion-list {
  display: grid;
  gap: var(--space-3);
}

.commercial-story-extract-suggestion {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

.commercial-story-extract-suggestion p {
  margin: 0;
}

.commercial-story-canvas-empty {
  padding: var(--space-8);
  border: 1px dashed var(--color-line-strong);
  border-radius: var(--radius-md);
  text-align: center;
}

.commercial-story-block {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.commercial-story-block.is-header {
  border-color: color-mix(in srgb, var(--color-accent) 34%, var(--color-line));
  background: color-mix(in srgb, var(--color-accent-soft) 42%, var(--color-surface));
}

.commercial-story-block.is-value_proposition {
  border-color: color-mix(in srgb, var(--color-success) 24%, var(--color-line));
}

.commercial-story-block.is-commercial_truths {
  border-color: color-mix(in srgb, var(--color-accent) 28%, var(--color-line));
  background:
    linear-gradient(180deg, rgb(249 252 255 / 92%), rgb(255 255 255 / 98%)),
    var(--color-surface);
}

.commercial-story-truth-help {
  max-width: 62rem;
  margin: 0;
  color: var(--color-ink-soft);
}

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

.commercial-story-truth-field {
  display: grid;
  gap: var(--space-2);
  align-content: start;
}

.commercial-story-truth-field textarea {
  min-height: 7rem;
}

.commercial-story-block.is-divider {
  min-height: 1px;
  padding: 0;
  border-width: 1px 0 0;
  border-radius: 0;
  background: transparent;
}

.commercial-story-block-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.commercial-story-block-type {
  margin: 0;
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.commercial-story-block-actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.commercial-story-block-actions .tertiary-button {
  min-height: 2rem;
  padding-inline: var(--space-2);
  font-size: var(--text-xs);
}

@media (max-width: 75rem) {
  .commercial-story-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .commercial-story-toolbox {
    position: static;
  }

  .commercial-story-truth-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .commercial-story-extract-heading,
  .commercial-story-extract-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
}

@media (max-width: 40rem) {
  .auth-page,
  .proof-page {
    width: min(100% - 1.75rem, 36.25rem);
    padding-top: var(--space-6);
  }

  .brand {
    grid-template-columns: 2rem auto;
    margin-bottom: 2.125rem;
  }

  .brand-mark {
    width: 2rem;
    height: 2rem;
  }

  .brand-context,
  .session-state {
    grid-column: 1 / -1;
    justify-self: start;
    margin-top: var(--space-1);
  }

  .auth-panel,
  .proof-panel {
    padding: var(--space-6) var(--space-5);
  }

  .proof-heading {
    flex-direction: column;
  }

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

  .proof-grid > div,
  .proof-grid > div:nth-child(even) {
    padding: var(--space-5) 0;
    border-left: 0;
  }

  .state-picker {
    align-items: stretch;
    flex-direction: column;
  }

  .user-name {
    display: none;
  }

  .app-shell.nav-open #nav-scrim {
    left: min(19rem, calc(100vw - 3rem));
  }

  .normal-list li {
    grid-template-columns: 1.5rem minmax(0, 1fr);
    padding-block: var(--space-3);
  }

  .normal-list li > :last-child {
    grid-column: 2;
  }
}

@media (max-width: 75rem) {
  .account-dossier-layout {
    grid-template-columns: minmax(0, 1fr) 17rem;
  }

  .account-dossier-main {
    padding-inline: var(--space-5);
  }

  .account-dossier-shell .account-identity-header,
  .account-dossier-shell .account-section-nav {
    padding-inline: var(--space-5);
  }

  .account-dossier-shell .account-identity-header {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .account-dossier-shell .account-identity-actions {
    grid-column: 2;
  }

  .account-dossier-main .overview-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .account-dossier-main .overview-matters {
    grid-column: auto;
  }
}

@media (max-width: 54rem) {
  .account-dossier-layout {
    display: flex;
    flex-direction: column;
  }

  .account-dossier-rail {
    position: static;
    order: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 var(--space-6);
    min-height: 0;
    padding: var(--space-5);
    border-top: 1px solid var(--color-line);
    border-left: 0;
  }

  .dossier-rail-section + .dossier-rail-section {
    padding-top: 0;
  }
}

@media (max-width: 48rem) {
  .account-dossier-shell .shell-header {
    display: flex;
  }

  .account-dossier-shell .shell-content {
    padding: 0;
  }

  .account-dossier-shell .account-identity-header {
    grid-template-columns: 1fr;
    padding-top: var(--space-5);
  }

  .account-dossier-shell .account-identity-actions {
    grid-column: 1;
    grid-row: auto;
  }

  .account-dossier-rail {
    grid-template-columns: minmax(0, 1fr);
  }

  .dossier-rail-section + .dossier-rail-section {
    padding-top: var(--space-5);
  }

  .account-dossier-main .matter-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .account-dossier-main .matter-list article:first-child {
    grid-column: auto;
    padding: var(--space-5) var(--space-4) var(--space-5) calc(var(--space-4) + 0.25rem);
  }

  .account-dossier-main .matter-list article:nth-child(3) {
    padding-left: 0;
    border-top: 1px solid var(--color-line);
    border-left: 0;
  }

  .account-dossier-main .matter-list .matter-preview {
    min-height: 0;
  }

  .summary-editor-drawer {
    width: 100vw;
  }

  .summary-editor-body {
    padding-inline: var(--space-4);
  }

  .drawer.account-section-drawer {
    width: 100vw;
  }

  .account-section-drawer .drawer-header,
  .account-section-drawer-body {
    padding-inline: var(--space-4);
  }

  .account-section-drawer-body .account-contact-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .account-section-drawer-body #overview-opportunity-controls:not([hidden]) {
    grid-template-columns: minmax(0, 1fr);
  }

  .account-section-drawer-body .overview-current .surface-header,
  .account-section-drawer-body .overview-commercial .surface-header {
    grid-template-columns: minmax(0, 1fr);
  }

  .account-section-drawer-body .overview-facts,
  .account-section-drawer-body .commercial-summary-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .account-section-drawer-body .table-shell {
    overflow-x: auto;
  }
}

.account-section-drawer-body .overview-current {
  padding: var(--space-6);
}

.account-section-drawer-body .overview-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  border-bottom: 0;
}

.account-section-drawer-body .overview-facts > div {
  display: block;
  min-height: 4.75rem;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.account-section-drawer-body .overview-facts > div:nth-child(even) {
  border-left: 1px solid var(--color-line);
}

.account-section-drawer-body .overview-facts dt {
  margin: 0 0 var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 650;
  line-height: 1.2;
}

.account-section-drawer-body .overview-facts dd {
  margin: 0;
  color: var(--color-ink);
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.25;
}

.account-section-drawer-body .overview-commercial {
  padding: var(--space-6);
}

.account-section-drawer-body .commercial-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-4);
  border-bottom: 0;
}

.account-section-drawer-body .commercial-summary-grid > div {
  display: block;
  min-height: 7.5rem;
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.account-section-drawer-body .commercial-summary-grid > div + div {
  border-left: 1px solid var(--color-line);
}

.account-section-drawer-body .commercial-summary-grid h4 {
  margin: 0 0 var(--space-3);
}

.account-section-drawer-body .compact-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-2) 0;
}

.account-section-drawer-body .pricing-summary-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.account-section-drawer-body #overview-pricing.muted {
  display: block;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
}

@media (max-width: 75rem) {
  .sprint-child-actions {
    margin-left: 0;
  }

  .account-section-drawer-body .overview-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 54rem) {
  .account-section-drawer-body .overview-facts,
  .account-section-drawer-body .commercial-summary-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* source: frontend/styles/components.css */

.brand-mark {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  color: #fff;
  background: var(--color-accent);
  font-weight: 750;
  clip-path: polygon(50% 0, 100% 22%, 88% 82%, 50% 100%, 12% 82%, 0 22%);
}

.brand-name {
  font-size: 1.35rem;
  font-weight: 720;
  letter-spacing: -0.02em;
}

.brand-context {
  justify-self: end;
  color: var(--color-ink-soft);
  font: 500 0.68rem/1.2 var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.shell-logo-mark {
  width: 2rem;
  height: 2rem;
  font-size: var(--text-xs);
}

.shell-logo-name {
  color: #fff;
  font-size: var(--text-lg);
  font-weight: 720;
  letter-spacing: -0.02em;
}

.icon {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
}

.icon-button,
.menu-button,
.user-button,
.secondary-button,
.primary-button,
.state-link {
  min-height: var(--control-height);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-control);
  color: var(--color-ink);
  background: var(--color-surface);
  font-weight: 650;
}

.icon-button {
  display: inline-grid;
  width: var(--control-height);
  place-items: center;
  padding: 0;
}

.user-button,
.menu-button,
.secondary-button,
.primary-button,
.state-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 0 var(--space-4);
  white-space: nowrap;
}

.user-button {
  padding-left: var(--space-2);
}

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

.primary-button:hover {
  background: #343a40;
}

.test-account-button {
  border-color: color-mix(in srgb, var(--color-danger) 34%, var(--color-line));
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

.test-account-button:hover {
  border-color: var(--color-danger);
  background: color-mix(in srgb, var(--color-danger-soft) 86%, var(--color-danger));
}

.action-button svg {
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.quiet-icon-action {
  position: relative;
  display: inline-grid;
  width: 2.5rem;
  min-height: 2.5rem;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  color: var(--color-ink-soft);
  background: transparent;
}

.quiet-icon-action:hover {
  border-color: var(--color-line);
  color: var(--color-ink);
  background: var(--color-surface-subtle);
}

.quiet-icon-action.is-danger:hover {
  border-color: color-mix(in srgb, var(--color-danger) 24%, transparent);
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

.quiet-icon-action:focus-visible {
  outline: 0.1875rem solid color-mix(in srgb, var(--color-focus) 38%, transparent);
  outline-offset: 0.125rem;
}

.quiet-icon-action svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.quiet-icon-action::after {
  position: absolute;
  right: 0;
  bottom: calc(100% + var(--space-2));
  z-index: 3;
  width: max-content;
  padding: var(--space-1) var(--space-2);
  border-radius: var(--radius-sm);
  color: var(--color-surface);
  background: var(--color-ink);
  box-shadow: var(--shadow-overlay);
  content: attr(data-tooltip);
  font-size: var(--text-xs);
  font-weight: 650;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.2rem);
  transition: opacity 120ms ease-out, transform 120ms ease-out;
}

.quiet-icon-action:is(:hover, :focus-visible)::after {
  opacity: 1;
  transform: translateY(0);
}

.secondary-button:hover,
.icon-button:hover,
.user-button:hover,
.menu-button:hover,
.state-link:hover {
  border-color: #97918a;
  background: var(--color-surface-subtle);
}

.avatar {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--color-surface-subtle);
  font-size: var(--text-xs);
}

.nav-link {
  display: flex;
  min-height: 3rem;
  align-items: center;
  gap: var(--space-3);
  min-height: 2.75rem;
  padding: 0 var(--space-3);
  border-radius: var(--radius-md);
  color: #d3dadd;
  font-weight: 550;
}

.nav-link:hover {
  color: var(--color-nav-ink-strong);
  background: var(--color-nav-hover);
}

.nav-link[aria-current="page"] {
  color: var(--color-nav-ink-strong);
  background: var(--color-nav-active);
  font-weight: 680;
}

.nav-status {
  display: block;
  padding: var(--space-3) var(--space-4);
  color: var(--color-nav-ink-soft);
  font-size: var(--text-xs);
}

.notification-badge {
  position: absolute;
  inset: 0.25rem 0.25rem auto auto;
  width: 0.5rem;
  height: 0.5rem;
  border: 2px solid var(--color-surface);
  border-radius: 50%;
  background: var(--color-accent);
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 160ms ease, transform 160ms ease, background 160ms ease;
}

.notification-button {
  position: relative;
}

.notification-button.has-alerts {
  color: var(--color-danger);
  border-color: color-mix(in srgb, var(--color-danger) 48%, var(--color-line));
  background: var(--color-danger-soft);
}

.notification-button.has-alerts .notification-badge {
  opacity: 1;
  transform: scale(1);
  background: var(--color-danger);
}

.popup {
  position: absolute;
  top: calc(100% + var(--space-2));
  right: 0;
  width: min(20rem, calc(100vw - 2rem));
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-overlay);
}

.popup-title {
  margin: 0;
  padding: var(--space-2) var(--space-3);
  font-weight: 700;
}

.popup-note,
.popup-identity {
  margin: 0;
  padding: var(--space-3);
  color: var(--color-ink-soft);
}

.popup-identity strong {
  display: block;
  color: var(--color-ink);
}

.popup-action {
  width: 100%;
  justify-content: flex-start;
  border: 0;
}

.notification-menu {
  width: min(26rem, calc(100vw - 2rem));
}

.notification-list {
  display: grid;
  gap: var(--space-2);
}

.notification-summary {
  margin: 0;
  padding: var(--space-2) var(--space-3);
  color: var(--color-danger);
  font-weight: 700;
}

.notification-item {
  display: grid;
  gap: 0.2rem;
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  color: var(--color-ink);
  text-decoration: none;
}

.notification-item:hover {
  border-color: color-mix(in srgb, var(--color-danger) 38%, var(--color-line));
  background: var(--color-danger-soft);
}

.notification-item strong {
  font-size: var(--text-sm);
}

.notification-item span {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.state-picker {
  flex-wrap: wrap;
  margin-bottom: var(--space-6);
}

.section-tabs {
  display: flex;
  gap: var(--space-6);
  margin: calc(-1 * var(--space-3)) 0 var(--space-6);
  border-bottom: 1px solid var(--color-line);
}

.section-tabs a {
  padding: var(--space-3) 0;
  border-bottom: 2px solid transparent;
  color: var(--color-ink-soft);
  font-weight: 650;
}

.section-tabs a[aria-current="page"] {
  border-color: var(--color-accent);
  color: var(--color-ink);
}

.status-draft {
  color: #6f5314;
  background: #fff3cc;
}

.status-active {
  color: #17623b;
  background: #dff5e8;
}

.status-retired {
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
}

.status-open,
.status-finalized,
.status-commit,
.status-selected {
  color: var(--color-success);
  background: var(--color-success-soft);
}

.status-won,
.status-best_case,
.status-proposed {
  color: #2457a6;
  background: #edf4ff;
}

.status-lost,
.status-archived,
.status-superseded {
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
}

.status-pipeline,
.status-qualification,
.status-discovery,
.status-technical_validation,
.status-proposal,
.status-negotiation,
.status-draft {
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

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

.compact-list li,
.drawer-record-list li {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.compact-list span,
.drawer-record-list span {
  display: block;
}

.pricing-summary-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.pricing-total {
  margin: var(--space-3) 0 0;
  font-size: var(--text-xl);
  font-weight: 720;
}

.mono {
  font-family: var(--font-mono);
}

.pricing-drawer {
  width: min(72rem, calc(100vw - 4rem));
}

.detail-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
}

.detail-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}

.detail-table th,
.detail-table td {
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-line);
  text-align: left;
  vertical-align: top;
}

.detail-table th {
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
  font-size: var(--text-xs);
}

.table-link {
  padding: 0;
  border: 0;
  color: var(--color-accent-strong);
  background: transparent;
  font-weight: 650;
}

.inline-empty,
.price-preview,
.preview-result {
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
}

.inline-empty p {
  margin-bottom: 0;
}

.price-preview {
  margin-top: var(--space-6);
}

.price-preview .detail-section-header {
  margin-top: 0;
}

.preview-result {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  margin-top: var(--space-4);
  background: var(--color-surface);
}

.preview-result.is-match strong {
  color: var(--color-accent-strong);
  font-size: var(--text-xl);
}

.state-link {
  min-height: 2.25rem;
  padding: 0 var(--space-3);
  font-size: var(--text-xs);
}

.state-link[aria-current="true"] {
  border-color: var(--color-accent);
  color: var(--color-accent-strong);
  background: var(--color-accent-soft);
}

.surface,
.state-panel {
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.surface {
  padding: var(--space-6);
}

.surface-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}

.normal-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  list-style: none;
}

.normal-list li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  min-height: 3.5rem;
  padding: 0 var(--space-4);
}

.normal-list li + li {
  border-top: 1px solid var(--color-line);
}

.list-mark {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: var(--color-accent-soft);
  box-shadow: inset 0 0 0 1px var(--color-accent);
}

.status-badge {
  padding: var(--space-1) var(--space-2);
  border-radius: 999px;
  color: var(--color-success);
  background: var(--color-success-soft);
  font-size: var(--text-xs);
  font-weight: 650;
}

.state-panel {
  display: grid;
  min-height: 20rem;
  place-items: center;
  padding: var(--space-10);
  text-align: center;
}

.state-content {
  max-width: 27rem;
}

.state-symbol {
  display: grid;
  width: 3rem;
  height: 3rem;
  margin: 0 auto var(--space-4);
  place-items: center;
  border-radius: 50%;
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
}

.state-panel.is-error .state-symbol {
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

.state-panel.is-denied .state-symbol {
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

.state-content p {
  margin-bottom: var(--space-6);
  color: var(--color-ink-soft);
}

.skeleton {
  display: grid;
  width: min(100%, 36rem);
  gap: var(--space-4);
}

.skeleton-line {
  height: 0.75rem;
  border-radius: 999px;
  background: var(--color-surface-subtle);
}

.skeleton-line:nth-child(2) {
  width: 82%;
}

.skeleton-line:nth-child(3) {
  width: 64%;
}

.permission-result {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: 1px solid #b8dac7;
  border-radius: var(--radius-md);
  color: var(--color-success);
  background: var(--color-success-soft);
}

.permission-result.denied {
  border-color: #e7c3bd;
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

.status-dot {
  flex: 0 0 auto;
  width: 0.6875rem;
  height: 0.6875rem;
  margin-top: var(--space-1);
  border-radius: 50%;
  background: currentColor;
}

.toast-region {
  position: fixed;
  right: var(--space-5);
  bottom: var(--space-5);
  z-index: var(--layer-toast);
  width: min(23rem, calc(100vw - 2rem));
}

.toast {
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-ink);
  color: #fff;
  box-shadow: var(--shadow-overlay);
}

.toast-action {
  width: 100%;
  cursor: pointer;
  text-align: left;
  font: inherit;
}

.toast-action:hover {
  background: var(--color-accent-strong);
}

.account-surface {
  padding: 0;
  overflow: hidden;
}

.contact-surface {
  padding: 0;
  overflow: hidden;
}

.product-classification.is-semperis {
  color: var(--color-accent-strong);
  background: var(--color-accent-soft);
}

.product-classification.is-competitive {
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

.pill.is-retired {
  color: var(--color-ink-soft);
  background: var(--color-line);
}

.product-description {
  margin: var(--space-5) 0 0;
  color: var(--color-ink-soft);
  line-height: 1.65;
}

.product-description.is-empty {
  color: var(--color-ink-muted);
  font-style: italic;
}

.product-description-form {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.product-description-form[hidden] {
  display: none;
}

.product-description-form label {
  display: grid;
  gap: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 700;
}

.product-description-form textarea {
  width: 100%;
  min-height: 9rem;
  resize: vertical;
  color: var(--color-ink);
  font: inherit;
  line-height: 1.55;
}

.product-description-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-3);
}

.contact-surface > .surface-header {
  margin: 0;
  padding: var(--space-5) var(--space-6);
  border-bottom: 1px solid var(--color-line);
}

.contact-table th,
.contact-table td {
  padding-inline: var(--space-4);
}

.contact-table {
  min-width: 66rem;
  table-layout: fixed;
}

.contact-table th:nth-child(1),
.contact-table td:nth-child(1) {
  width: 26%;
}

.contact-table th:nth-child(2),
.contact-table td:nth-child(2) {
  width: 34%;
}

.contact-table th:nth-child(3),
.contact-table td:nth-child(3) {
  width: 25%;
}

.contact-table th:nth-child(4),
.contact-table td:nth-child(4) {
  width: 11%;
}

.contact-table th:nth-child(5),
.contact-table td:nth-child(5) {
  width: 4%;
}

.contact-table tbody tr:hover {
  background: var(--color-surface-subtle);
}

.contact-list-row td {
  height: 4.5rem;
}

.contact-person-cell,
.contact-context-cell {
  min-width: 0;
}

.contact-person-button {
  display: grid;
  width: 100%;
  gap: var(--space-1);
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.contact-person-button:hover .contact-person-name,
.contact-person-button:focus-visible .contact-person-name {
  color: var(--color-accent-strong);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.contact-person-button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-focus) 35%, transparent);
  outline-offset: 0.2rem;
}

.contact-person-name {
  overflow: hidden;
  color: var(--color-ink);
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contact-person-subline {
  overflow: hidden;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contact-context-cell {
  color: var(--color-ink);
}

.contact-context-cell strong,
.contact-context-cell span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contact-context-cell span {
  margin-top: var(--space-1);
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
}

.contact-method-cell {
  max-width: 20rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contact-state-cell {
  white-space: nowrap;
}

.contact-action-cell {
  text-align: right;
}

.contact-row-arrow {
  color: var(--color-ink-soft);
}

.partner-select {
  display: grid;
  width: 100%;
  gap: var(--space-1);
  padding: var(--space-3);
  border: 0;
  border-left: 3px solid transparent;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.partner-select:hover {
  background: var(--color-surface-subtle);
}

.partner-select[aria-current="true"] {
  border-left-color: var(--color-accent-strong);
  background: var(--color-accent-soft);
}

.partner-select strong,
.partner-select span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.partner-contact-table {
  min-width: 42rem;
}

.account-surface > .surface-header {
  margin: 0;
  padding: var(--space-5) var(--space-6);
  border-bottom: 1px solid var(--color-line);
}

.account-table-wrap {
  overflow-x: auto;
}

.account-table {
  width: 100%;
  min-width: 40rem;
  border-collapse: collapse;
  text-align: left;
}

.accounts-list-table {
  min-width: 58rem;
  table-layout: fixed;
}

.accounts-list-table th:nth-child(1),
.accounts-list-table td:nth-child(1) {
  width: 44%;
}

.accounts-list-table th:nth-child(2),
.accounts-list-table td:nth-child(2) {
  width: 24%;
}

.accounts-list-table th:nth-child(3),
.accounts-list-table td:nth-child(3) {
  width: 18%;
}

.accounts-list-table th:nth-child(4),
.accounts-list-table td:nth-child(4) {
  width: 14%;
}

.account-table tbody tr:hover {
  background: var(--color-surface-subtle);
}

.account-table th,
.account-table td {
  padding: var(--space-4);
  border-bottom: 1px solid var(--color-line);
  vertical-align: middle;
}

.account-table th {
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.account-name {
  display: block;
  font-weight: 700;
}

.account-domain {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.account-row-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.account-row-link:hover .account-name {
  color: var(--color-accent-strong);
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.account-contacts-table table {
  width: 100%;
  border-collapse: collapse;
}

.account-contacts-table {
  overflow-x: auto;
}

.account-contacts-table th,
.account-contacts-table td {
  padding: var(--space-4);
  border-bottom: 1px solid var(--color-line);
  text-align: left;
  vertical-align: middle;
}

.account-contacts-table th {
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.account-contact-row-button {
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  font-weight: 750;
  text-align: left;
  cursor: pointer;
}

.account-contact-row-button:hover,
.account-contact-row-button:focus-visible {
  color: var(--color-accent-strong);
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.account-contact-role,
.account-contact-method {
  display: grid;
  gap: var(--space-1);
}

.account-contact-method a,
.account-contact-reference-list a {
  overflow-wrap: anywhere;
}

.account-contact-filter-status {
  min-height: 1.25rem;
  margin: 0;
}

.account-contact-detail-card {
  padding: var(--space-6) 0;
  border-bottom: 1px solid var(--color-line);
}

.account-contact-detail-card:last-child {
  padding-bottom: var(--space-2);
  border-bottom: 0;
}

.account-contact-detail-card h3,
.account-contact-detail-card p {
  margin-top: 0;
}

.account-contact-detail-card h3 {
  margin-bottom: var(--space-4);
  font-size: var(--text-md);
}

.account-contact-detail-card dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: var(--space-2) var(--space-4);
  margin: 0;
}

.account-contact-detail-card dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.account-contact-drawer-header {
  align-items: flex-start;
  padding-block: var(--space-5);
}

.account-contact-profile-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-4);
}

.account-contact-profile-heading > div {
  min-width: 0;
}

.account-contact-profile-heading h2,
.account-contact-profile-heading p {
  overflow-wrap: anywhere;
}

.account-contact-portrait {
  display: grid;
  width: 4.5rem;
  height: 4.5rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--color-line);
  border-radius: 50%;
  color: var(--color-accent-strong);
  background: var(--color-accent-soft);
}

.account-contact-portrait svg {
  width: 2.75rem;
  fill: currentColor;
}

.account-contact-drawer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-line);
}

.account-contact-drawer-actions[hidden] {
  display: none;
}

.account-contact-outreach-action {
  display: grid;
  gap: var(--space-3);
  padding-top: var(--space-2);
}

.account-contact-outreach-action[hidden] {
  display: none;
}

.account-contact-outreach-button {
  display: flex;
  width: 100%;
  min-height: 4.5rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-4) var(--space-5);
  text-align: left;
}

.account-contact-outreach-action .field-help {
  margin: 0;
}

.account-contact-outreach-action .contact-ai-history {
  margin-top: var(--space-5);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-line);
}

.account-contact-drawer .contact-ai-history-list {
  grid-template-columns: minmax(0, 1fr);
}

.account-contact-outreach-button span {
  display: grid;
  gap: var(--space-1);
}

.account-contact-outreach-button strong,
.account-contact-outreach-button small {
  color: inherit;
}

.account-contact-outreach-button small {
  font-size: var(--text-xs);
  font-weight: 500;
  opacity: 0.76;
}

.account-contact-outreach-button svg {
  width: 1.25rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.secondary-button.account-contact-outreach-button.is-readiness-complete {
  border-color: color-mix(in srgb, var(--color-success) 40%, var(--color-line));
  color: var(--color-success);
  background: var(--color-success-soft);
}

.secondary-button.account-contact-outreach-button.is-readiness-partial {
  border-color: color-mix(in srgb, var(--color-warning) 40%, var(--color-line));
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

.secondary-button.account-contact-outreach-button.is-readiness-none {
  border-color: color-mix(in srgb, var(--color-danger) 36%, var(--color-line));
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

.secondary-button.account-contact-outreach-button:is(.is-readiness-complete, .is-readiness-partial, .is-readiness-none):hover {
  filter: brightness(0.97);
}

.sprint-contact-link {
  appearance: none;
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--color-accent-strong);
  background: transparent;
  font: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: inherit;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 42%, transparent);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
  cursor: pointer;
}

.sprint-contact-link:hover {
  text-decoration-color: currentColor;
}

.sprint-contact-link:focus-visible {
  outline: 0.1875rem solid color-mix(in srgb, var(--color-focus) 36%, transparent);
  outline-offset: 0.125rem;
}

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

.account-contact-method-link {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  color: inherit;
  background: var(--color-surface-subtle);
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.account-contact-method-link:hover,
.account-contact-method-link:focus-visible {
  border-color: var(--color-accent);
  color: var(--color-accent-strong);
  background: var(--color-accent-soft);
}

.account-contact-method-link:disabled {
  color: var(--color-ink-soft);
  cursor: not-allowed;
  opacity: 0.72;
}

.account-contact-profile-form {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
}

.account-contact-profile-form label {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 700;
}

.account-contact-profile-form input {
  width: 100%;
  min-height: 2.5rem;
  margin: 0;
  background: var(--color-surface);
}

.account-contact-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.account-contact-method-link > span {
  display: grid;
  min-width: 0;
  gap: var(--space-1);
}

.account-contact-method-link strong {
  overflow-wrap: anywhere;
  font-size: var(--text-sm);
}

.account-contact-method-label {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.account-contact-method-link svg {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

@media (max-width: 42rem) {
  .account-contact-profile-heading {
    gap: var(--space-3);
  }

  .account-contact-portrait {
    width: 3.75rem;
    height: 3.75rem;
  }

  .account-contact-method-list {
    grid-template-columns: 1fr;
  }
}

.segmented-options {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.segmented-options label,
.inline-check {
  display: flex;
  gap: var(--space-2);
  align-items: center;
}

.segmented-options input,
.inline-check input {
  width: auto;
  margin: 0;
}

.load-more-row {
  display: flex;
  justify-content: center;
}

.account-back-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-5);
  color: var(--color-ink-soft);
  font-weight: 650;
}

.account-back-link:hover,
.account-identity-domain a:hover {
  color: var(--color-accent-strong);
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.account-identity-main h1 {
  max-width: 48rem;
  overflow-wrap: anywhere;
}

.account-identity-domain {
  margin: var(--space-2) 0 0;
  color: var(--color-ink-soft);
  overflow-wrap: anywhere;
}

.identity-linked-value {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
  font-weight: 650;
}

.account-archive-action {
  min-height: var(--control-height);
  padding: 0 var(--space-3);
  border: 0;
  border-radius: var(--radius-control);
  color: var(--color-danger);
  background: transparent;
  font-weight: 650;
}

.account-archive-action:hover {
  background: var(--color-danger-soft);
}

.salesforce-edit-section {
  margin-top: var(--space-8);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-line);
}

.salesforce-edit-section h3,
.salesforce-edit-section p {
  margin-top: 0;
}

.salesforce-edit-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-3);
}

#account-archive-modal .danger-button {
  margin-right: 0;
}

.pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0 var(--space-2);
  border-radius: 999px;
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
  font-size: var(--text-xs);
  font-weight: 650;
}

.pill.is-active,
.pill.is-customer {
  color: var(--color-success);
  background: var(--color-success-soft);
}

.pill.is-archived {
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

.account-state {
  display: grid;
  min-height: 18rem;
  place-items: center;
  align-content: center;
  gap: var(--space-3);
  padding: var(--space-8);
  text-align: center;
}

.account-state.is-denied .state-symbol {
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

.spinner {
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid var(--color-line);
  border-top-color: var(--color-accent);
  border-radius: 50%;
  animation: spin 700ms linear infinite;
}

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

.detail-grid > div {
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-line);
}

.detail-grid dt {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.detail-grid dd {
  margin: var(--space-1) 0 0;
  font-weight: 650;
}

.relationship-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-4);
}

.danger-button {
  min-height: var(--control-height);
  margin-right: auto;
  padding: 0 var(--space-4);
  border: 1px solid #e7c3bd;
  border-radius: var(--radius-control);
  color: var(--color-danger);
  background: var(--color-danger-soft);
  font-weight: 650;
}

.tertiary-button {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  color: var(--color-ink-soft);
  background: transparent;
  font-weight: 650;
  white-space: nowrap;
}

.tertiary-button:hover {
  color: var(--color-ink);
  background: var(--color-surface-subtle);
}

.contact-detail-section + .contact-detail-section {
  margin-top: var(--space-6);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-line);
}

.contact-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}

.contact-section-header h3 {
  margin: 0;
}

.compact-button {
  min-height: 2.25rem;
  padding-inline: var(--space-3);
  font-size: var(--text-xs);
}

.contact-detail-list,
.affiliation-timeline {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-detail-list li,
.affiliation-timeline li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) 0;
}

.contact-detail-list li + li {
  border-top: 1px solid var(--color-line);
}

.contact-detail-list li > div:first-child,
.affiliation-timeline li > div:first-child {
  display: grid;
  min-width: 0;
  gap: var(--space-1);
  overflow-wrap: anywhere;
}

.contact-inline-actions {
  display: flex;
  flex: 0 0 auto;
  gap: var(--space-2);
}

.text-action {
  padding: var(--space-1);
  border: 0;
  color: var(--color-accent-strong);
  background: transparent;
  font-size: var(--text-xs);
  font-weight: 650;
}

.text-action:hover {
  text-decoration: underline;
}

.affiliation-timeline li {
  position: relative;
  padding-left: var(--space-6);
}

.affiliation-timeline li::before {
  position: absolute;
  top: 1.1rem;
  left: 0;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background: var(--color-line-strong);
  content: "";
}

.affiliation-timeline li.is-current::before {
  background: var(--color-success);
}

.affiliation-timeline li + li::after {
  position: absolute;
  bottom: calc(100% - 1.1rem);
  left: 0.28125rem;
  width: 1px;
  height: calc(100% - 0.1rem);
  background: var(--color-line);
  content: "";
}

.files-header {
  align-items: flex-start;
}

.files-header p {
  margin: var(--space-1) 0 0;
  font-size: var(--text-xs);
}

.files-state {
  display: grid;
  min-height: 10rem;
  place-items: center;
  align-content: center;
  gap: var(--space-2);
  padding: var(--space-5);
  border: 1px dashed var(--color-line-strong);
  border-radius: var(--radius-md);
  text-align: center;
}

.files-state .state-symbol {
  margin-bottom: var(--space-1);
}

.files-state p {
  max-width: 24rem;
  margin: 0;
}

.files-state.is-error .state-symbol {
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

.files-state.is-denied .state-symbol {
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

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

.file-card {
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
}

.file-card-top,
.file-card-actions,
.file-inline-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.file-card-copy {
  display: grid;
  min-width: 0;
  gap: var(--space-1);
}

.file-name {
  overflow-wrap: anywhere;
}

.file-status {
  flex: 0 0 auto;
  padding: var(--space-1) var(--space-2);
  border-radius: 999px;
  color: var(--color-warning);
  background: var(--color-warning-soft);
  font-size: var(--text-xs);
  font-weight: 700;
}

.file-status.is-available {
  color: var(--color-success);
  background: var(--color-success-soft);
}

.file-status.is-rejected {
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

.file-meta,
.file-state-copy {
  margin: var(--space-2) 0 0;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.file-state-copy {
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--color-warning-soft);
}

.file-state-copy.is-rejected {
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

.file-card-actions {
  justify-content: flex-start;
  margin-top: var(--space-3);
}

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

.file-upload-form,
.file-inline-form {
  margin-top: var(--space-4);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.file-upload-form {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.file-upload-form label:first-child,
.file-inline-form label:first-child {
  margin-top: 0;
}

.file-inline-actions {
  justify-content: flex-end;
  margin-top: var(--space-4);
}

.file-upload-progress {
  margin: var(--space-4) 0 0;
  color: var(--color-accent-strong);
  font-size: var(--text-sm);
  font-weight: 650;
}

.file-duplicate-warning {
  margin-bottom: 0;
  background: var(--color-warning-soft);
}

.file-archive-confirm p {
  margin: var(--space-2) 0 0;
}

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

.research-migration-note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
  font-size: var(--text-sm);
}

.research-migration-note strong {
  flex: 0 0 auto;
  color: var(--color-ink);
}

.research-list {
  display: grid;
  gap: var(--space-5);
}

.sales-play-workbench {
  display: grid;
  grid-template-columns: minmax(18rem, 24rem) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
}

.sales-play-rail {
  position: sticky;
  top: calc(var(--header-height) + var(--space-5));
  display: grid;
  max-height: calc(100vh - var(--header-height) - var(--space-10));
  gap: var(--space-3);
  overflow: hidden;
}

.sales-play-rail-list {
  display: grid;
  gap: var(--space-2);
  overflow: auto;
  padding-right: var(--space-1);
}

.sales-play-nav-card {
  display: grid;
  gap: var(--space-2);
  width: 100%;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
  text-align: left;
  cursor: pointer;
}

.sales-play-nav-card:hover {
  border-color: var(--color-line-strong);
  background: var(--color-surface-subtle);
}

.sales-play-nav-card[aria-pressed="true"] {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.sales-play-nav-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.sales-play-nav-card strong {
  line-height: 1.25;
}

.sales-play-nav-summary {
  display: -webkit-box;
  overflow: hidden;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.sales-play-detail {
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.sales-play-detail-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-6);
  align-items: start;
  padding: var(--space-6);
  border-bottom: 1px solid var(--color-line);
}

.sales-play-detail-heading {
  display: grid;
  gap: var(--space-3);
}

.sales-play-detail-heading h2,
.sales-play-detail-heading p {
  margin: 0;
}

.sales-play-summary {
  max-width: 72ch;
  color: var(--color-ink-soft);
}

.sales-play-detail-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
}

.sales-play-guidance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-bottom: 1px solid var(--color-line);
}

.sales-play-guidance-card,
.sales-play-execution-card,
.sales-play-products-card {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-6);
}

.sales-play-guidance-card + .sales-play-guidance-card {
  border-left: 1px solid var(--color-line);
}

.sales-play-guidance-card h3,
.sales-play-execution-card h3,
.sales-play-products-card h3 {
  margin: 0;
  font-size: var(--text-md);
}

.sales-play-guidance-card p,
.sales-play-execution-card p {
  margin: 0;
}

.sales-play-execution-card {
  border-bottom: 1px solid var(--color-line);
}

.sales-play-product-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.research-digest {
  display: grid;
  gap: var(--space-4);
  margin-bottom: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-line);
}

.research-digest-compact {
  margin: var(--space-2) 0 0;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
}

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

.research-digest-header h3,
.research-digest-header h4,
.research-digest-header p,
.research-digest-message p {
  margin: 0;
}

.research-digest-header h3,
.research-digest-header h4 {
  margin-top: var(--space-1);
}

.research-digest-header .muted {
  max-width: 72ch;
  margin-top: var(--space-1);
}

.research-digest-header-tools {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2);
}

.research-summary-prompt-copy {
  min-height: 2.25rem;
  color: var(--color-accent-strong);
}

.research-summary-prompt-copy svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}

.research-summary-prompt-copy:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.research-digest-message {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-control);
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
  font-size: var(--text-sm);
}

.research-digest-editor {
  display: grid;
  gap: var(--space-2);
}

.research-digest-editor[hidden] {
  display: none;
}

.research-digest-editor label {
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 700;
}

.research-digest-editor textarea {
  width: 100%;
  min-height: 13rem;
  margin: 0;
  resize: vertical;
}

.research-digest-editor-meta {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.research-digest-editor-meta span:last-child {
  white-space: nowrap;
}

.research-digest-summary {
  max-height: 28rem;
  margin: 0;
  padding: var(--space-4);
  overflow: auto;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-control);
  color: var(--color-ink);
  background: var(--color-surface);
  font: inherit;
  font-size: var(--text-sm);
  line-height: 1.6;
  white-space: pre-wrap;
}

.research-digest-review {
  border-top: 1px solid var(--color-line);
  padding-top: var(--space-3);
}

.research-digest-review > summary {
  cursor: pointer;
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 700;
}

.research-digest-facts {
  display: grid;
  gap: var(--space-4);
  margin: var(--space-4) 0;
}

.research-digest-fact-group {
  display: grid;
  gap: var(--space-2);
}

.research-digest-fact-group h5 {
  margin: 0;
  font-size: var(--text-sm);
}

.research-digest-fact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: start;
}

.research-digest-fact textarea {
  min-height: 4.5rem;
  margin: 0;
  resize: vertical;
}

.research-digest-fact label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding-top: var(--space-3);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  white-space: nowrap;
}

.research-digest-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.ai-writing-profile,
.ai-outreach-composer {
  margin-bottom: var(--space-5);
  padding: var(--space-5);
}

.ai-writing-profile summary {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  cursor: pointer;
}

.ai-writing-profile form {
  margin-top: var(--space-5);
}

.ai-artifact-actions {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: flex-end;
  margin-top: var(--space-4);
}

.ai-artifact-copy {
  margin-inline-end: auto;
}

.ai-artifact-delete {
  flex: 0 0 auto;
  margin-inline-start: auto;
}

.ai-draft-content {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.ai-draft-subject {
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-line);
}

.ai-draft-content .research-body {
  margin: 0;
  white-space: pre-wrap;
}

.contact-ai-outreach-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  padding-bottom: var(--space-6);
}

.contact-ai-outreach-header h3,
.contact-ai-outreach-header p {
  margin: 0;
}

.contact-ai-outreach-header h3 {
  font-size: var(--text-xl);
  letter-spacing: -0.02em;
}

.contact-ai-outreach-drawer-header .eyebrow {
  margin-bottom: var(--space-1);
}

.contact-ai-outreach-workspace[hidden] {
  display: none;
}

.contact-ai-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

.contact-ai-section-heading h3,
.contact-ai-section-heading p {
  margin: 0;
}

.contact-ai-section-heading h3 {
  font-size: var(--text-md);
  line-height: 1.4;
}

.contact-ai-section-heading p {
  margin-top: var(--space-1);
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
}

.contact-ai-section-tools {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--space-3);
}

.contact-ai-collapse-button {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  padding: 0;
  place-items: center;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-control);
  color: var(--color-ink);
  background: var(--color-surface);
  cursor: pointer;
}

.contact-ai-collapse-button svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease-out;
}

.contact-ai-collapse-button[aria-expanded="false"] svg {
  transform: rotate(180deg);
}

.contact-ai-collapse-button:hover,
.contact-ai-collapse-button:focus-visible {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.contact-ai-context-body {
  display: grid;
  gap: var(--space-7);
}

.contact-ai-context-body[hidden] {
  display: none;
}

.contact-ai-preflight-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-2);
}

.contact-ai-preflight-metrics:empty {
  display: none;
}

.contact-ai-preflight-metrics span {
  min-width: 0;
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-surface-subtle);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  overflow-wrap: anywhere;
}

.contact-ai-preflight-metrics strong {
  display: block;
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
}

.contact-ai-source-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--color-line);
}

.contact-ai-source-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
  padding: var(--space-3) var(--space-4) var(--space-3) 0;
  border-bottom: 1px solid var(--color-line);
}

.contact-ai-source-row:nth-child(even) {
  padding-right: 0;
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-line);
}

.contact-ai-source-row > div,
.contact-ai-research-option > span {
  display: grid;
  min-width: 0;
  gap: var(--space-1);
}

.contact-ai-source-row span,
.contact-ai-research-option small {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.45;
}

.contact-ai-source-mark {
  display: grid;
  width: 1.35rem;
  height: 1.35rem;
  place-items: center;
  border-radius: 50%;
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
  font-weight: 800;
}

.contact-ai-source-row.is-ready .contact-ai-source-mark {
  color: var(--color-success);
  background: var(--color-success-soft);
}

.contact-ai-person-research {
  display: grid;
  gap: var(--space-4);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-line);
}

.contact-ai-person-research-heading {
  margin-bottom: 0;
}

.contact-ai-person-research-status.is-ready {
  color: var(--color-success);
  background: var(--color-success-soft);
}

.contact-ai-person-research-status.is-muted {
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
}

.contact-ai-person-research-preview {
  display: -webkit-box;
  max-width: 84ch;
  margin: 0;
  overflow: hidden;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
  line-height: 1.55;
  white-space: pre-wrap;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

.contact-ai-person-research > .secondary-button {
  width: max-content;
}

.contact-ai-person-research-form {
  display: grid;
  gap: var(--space-3);
  max-width: 84ch;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
}

.contact-ai-person-research-form[hidden] {
  display: none;
}

.contact-ai-person-research-form label {
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 700;
}

.contact-ai-person-research-form textarea {
  min-height: 16rem;
  margin: 0;
  padding: var(--space-4);
  border-color: var(--color-line);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  line-height: 1.55;
  resize: vertical;
}

.contact-ai-person-research-meta {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.contact-ai-person-research-meta p {
  margin: 0;
}

.contact-ai-person-research-meta p:last-child {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
}

.contact-ai-person-research-form .form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: flex-start;
  margin-top: var(--space-1);
}

.contact-ai-outreach-form {
  display: grid;
  gap: var(--space-6);
}

.contact-ai-outreach-form > .contact-ai-section-heading {
  margin-bottom: 0;
}

.contact-ai-setup-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--space-5) var(--space-4);
}

.contact-ai-setup-grid > label {
  grid-column: span 2;
}

.contact-ai-setup-grid > .contact-ai-field-wide {
  grid-column: span 3;
}

.contact-ai-outreach-form label,
.contact-ai-outreach-form select,
.contact-ai-outreach-form textarea {
  margin: 0;
}

.contact-ai-outreach-form label {
  display: grid;
  gap: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 750;
  letter-spacing: 0.01em;
}

.contact-ai-outreach-form select {
  min-height: 3rem;
  padding-inline: var(--space-4) var(--space-10);
  border-color: var(--color-line);
  border-radius: var(--radius-control);
  color: var(--color-ink);
  background-color: var(--color-surface);
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: 0;
  transition:
    border-color var(--motion-fast) ease,
    background-color var(--motion-fast) ease,
    box-shadow var(--motion-fast) ease;
}

.contact-ai-outreach-form select:hover {
  border-color: var(--color-accent);
  background-color: color-mix(in srgb, var(--color-accent-soft) 28%, var(--color-surface));
}

.contact-ai-outreach-form select:focus {
  border-color: var(--color-focus);
  background-color: var(--color-surface);
  outline: 3px solid color-mix(in srgb, var(--color-focus) 16%, transparent);
  box-shadow: 0 1px 2px rgb(28 37 43 / 7%);
}

@supports (appearance: base-select) {
  .contact-ai-outreach-form select,
  .contact-ai-outreach-form select::picker(select) {
    appearance: base-select;
  }

  .contact-ai-outreach-form select {
    display: flex;
    align-items: center;
  }

  .contact-ai-outreach-form select::picker(select) {
    margin-top: var(--space-2);
    padding: var(--space-2);
    border: 1px solid var(--color-line-strong);
    border-radius: var(--radius-control);
    background: var(--color-surface);
    box-shadow: 0 14px 32px rgb(28 37 43 / 18%);
  }

  .contact-ai-outreach-form select::picker-icon {
    margin-left: auto;
    color: var(--color-ink-soft);
    transition: rotate var(--motion-standard) ease;
  }

  .contact-ai-outreach-form select:open::picker-icon {
    rotate: 180deg;
  }

  .contact-ai-outreach-form option {
    align-items: center;
    gap: var(--space-3);
    min-height: 2.75rem;
    padding: var(--space-3);
    border-radius: calc(var(--radius-control) - 0.125rem);
    color: var(--color-ink);
    background: transparent;
    font-size: var(--text-sm);
    font-weight: 550;
  }

  .contact-ai-outreach-form option:hover,
  .contact-ai-outreach-form option:focus {
    background: var(--color-surface-subtle);
  }

  .contact-ai-outreach-form option:checked {
    color: var(--color-accent-strong);
    background: var(--color-accent-soft);
    font-weight: 700;
  }

  .contact-ai-outreach-form option::checkmark {
    order: 1;
    margin-left: auto;
    color: var(--color-accent-strong);
  }
}

.contact-ai-research-fieldset {
  margin: var(--space-1) 0 0;
  padding: 0;
  border: 0;
}

.contact-ai-research-fieldset legend,
.contact-ai-research-fieldset h4 {
  margin-bottom: var(--space-3);
  padding: 0;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 750;
  letter-spacing: 0.01em;
}

.contact-ai-research-fieldset h4 {
  margin-top: 0;
}

.contact-ai-research-list {
  display: grid;
  gap: var(--space-2);
}

.contact-ai-summary-ready {
  margin: 0;
  color: var(--color-success);
}

.contact-ai-operation-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-surface-subtle);
  color: var(--color-ink);
}

.ai-outreach-global-status {
  position: fixed;
  z-index: var(--layer-toast);
  right: var(--space-5);
  bottom: var(--space-5);
  max-width: min(28rem, calc(100vw - 2 * var(--space-5)));
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  box-shadow: var(--shadow-overlay);
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 700;
}

.contact-ai-research-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
}

.contact-ai-research-option input {
  margin-top: 0.15rem;
}

.contact-ai-instruction-field {
  display: grid;
  gap: var(--space-2);
}

.contact-ai-instruction-field label {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
}

.contact-ai-instruction-field label span {
  color: var(--color-ink-soft);
  font-weight: 500;
}

.contact-ai-instruction-field textarea {
  min-height: 7.5rem;
  padding: var(--space-3) var(--space-4);
  border-color: var(--color-line);
  border-radius: var(--radius-control);
  line-height: 1.55;
  resize: vertical;
}

.contact-ai-instruction-field .field-help {
  max-width: 75ch;
  margin: 0;
  color: var(--color-ink-soft);
  line-height: 1.5;
}

.contact-ai-outreach-form > .primary-button {
  width: auto;
  min-width: 11rem;
  justify-self: start;
}

.contact-ai-history-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.contact-ai-history-list .research-card {
  box-shadow: none;
}

@media (max-width: 42rem) {
  .contact-ai-history-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-ai-preflight-metrics {
    grid-template-columns: 1fr;
  }

  .contact-ai-setup-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-ai-setup-grid > label,
  .contact-ai-setup-grid > .contact-ai-field-wide {
    grid-column: 1;
  }

  .contact-ai-source-list {
    grid-template-columns: 1fr;
  }

  .contact-ai-source-row:nth-child(even) {
    padding-left: 0;
    border-left: 0;
  }
}

.research-card {
  padding: var(--space-5);
}

.research-card.is-draft {
  border-color: var(--color-warning);
}

.research-card.is-approved {
  border-color: var(--color-success);
}

.research-card-header,
.research-subheading,
.research-source-list li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.research-card-header {
  align-items: flex-start;
  flex-wrap: nowrap;
}

.research-card-heading {
  min-width: 0;
}

.research-card-header h3,
.research-subheading h4,
.research-card-section p {
  margin: 0;
}

.research-card-header .badge-row {
  margin-bottom: var(--space-2);
}

.research-card-header .state-actions {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  white-space: nowrap;
}

.pill.is-manual {
  color: var(--color-accent-strong);
  background: var(--color-accent-soft);
}

.research-body {
  margin: var(--space-5) 0 0;
  overflow-wrap: anywhere;
}

.research-body.is-preview {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 20;
  line-clamp: 20;
}

.research-body > * {
  margin: 0;
}

.research-body > * + * {
  margin-top: var(--space-3);
}

.research-body h3,
.research-body h4,
.research-body h5 {
  color: var(--color-text);
  font-weight: 800;
  line-height: 1.2;
}

.research-body h3 {
  font-size: var(--text-lg);
}

.research-body h4,
.research-body h5 {
  font-size: var(--text-md);
}

.research-body ul,
.research-body ol {
  padding-left: var(--space-5);
}

.research-body li + li {
  margin-top: var(--space-2);
}

.research-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--color-line);
}

.research-markdown-table {
  width: 100%;
  min-width: 38rem;
  border-collapse: collapse;
}

.research-markdown-table th,
.research-markdown-table td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--color-line);
  text-align: left;
  vertical-align: top;
}

.research-markdown-table th {
  background: var(--color-surface-subtle);
  color: var(--color-muted);
  font-size: var(--text-sm);
  font-weight: 800;
}

.research-markdown-table tr:last-child td {
  border-bottom: 0;
}

.research-card-section {
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line);
}

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

.research-source-list li,
.research-finding-list li {
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--color-surface-subtle);
}

.research-source-list li > div,
.research-finding-list li {
  display: grid;
  gap: var(--space-1);
}

.research-category {
  width: max-content;
  padding: var(--space-1) var(--space-2);
  border-radius: 999px;
  color: var(--color-accent-strong);
  background: var(--color-accent-soft);
  font-size: var(--text-xs);
  font-weight: 700;
}

.research-subheading h4 {
  font-size: var(--text-md);
  line-height: 1.35;
}

.research-finding-statement {
  max-width: 72ch;
  line-height: 1.55;
  white-space: pre-wrap;
}

.research-finding-statement.is-collapsed {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

.research-finding-toggle {
  width: max-content;
  margin-top: var(--space-1);
}

.research-modal {
  width: min(56rem, calc(100vw - 2 * var(--space-5)));
}

.apply-sales-play-modal {
  width: min(76rem, calc(100vw - 2 * var(--space-5)));
}

.activity-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.activity-toolbar > div {
  min-width: 12rem;
}

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

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

.activity-entry-header,
.activity-entry-meta,
.activity-entry-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.activity-entry-header {
  justify-content: space-between;
}

.activity-entry h3,
.activity-entry p {
  margin: 0;
}

.activity-entry-meta,
.activity-entry-footer,
.activity-entry-body {
  margin-top: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
}

.activity-entry-body {
  white-space: pre-wrap;
  color: var(--color-ink);
}

.activity-kind {
  padding: var(--space-1) var(--space-2);
  border-radius: 999px;
  color: var(--color-accent-strong);
  background: var(--color-accent-soft);
  font-size: var(--text-xs);
  font-weight: 700;
}

.activity-correction {
  color: var(--color-warning);
  font-weight: 650;
}

.account-dossier-shell .shell-logo-mark {
  border-radius: var(--radius-sm);
  background: var(--color-accent);
  clip-path: none;
}

.account-dossier-main .surface,
.account-dossier-main .state-panel,
.account-dossier-main .overview-state,
.account-section-drawer-body .surface,
.account-section-drawer-body .state-panel,
.account-section-drawer-body .overview-state {
  border-radius: 0;
  box-shadow: none;
}

.account-dossier-main .surface,
.account-section-drawer-body .surface {
  padding: var(--space-4) 0;
  border: 0;
  border-top: 1px solid var(--color-line);
  background: transparent;
}

.account-dossier-main .surface-header,
.account-section-drawer-body .surface-header {
  margin-bottom: var(--space-4);
}

.account-dossier-main .overview-facts,
.account-dossier-main .commercial-summary-grid,
.account-section-drawer-body .overview-facts,
.account-section-drawer-body .commercial-summary-grid {
  border-bottom: 1px solid var(--color-line);
}

.account-dossier-main .overview-facts > div,
.account-dossier-main .commercial-summary-grid > div,
.account-section-drawer-body .overview-facts > div,
.account-section-drawer-body .commercial-summary-grid > div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.35fr) minmax(0, 1fr);
  gap: var(--space-4);
  padding: var(--space-2) 0;
}

.account-dossier-main .overview-facts > div:nth-child(even),
.account-dossier-main .commercial-summary-grid > div + div,
.account-section-drawer-body .overview-facts > div:nth-child(even),
.account-section-drawer-body .commercial-summary-grid > div + div {
  border-left: 0;
}

.account-dossier-main .research-migration-note,
.account-section-drawer-body .research-migration-note {
  padding: var(--space-3) 0;
  border-width: 1px 0;
  border-radius: 0;
  background: transparent;
}

.account-dossier-main .research-list,
.account-section-drawer-body .research-list {
  gap: 0;
}

.account-dossier-main .research-card,
.account-section-drawer-body .research-card {
  padding: var(--space-4) 0;
  border-width: 0 0 1px;
}

.account-dossier-main .research-card.is-draft,
.account-dossier-main .research-card.is-approved,
.account-section-drawer-body .research-card.is-draft,
.account-section-drawer-body .research-card.is-approved {
  border-color: var(--color-line);
}

.account-dossier-main .research-source-list li,
.account-dossier-main .research-finding-list li,
.account-section-drawer-body .research-source-list li,
.account-section-drawer-body .research-finding-list li {
  padding: var(--space-2) 0;
  border-top: 1px solid var(--color-line);
  border-radius: 0;
  background: transparent;
}

.account-dossier-main .account-contacts-table,
.account-dossier-main .table-shell,
.account-section-drawer-body .account-contacts-table,
.account-section-drawer-body .table-shell {
  border: 0;
  border-radius: 0;
}

.account-dossier-main .account-contacts-table th,
.account-dossier-main .account-contacts-table td,
.account-section-drawer-body .account-contacts-table th,
.account-section-drawer-body .account-contacts-table td {
  padding: var(--space-2) var(--space-3);
}

.account-dossier-main .account-contacts-table th,
.account-section-drawer-body .account-contacts-table th {
  background: transparent;
}

.account-dossier-main .activity-list,
.account-section-drawer-body .activity-list {
  gap: 0;
  border-top: 1px solid var(--color-line);
}

.account-dossier-main .activity-entry,
.account-section-drawer-body .activity-entry {
  padding: var(--space-3) 0;
  border-width: 0 0 1px;
  border-radius: 0;
  background: transparent;
}

.account-dossier-main .pill,
.account-section-drawer-body .pill {
  border-radius: var(--radius-sm);
}

.account-dossier-main .primary-button,
.account-section-drawer-body .primary-button,
.account-dossier-rail .primary-button {
  border-color: var(--color-accent-strong);
  background: var(--color-accent-strong);
}

.account-dossier-main .primary-button:hover,
.account-section-drawer-body .primary-button:hover,
.account-dossier-rail .primary-button:hover {
  background: #294b5e;
}

/* Org chart: a functional account map, deliberately distinct from invented reporting lines. */
.org-chart-count {
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
}

.account-contact-inline-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-accent-strong);
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.18em;
  cursor: pointer;
}

.account-contact-inline-link:hover,
.account-contact-inline-link:focus-visible {
  text-decoration-color: currentColor;
}

.nav-sub-link {
  min-height: 2rem;
  margin-left: 2.5rem;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--color-nav-ink-soft);
  font-size: var(--text-xs);
  font-weight: 700;
}

.nav-sub-link:hover,
.nav-sub-link:focus-visible,
.nav-sub-link[aria-current="page"] {
  color: var(--color-nav-ink);
  background: var(--color-nav-active);
}

.org-function {
  min-width: 0;
  border-top: 3px solid var(--color-accent-strong);
  background: var(--color-surface-subtle);
}

.org-function:nth-child(2) {
  border-top-color: var(--color-success);
}

.org-function:nth-child(3) {
  border-top-color: var(--color-warning);
}

.org-function.is-unmapped {
  border-top-color: var(--color-line-strong);
}

.org-function > header {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  align-items: baseline;
  padding: var(--space-4);
}

.org-function > header h3,
.org-function > header span {
  margin: 0;
}

.org-function > header h3 {
  font-size: var(--text-md);
}

.org-function > header span {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
}

.org-function-body {
  border-top: 1px solid var(--color-line);
}

.org-department + .org-department {
  border-top: 1px solid var(--color-line);
}

.org-department summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: start;
  padding: var(--space-4);
  cursor: pointer;
  list-style: none;
}

.org-department summary::-webkit-details-marker {
  display: none;
}

.org-department summary > span:first-child {
  display: grid;
  gap: var(--space-1);
}

.org-department summary strong {
  font-size: var(--text-sm);
}

.org-department summary small {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.45;
}

.org-department-tally {
  padding: 0.15rem var(--space-2);
  border-radius: 999px;
  background: var(--color-surface);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  white-space: nowrap;
}

.org-department[open] > summary {
  background: var(--color-surface);
}

.org-people-list,
.org-role-list {
  display: grid;
  gap: var(--space-1);
  padding: 0 var(--space-3) var(--space-3);
}

.org-people-list {
  padding-top: var(--space-1);
  border-bottom: 1px solid var(--color-line);
}

.org-person,
.org-role-button,
.org-role-contact {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--color-ink);
  text-align: left;
  cursor: pointer;
}

.org-person {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-2);
  align-items: center;
  padding: var(--space-2);
  border-radius: var(--radius-md);
}

.org-person:hover,
.org-person:focus-visible,
.org-role-contact:hover,
.org-role-contact:focus-visible {
  background: var(--color-accent-soft);
}

.org-person-initials {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--color-accent-strong);
  color: #fff;
  font-size: var(--text-xs);
  font-weight: 800;
}

.org-person > span:last-child,
.org-role-button {
  display: grid;
  gap: 0.1rem;
}

.org-person strong,
.org-role-button span,
.org-role-contact strong {
  font-size: var(--text-sm);
}

.org-person small,
.org-role-button small,
.org-role-contact span {
  overflow: hidden;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.org-role-button {
  position: relative;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-md);
}

.org-role-button::after {
  position: absolute;
  top: 50%;
  right: var(--space-2);
  color: var(--color-ink-soft);
  content: "›";
  transform: translateY(-50%);
}

.org-role-button:hover,
.org-role-button:focus-visible,
.org-role-button[aria-current="true"] {
  background: var(--color-surface);
  box-shadow: 0 2px 8px rgb(28 37 43 / 8%);
}

.org-role-button.is-primary span::before {
  display: inline-block;
  width: 0.42rem;
  height: 0.42rem;
  margin-right: var(--space-2);
  border-radius: 50%;
  background: var(--color-accent-strong);
  content: "";
  vertical-align: 0.08rem;
}

.org-role-button small {
  padding-right: var(--space-4);
}

.org-role-inspector {
  position: sticky;
  top: var(--space-4);
  min-height: 28rem;
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: 0 12px 32px rgb(28 37 43 / 10%);
}

.org-role-inspector-empty {
  display: grid;
  min-height: 28rem;
  padding: var(--space-8);
  place-content: center;
  text-align: center;
}

.org-role-inspector-empty svg {
  width: 2.5rem;
  margin: 0 auto var(--space-4);
  fill: none;
  stroke: var(--color-accent);
  stroke-linecap: round;
  stroke-width: 1.5;
}

.org-role-inspector-empty h3,
.org-role-inspector-empty p {
  margin: 0;
}

.org-role-inspector-empty p {
  max-width: 35ch;
  margin-top: var(--space-2);
  color: var(--color-ink-soft);
}

#org-role-detail {
  padding: var(--space-6);
}

#org-role-detail > header {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  align-items: start;
  padding-bottom: var(--space-5);
  border-bottom: 1px solid var(--color-line);
}

#org-role-detail > header > div {
  display: grid;
  gap: var(--space-1);
}

#org-role-detail > header span:first-child {
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 750;
}

#org-role-detail h3,
#org-role-detail h4,
#org-role-detail p {
  margin: 0;
}

#org-role-detail h3 {
  font-size: var(--text-xl);
  line-height: 1.15;
}

#org-role-detail h4 {
  margin-bottom: var(--space-2);
  font-size: var(--text-sm);
}

#org-role-detail > section {
  padding-top: var(--space-5);
}

.org-role-mandate {
  padding-top: var(--space-5);
  color: var(--color-ink-soft);
  line-height: 1.6;
}

#org-role-detail ul {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding-left: 1.2rem;
  color: var(--color-ink-soft);
  line-height: 1.5;
}

.org-role-angle {
  padding: var(--space-4);
  margin-top: var(--space-5);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-md);
  background: var(--color-accent-soft);
}

.org-role-angle p {
  color: var(--color-accent-strong);
  line-height: 1.55;
}

.org-role-contact-list {
  display: grid;
  gap: var(--space-1);
}

.org-role-contact {
  display: grid;
  gap: 0.1rem;
  padding: var(--space-2);
  border-radius: var(--radius-md);
}

#org-role-detail .org-role-disclaimer {
  padding-top: var(--space-5);
  margin-top: var(--space-5);
  border-top: 1px solid var(--color-line);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.5;
}

.org-chart-empty {
  grid-column: 1 / -1;
  padding: var(--space-10);
  border-top: 1px solid var(--color-line);
  text-align: center;
}

.org-chart-empty h3,
.org-chart-empty p {
  margin: 0;
}

.org-chart-empty p {
  margin-top: var(--space-2);
  color: var(--color-ink-soft);
}

@media (max-width: 54rem) {
  .org-role-inspector {
    position: static;
  }
}

.org-library-board {
  --org-line: var(--color-line-strong);
  display: grid;
  gap: var(--space-3);
  min-width: 0;
}

.org-library-preferences {
  display: grid;
  grid-template-columns: minmax(12rem, 16rem) minmax(12rem, 16rem) minmax(12rem, 16rem);
  gap: var(--space-3);
  align-items: end;
  margin-bottom: var(--space-4);
}

.org-library-preferences label {
  display: grid;
  gap: var(--space-2);
  color: var(--color-ink);
  font-size: var(--text-xs);
  font-weight: 750;
}

.org-library-preferences select {
  min-height: 2.75rem;
  padding: 0 var(--space-4);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
  font: inherit;
  font-weight: 700;
}

.org-library-department-picker {
  display: flex;
  gap: var(--space-2);
  overflow-x: auto;
  padding: 0 0 var(--space-3);
  scroll-padding-inline: var(--space-2);
}

.org-library-department-tab {
  flex: 0 0 auto;
  max-width: 14rem;
  min-height: 2.75rem;
  padding: 0 var(--space-4);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
  font: inherit;
  font-size: var(--text-sm);
  font-weight: 750;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}

.org-library-department-tab:hover,
.org-library-department-tab:focus-visible {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.org-library-department-tab[aria-current="true"] {
  border-color: var(--color-accent-strong);
  background: var(--color-ink);
  color: var(--color-surface);
}

.org-library-department-panel {
  position: relative;
  display: grid;
  gap: var(--space-3);
  min-width: 0;
  padding-top: var(--space-3);
}

.org-library-board.is-chart {
  min-width: 72rem;
}

.org-library-chart {
  --chart-line: color-mix(in srgb, var(--color-line-strong) 86%, transparent);
  display: grid;
  gap: var(--space-5);
  padding: 0 0 var(--space-3);
}

.org-library-chart-top {
  position: relative;
  display: flex;
  justify-content: center;
  padding-bottom: var(--space-4);
}

.org-library-chart-top::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: var(--space-4);
  background: var(--chart-line);
  content: "";
}

.org-library-chart-node {
  display: grid;
  gap: 0.15rem;
  min-width: 14rem;
  max-width: 19rem;
  justify-items: center;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
  text-align: center;
}

.org-library-chart-node strong,
.org-library-chart-node span,
.org-library-chart-node small {
  min-width: 0;
}

.org-library-chart-node strong {
  font-size: var(--text-sm);
  line-height: 1.12;
}

.org-library-chart-node span,
.org-library-chart-node small {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.18;
}

.org-library-chart-node.is-ceo {
  min-width: 17rem;
  border-color: var(--color-accent-strong);
  background: var(--color-ink);
}

.org-library-chart-node.is-ceo strong,
.org-library-chart-node.is-ceo span,
.org-library-chart-node.is-ceo small {
  color: var(--color-surface);
}

.org-library-chart-node.is-group {
  width: 100%;
  min-height: 3.1rem;
  max-width: none;
  align-content: center;
  background: var(--color-surface-subtle);
}

.org-library-chart-groups {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--chart-group-count, 4), minmax(15rem, 1fr));
  gap: var(--space-4);
  align-items: start;
}

.org-library-chart-groups::before {
  position: absolute;
  top: 0;
  left: calc((100% / var(--chart-group-count, 4)) / 2);
  right: calc((100% / var(--chart-group-count, 4)) / 2);
  height: 1px;
  background: var(--chart-line);
  content: "";
}

.org-library-chart-group {
  position: relative;
  display: grid;
  grid-template-rows: auto auto;
  gap: var(--space-4);
  align-content: start;
  min-width: 0;
  padding-top: var(--space-6);
}

.org-library-chart-group::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: var(--space-6);
  background: var(--chart-line);
  content: "";
}

.org-library-chart-departments {
  display: grid;
  gap: var(--space-3);
  align-content: start;
}

.org-library-chart-department {
  position: relative;
  display: grid;
  gap: var(--space-2);
}

.org-library-chart-department::before {
  width: 1px;
  height: var(--space-3);
  justify-self: center;
  background: var(--chart-line);
  content: "";
}

.org-library-chart-department-head {
  display: grid;
  gap: var(--space-1);
  min-height: 3.4rem;
  align-content: center;
  width: 100%;
  padding: var(--space-2) var(--space-3);
  border: 2px solid color-mix(in srgb, var(--color-accent) 66%, var(--color-line));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-accent-soft) 72%, var(--color-surface));
  color: var(--color-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.org-library-chart-department-head strong,
.org-library-chart-department-head span {
  margin: 0;
}

.org-library-chart-department-head strong {
  font-size: var(--text-sm);
  line-height: 1.25;
}

.org-library-chart-department-head span {
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 750;
}

.org-library-chart-department-head:hover,
.org-library-chart-department-head:focus-visible,
.org-library-chart-department-head[aria-current="true"] {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.org-library-chart-roles {
  display: grid;
  gap: var(--space-1);
  padding: 0 var(--space-2);
}

.org-library-department-lead {
  display: grid;
  min-height: 13.25rem;
  grid-template-rows: auto auto minmax(2.75rem, 1fr) auto auto;
  gap: var(--space-2);
  align-content: start;
  width: 100%;
  padding: var(--space-4);
  border: 2px solid color-mix(in srgb, var(--color-accent) 72%, var(--color-line));
  border-radius: var(--radius-md);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--color-accent-soft) 88%, var(--color-surface)) 0%, var(--color-surface) 100%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-surface) 78%, transparent);
  color: var(--color-ink);
  font: inherit;
  text-align: left;
}

.org-library-department-lead h3,
.org-library-department-lead p,
.org-library-department-lead small {
  margin: 0;
}

.org-library-department-lead h3 {
  font-size: var(--text-md);
  line-height: 1.2;
}

.org-library-department-lead p {
  display: -webkit-box;
  overflow: hidden;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.org-library-node-type {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 1.3rem;
  padding: 0 var(--space-2);
  border-radius: var(--radius-sm);
  background: var(--color-accent-strong);
  color: var(--color-surface);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.org-library-department-count {
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 750;
}

.org-library-department-lead:hover,
.org-library-department-lead:focus-visible,
.org-library-department-lead[aria-current="true"] {
  border-color: var(--color-accent);
  background: color-mix(in srgb, var(--color-accent-soft) 82%, var(--color-surface));
}

.org-library-department-lead[aria-current="true"] {
  outline: 3px solid color-mix(in srgb, var(--color-focus) 24%, transparent);
  outline-offset: 1px;
}

.org-library-branch {
  width: 1px;
  height: var(--space-3);
  margin: calc(var(--space-3) * -1) auto 0;
  background: var(--color-line);
}

.org-library-roles {
  display: grid;
  gap: var(--space-2);
  padding: 0 var(--space-1);
}

.org-library-role,
.org-library-more {
  position: relative;
  display: grid;
  min-height: 10.25rem;
  grid-template-rows: auto auto minmax(0, 1fr) auto auto auto;
  align-content: start;
  width: 100%;
  gap: var(--space-1);
  padding: var(--space-3) var(--space-6) var(--space-3) var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
  text-align: left;
  cursor: pointer;
}

.org-library-focus-tags {
  display: flex;
  min-height: 1.35rem;
  flex-wrap: wrap;
  gap: var(--space-1);
  overflow: visible;
  padding-top: var(--space-1);
}

.org-library-focus-tags > span {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 1.35rem;
  padding: 0 var(--space-2);
  border-radius: var(--radius-pill);
  font-size: var(--text-xs);
  font-weight: 750;
  line-height: 1;
}

.org-library-focus-tags > .is-identity {
  color: var(--color-accent-strong);
  background: var(--color-accent-soft);
}

.org-library-focus-tags > .is-budget {
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

.org-library-semperis-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--color-warning) 24%, transparent);
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--color-warning-soft) 88%, var(--color-surface));
  color: var(--color-warning);
  font-size: var(--text-xs);
  font-style: normal;
  font-weight: 850;
  line-height: 1;
}

.org-library-semperis-tag.is-priority-a {
  border-color: color-mix(in srgb, var(--color-warning) 26%, transparent);
  background: var(--color-warning-soft);
}

.org-library-semperis-tag.is-priority-c {
  border-color: color-mix(in srgb, var(--color-accent) 14%, transparent);
  background: color-mix(in srgb, var(--color-warning-soft) 55%, var(--color-surface));
  color: color-mix(in srgb, var(--color-warning) 82%, var(--color-ink));
}

.org-library-role.is-lead {
  border-color: var(--color-line-strong);
  background: var(--color-surface-subtle);
}

.org-library-role.is-chart-row {
  min-height: 3.35rem;
  grid-template-rows: auto auto auto;
  align-content: center;
  padding: var(--space-2) var(--space-6) var(--space-2) var(--space-3);
}

.org-library-role.is-chart-row > span:not(.org-library-node-type):not(.org-library-focus-tags),
.org-library-role.is-chart-row small,
.org-library-role.is-chart-row .org-library-focus-tags {
  display: none;
}

.org-library-chart-roles .org-library-more {
  min-height: 2.5rem;
  padding: var(--space-2) var(--space-3);
  background: color-mix(in srgb, var(--color-surface) 86%, var(--color-surface-subtle));
}

.org-library-role::after {
  position: absolute;
  top: 50%;
  right: var(--space-3);
  color: var(--color-ink-soft);
  content: "›";
  transform: translateY(-50%);
}

.org-library-role .org-library-node-type {
  background: var(--color-surface-subtle);
  color: var(--color-ink-soft);
}

.org-library-role:hover,
.org-library-role:focus-visible,
.org-library-role[aria-current="true"],
.org-library-more:hover,
.org-library-more:focus-visible {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.org-library-role[aria-current="true"] {
  outline: 3px solid color-mix(in srgb, var(--color-focus) 24%, transparent);
  outline-offset: 1px;
}

.org-library-role strong {
  display: -webkit-box;
  overflow: hidden;
  font-size: var(--text-sm);
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
}

.org-library-role > span:not(.org-library-node-type):not(.org-library-focus-tags),
.org-library-role small {
  display: -webkit-box;
  overflow: hidden;
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.org-library-role .org-library-semperis-tag {
  position: absolute;
  top: var(--space-2);
  right: var(--space-2);
}

.org-library-role small {
  -webkit-line-clamp: 1;
  line-clamp: 1;
}

.org-library-role .org-library-focus-tags,
.org-library-role .org-library-focus-tags > span {
  display: flex;
  overflow: visible;
  color: inherit;
  font-size: 0.68rem;
  line-height: 1;
  -webkit-line-clamp: unset;
  line-clamp: unset;
}

.org-library-role .org-library-focus-tags {
  flex-wrap: wrap;
}

.org-library-role .org-library-focus-tags > span {
  display: inline-flex;
}

.org-library-more {
  justify-content: center;
  padding: var(--space-2) var(--space-3);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 750;
  text-align: center;
}

.org-library-no-results {
  display: grid;
  min-height: 18rem;
  place-content: center;
  text-align: center;
}

.org-library-no-results h2 {
  margin: 0;
  color: var(--color-ink-soft);
  font-size: var(--text-lg);
}

@media (max-width: 62rem) {
  .org-library-board {
    min-width: 0;
  }
}

.org-library-drawer-backdrop {
  position: fixed;
  inset: var(--header-height) 0 0 var(--nav-width);
  z-index: 65;
  background: rgb(28 37 43 / 18%);
}

.org-library-drawer {
  position: fixed;
  inset: var(--header-height) 0 0 auto;
  z-index: 70;
  display: grid;
  width: min(36rem, calc(100vw - var(--nav-width) - var(--space-4)));
  grid-template-rows: auto minmax(0, 1fr);
  border-left: 1px solid var(--color-line-strong);
  background: var(--color-surface);
  box-shadow: var(--shadow-overlay);
}

.org-library-drawer[hidden],
.org-library-drawer-backdrop[hidden] {
  display: none;
}

.org-library-drawer-header {
  display: flex;
  gap: var(--space-4);
  align-items: start;
  justify-content: space-between;
  padding: var(--space-6);
  border-bottom: 1px solid var(--color-line);
}

.org-library-drawer-header > div {
  display: grid;
  min-width: 0;
  gap: var(--space-1);
}

.org-library-drawer-header span {
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 750;
}

.org-library-drawer-header h2 {
  margin: 0;
  font-size: var(--text-xl);
  line-height: 1.15;
}

.org-library-drawer-header .icon-button svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.75;
}

.org-library-drawer-body {
  overflow: auto;
  padding: var(--space-6);
}

.org-library-detail-article {
  display: grid;
  gap: var(--space-5);
}

.org-library-detail-article > header {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  align-items: start;
}

.org-library-detail-article h3,
.org-library-detail-article p {
  margin: 0;
}

.org-library-detail-article h3 {
  margin-bottom: var(--space-2);
  font-size: var(--text-sm);
}

.org-library-mandate {
  color: var(--color-ink-soft);
  line-height: 1.6;
}

.org-library-semperis-card {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-4);
  border: 1px solid color-mix(in srgb, var(--color-warning) 18%, var(--color-line));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-warning-soft) 72%, var(--color-surface));
}

.org-library-semperis-card h3 {
  margin-bottom: 0;
  color: color-mix(in srgb, var(--color-warning) 78%, var(--color-ink));
}

.org-library-semperis-card p {
  color: var(--color-ink);
  line-height: 1.55;
}

.org-library-semperis-card .org-library-semperis-meta {
  color: color-mix(in srgb, var(--color-warning) 74%, var(--color-ink-soft));
  font-size: var(--text-xs);
  font-weight: 760;
}

.org-library-detail-article ul {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding-left: 1.2rem;
  color: var(--color-ink-soft);
  line-height: 1.5;
}

.org-library-angle {
  padding: var(--space-4);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-md);
  background: var(--color-accent-soft);
}

.org-library-angle p {
  color: var(--color-accent-strong);
  line-height: 1.55;
}

.org-library-reference-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.org-library-reference-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 1.65rem;
  padding: 0 var(--space-2);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-pill);
  background: var(--color-surface-subtle);
  color: var(--color-ink);
  font-size: var(--text-xs);
  font-weight: 700;
}

.org-library-discovery {
  display: grid;
  gap: var(--space-3);
}

.org-library-discovery article {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
}

.org-library-discovery p {
  color: var(--color-ink);
  font-weight: 650;
  line-height: 1.45;
}

.org-library-answer {
  display: grid;
  gap: var(--space-1);
}

.org-library-answer textarea {
  min-height: 5rem;
  resize: vertical;
  padding: var(--space-3);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
  font: inherit;
  line-height: 1.45;
}

.org-library-answer span {
  justify-self: end;
  color: var(--color-success);
  font-size: var(--text-xs);
  font-weight: 750;
}

.org-library-detail-article .org-library-reference-note {
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.5;
}

.org-library-drawer-roles {
  display: grid;
  gap: var(--space-2);
}

.org-library-role.is-drawer-row {
  padding-right: var(--space-7);
}

@media (max-width: 75rem) {
  .org-library-preferences {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sales-play-workbench {
    grid-template-columns: minmax(15rem, 19rem) minmax(0, 1fr);
  }

  .sales-play-detail-header {
    grid-template-columns: minmax(0, 1fr);
  }

  .sales-play-detail-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 54rem) {
  .sales-play-workbench,
  .sales-play-guidance-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .sales-play-rail {
    position: static;
    max-height: none;
  }

  .sales-play-rail-list {
    max-height: 22rem;
  }

  .sales-play-guidance-card + .sales-play-guidance-card {
    border-top: 1px solid var(--color-line);
    border-left: 0;
  }
}

/* source: frontend/styles/forms.css */

form {
  display: grid;
}

label {
  margin: var(--space-5) 0 var(--space-2);
  font-size: var(--text-sm);
  font-weight: 650;
}

input,
select,
textarea {
  width: 100%;
  min-height: var(--control-height);
  padding: 0 var(--space-4);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-md);
  color: var(--color-ink);
  background: #fff;
}

input:hover,
select:hover,
textarea:hover {
  border-color: #97918a;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-focus);
  outline: 3px solid color-mix(in srgb, var(--color-focus) 18%, transparent);
}

.password-row {
  position: relative;
}

.password-row input {
  padding-right: 4.5rem;
}

.password-row .text-button {
  position: absolute;
  inset: 0.3125rem 0.3125rem 0.3125rem auto;
  padding: 0 var(--space-3);
  border: 0;
  color: var(--color-ink-soft);
  background: transparent;
  font-size: var(--text-xs);
  font-weight: 650;
}

.field-note,
.security-note,
.proof-note {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.55;
}

.field-note {
  margin: 0.4375rem 0 0;
}

.security-note {
  margin: 1.75rem 0 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line);
}

.error {
  margin: var(--space-4) 0 0;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

fieldset {
  margin: var(--space-5) 0 0;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
}

legend {
  padding: 0 var(--space-2);
  font-size: var(--text-sm);
  font-weight: 650;
}

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

.check-grid label,
.duplicate-warning label {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  margin: 0;
  font-weight: 500;
}

.check-grid input,
.duplicate-warning input {
  width: auto;
  min-height: auto;
  margin-top: 0.2rem;
}

.inline-check {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: 0;
  font-weight: 500;
}

.inline-check input {
  width: auto;
  min-height: auto;
}

.duplicate-warning {
  margin-top: var(--space-5);
  padding: var(--space-4);
  border: 1px solid #e6c580;
  border-radius: var(--radius-md);
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

.duplicate-warning p {
  margin: var(--space-2) 0 var(--space-3);
}

/* source: frontend/styles/overlays.css */

.scrim {
  position: fixed;
  inset: 0;
  z-index: var(--layer-scrim);
  border: 0;
  background: rgb(29 34 39 / 42%);
}

.drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: var(--layer-drawer);
  display: grid;
  width: min(29rem, calc(100vw - 2rem));
  grid-template-rows: auto 1fr auto;
  background: var(--color-surface);
  box-shadow: var(--shadow-overlay);
}

.contact-drawer {
  width: min(34rem, calc(100vw - 2rem));
}

.product-drawer {
  width: min(40rem, calc(100vw - 2rem));
}

.drawer-header,
.drawer-body,
.drawer-footer {
  padding: var(--space-6);
}

.drawer-body {
  min-height: 0;
  overflow-y: auto;
}

.drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-line);
}

.drawer-header h2 {
  margin-bottom: var(--space-1);
  font-size: 1.25rem;
  line-height: 1.25;
}

.drawer-header .icon-button svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.75;
}

.drawer-header p {
  margin: 0;
  font-size: var(--text-sm);
  line-height: 1.5;
}

.drawer-footer {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-3);
  border-top: 1px solid var(--color-line);
}

.modal-layer {
  position: fixed;
  inset: 0;
  z-index: var(--layer-modal);
  display: grid;
  place-items: center;
  padding: var(--space-4);
  background: rgb(29 34 39 / 42%);
}

.modal {
  width: min(31rem, 100%);
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-overlay);
}

.account-modal {
  width: min(46rem, 100%);
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

body.has-overlay {
  overflow: hidden;
}

@media (prefers-reduced-motion: no-preference) {
  .drawer,
  .modal,
  .toast {
    animation: enter var(--motion-standard) ease-out;
  }

  .skeleton-line {
    animation: pulse 1.4s ease-in-out infinite alternate;
  }

  .account-section-drawer {
    animation: account-section-enter 240ms cubic-bezier(0.16, 1, 0.3, 1);
  }
}

@keyframes enter {
  from {
    opacity: 0;
    transform: translateY(0.5rem);
  }
}

@keyframes pulse {
  to {
    background: var(--color-line);
  }
}

@keyframes account-section-enter {
  from {
    opacity: 0.72;
    transform: translateX(2.5rem);
  }
}

/* source: frontend/styles/utilities.css */

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

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.loading {
  padding: var(--space-12) 0;
  color: var(--color-ink-soft);
}

.proof-note {
  margin: var(--space-5) var(--space-1) 0;
}

.session-state {
  justify-self: end;
  color: var(--color-success);
  font-weight: 650;
}

.session-state::before {
  display: inline-block;
  width: var(--space-2);
  height: var(--space-2);
  margin-right: var(--space-2);
  border-radius: 50%;
  background: currentColor;
  content: "";
}

dt {
  margin-bottom: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 630;
}

.secondary-value {
  margin-top: var(--space-1);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 450;
}

[hidden] {
  display: none;
}

/* source: frontend/styles/theme-b2.css */

/*
 * B2 Focus Canvas
 * Notion-calibrated, content-first treatment for the existing Merkio 2 UI.
 * This file is bundled last so B2 can change composition without touching B1.
 */

html[data-theme="b2"] body {
  font-feature-settings: "kern" 1, "liga" 1;
  letter-spacing: -0.006em;
}

html[data-theme="b2"] .shell-nav {
  padding: var(--space-4) var(--space-2);
}

html[data-theme="b2"] .shell-brand {
  padding-inline: var(--space-3);
}

html[data-theme="b2"] .shell-nav-list {
  margin-top: var(--space-6);
}

html[data-theme="b2"] .nav-link {
  min-height: 2.5rem;
  gap: var(--space-2);
  padding-inline: var(--space-3);
  border-radius: var(--radius-md);
  font-size: 0.8125rem;
}

html[data-theme="b2"] .nav-link[aria-current="page"] {
  box-shadow: inset 2px 0 0 var(--color-accent);
}

html[data-theme="b2"] .theme-switcher select {
  min-height: 2rem;
  border-color: transparent;
  background: var(--color-nav-hover);
}

html[data-theme="b2"] .primary-button,
html[data-theme="b2"] .secondary-button,
html[data-theme="b2"] .tertiary-button,
html[data-theme="b2"] .icon-button,
html[data-theme="b2"] .user-button,
html[data-theme="b2"] .menu-button {
  border-radius: var(--radius-control);
}

html[data-theme="b2"] .primary-button {
  border-color: var(--color-ink);
  background: var(--color-ink);
}

html[data-theme="b2"] .surface,
html[data-theme="b2"] .state-panel,
html[data-theme="b2"] .table-shell {
  border-radius: var(--radius-md);
  box-shadow: none;
}

html[data-theme="b2"] .account-dossier-shell #account-workspace-app {
  color: var(--color-ink);
  background: var(--color-surface);
}

html[data-theme="b2"] .account-dossier-shell .account-back-link {
  padding: var(--space-3) var(--space-6) 0;
  color: var(--color-ink-soft);
  font-weight: 600;
}

html[data-theme="b2"] .account-dossier-shell .account-back-link:hover {
  color: var(--color-ink);
  text-decoration: underline;
}

html[data-theme="b2"] .account-dossier-shell .account-mission-statement {
  margin: var(--space-3) var(--space-6) 0;
  padding: var(--space-3) var(--space-4);
  border-color: color-mix(in srgb, var(--color-accent) 30%, var(--color-line));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-accent-soft) 52%, var(--color-surface));
}

html[data-theme="b2"] .account-dossier-shell .account-mission-statement p {
  max-width: 72rem;
  color: var(--color-ink);
  font-size: 0.8125rem;
  font-weight: 650;
  line-height: 1.5;
}

html[data-theme="b2"] .account-dossier-shell .account-identity-header {
  min-height: 5.75rem;
  align-items: center;
  padding: var(--space-3) var(--space-6) var(--space-4);
}

html[data-theme="b2"] .account-dossier-shell .account-identity-main h1 {
  margin: 0;
  font-size: 1.625rem;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

html[data-theme="b2"] .account-dossier-shell .account-identity-actions {
  align-self: center;
}

html[data-theme="b2"] .account-dossier-shell .account-section-nav {
  gap: var(--space-7);
  padding-inline: var(--space-6);
  background: color-mix(in srgb, var(--color-surface) 98%, transparent);
}

html[data-theme="b2"] .account-dossier-shell .account-section-nav a {
  padding-block: 0.7rem;
  color: var(--color-ink-soft);
  font-size: 0.8125rem;
  font-weight: 550;
}

html[data-theme="b2"] .account-dossier-shell .account-section-nav a[aria-current="location"] {
  color: var(--color-ink);
  font-weight: 650;
}

html[data-theme="b2"] .account-dossier-layout {
  grid-template-columns: minmax(0, 1fr) 20rem;
  max-width: 100rem;
  margin-inline: auto;
}

html[data-theme="b2"] .account-dossier-main {
  padding: 0 var(--space-6) var(--space-12);
}

html[data-theme="b2"] .account-dossier-main > section {
  padding: var(--space-5) 0 var(--space-10);
}

html[data-theme="b2"] .account-dossier-main .overview-matters {
  padding-top: var(--space-4);
}

html[data-theme="b2"] .account-dossier-main .overview-matters > .surface-header {
  display: none;
}

html[data-theme="b2"] .account-dossier-main .matter-list {
  gap: 0 var(--space-6);
  border-top: 0;
}

html[data-theme="b2"] .account-dossier-main .matter-list article:first-child {
  margin-bottom: var(--space-2);
  padding: var(--space-4) var(--space-5);
  border: 1px solid color-mix(in srgb, var(--color-accent) 32%, var(--color-line));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-accent-soft) 62%, var(--color-surface));
}

html[data-theme="b2"] .account-dossier-main .matter-list .matter-next-step {
  min-height: auto;
}

html[data-theme="b2"] .matter-next-step .matter-preview-button {
  min-height: auto;
  padding: 0;
}

html[data-theme="b2"] .account-dossier-main .matter-list article:first-child::before {
  display: none;
}

html[data-theme="b2"] .account-dossier-main .matter-list h4,
html[data-theme="b2"] .matter-preview-heading {
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.045em;
}

html[data-theme="b2"] .account-dossier-main .matter-list article:first-child .matter-preview-text {
  max-width: 72ch;
  margin-bottom: 0;
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 550;
  line-height: 1.45;
  letter-spacing: -0.01em;
}

html[data-theme="b2"] .account-dossier-main .matter-list article + article {
  padding-top: var(--space-4);
  border-bottom: 1px solid var(--color-line);
}

html[data-theme="b2"] .account-dossier-main .matter-list article:nth-child(3) {
  padding-left: var(--space-6);
}

html[data-theme="b2"] .account-dossier-main .matter-list .matter-preview {
  min-height: 9rem;
}

html[data-theme="b2"] .matter-preview-button {
  min-height: 7rem;
  padding: var(--space-2) 0 var(--space-4);
  border-radius: 0;
}

html[data-theme="b2"] .matter-preview-button:hover {
  border-color: transparent;
  background: transparent;
}

html[data-theme="b2"] .matter-preview-button:hover .matter-preview-action,
html[data-theme="b2"] .matter-preview-button:focus-visible .matter-preview-action {
  text-decoration: underline;
}

html[data-theme="b2"] .matter-preview-action {
  opacity: 0.76;
}

html[data-theme="b2"] .matter-preview-text {
  color: var(--color-ink);
  line-height: 1.55;
}

html[data-theme="b2"] .account-dossier-rail {
  top: 2.7rem;
  min-height: calc(100vh - 2.7rem);
  padding: var(--space-5) var(--space-5) var(--space-10);
  background: var(--color-surface);
}

html[data-theme="b2"] .dossier-rail-section {
  padding-bottom: var(--space-5);
}

html[data-theme="b2"] .dossier-rail-section + .dossier-rail-section {
  padding-top: var(--space-5);
}

html[data-theme="b2"] .dossier-rail-section h2 {
  font-size: var(--text-sm);
  letter-spacing: -0.01em;
}

html[data-theme="b2"] .dossier-todo-entry,
html[data-theme="b2"] .dossier-rail-list a,
html[data-theme="b2"] .dossier-product-list li {
  padding-block: 0.65rem;
}

html[data-theme="b2"] .account-dossier-main .surface,
html[data-theme="b2"] .account-section-drawer-body .surface {
  border-top-color: var(--color-line);
}

html[data-theme="b2"] .account-dossier-main > #account-prospect-sprint,
html[data-theme="b2"] .account-dossier-main > #account-deal-sprint {
  padding-top: var(--space-6);
}

html[data-theme="b2"] .sprint-phase-list {
  gap: 0;
}

html[data-theme="b2"] .sprint-items {
  gap: var(--space-2);
}

html[data-theme="b2"] .sprint-phase-body {
  gap: var(--space-4);
}

html[data-theme="b2"] .deal-diagnosis-card {
  border-color: color-mix(in srgb, var(--color-accent) 16%, var(--color-line));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-accent-soft) 34%, var(--color-surface));
}

html[data-theme="b2"] .sprint-phase > header {
  padding: var(--space-3) 0;
}

html[data-theme="b2"] .sprint-item {
  padding: var(--space-3) 0;
  border-width: 0 0 1px;
  border-radius: 0;
  background: transparent;
  gap: var(--space-4);
}

html[data-theme="b2"] .sprint-item-date {
  flex-basis: 5rem;
  padding-top: 0.15rem;
}

html[data-theme="b2"] .sprint-child-actions {
  width: calc(100% - 5rem - var(--space-4));
  flex-basis: calc(100% - 5rem - var(--space-4));
  margin-left: calc(5rem + var(--space-4));
  border-top-color: var(--color-line);
}

html[data-theme="b2"] .sprint-child-action {
  border-color: color-mix(in srgb, var(--color-warning) 14%, var(--color-line));
  background: color-mix(in srgb, var(--color-warning-soft) 42%, var(--color-surface));
}

html[data-theme="b2"] .sprint-item.is-completed {
  padding-inline: var(--space-3);
  border: 1px solid color-mix(in srgb, var(--color-success) 26%, var(--color-line));
  border-radius: var(--radius-md);
  background: var(--color-success-soft);
}

html[data-theme="b2"] .sprint-item h5,
html[data-theme="b2"] .sprint-next-milestone strong {
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1.4;
}

html[data-theme="b2"] .sprint-item-support {
  font-size: var(--text-xs);
}

html[data-theme="b2"] .drawer,
html[data-theme="b2"] .modal,
html[data-theme="b2"] .popup {
  border-radius: var(--radius-lg);
}

@media (max-width: 75rem) {
  html[data-theme="b2"] .account-dossier-layout {
    grid-template-columns: minmax(0, 1fr) 17rem;
  }
}

@media (max-width: 54rem) {
  html[data-theme="b2"] .account-dossier-layout {
    display: flex;
  }

  html[data-theme="b2"] .account-dossier-rail {
    min-height: 0;
  }
}

/* source: frontend/styles/identity_news.css */

.identity-news {
  display: grid;
  gap: var(--space-8);
  max-width: 92rem;
  margin-inline: auto;
}

.identity-news-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-8);
  align-items: end;
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--color-line-strong);
}

.identity-news-header h1,
.identity-news-header p,
.identity-news-lead h2,
.identity-news-lead p,
.identity-news-item h3,
.identity-news-item p,
.identity-news-sidebar h2,
.identity-news-sidebar p {
  margin: 0;
}

.identity-news-header h1 {
  font-size: clamp(2rem, 3vw, 3.25rem);
  line-height: 1;
  letter-spacing: -0.035em;
}

.identity-news-header p {
  max-width: 56ch;
  margin-top: var(--space-3);
  color: var(--color-ink-soft);
  font-size: var(--text-md);
}

.identity-news-edition {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: var(--space-8);
  margin: 0;
}

.identity-news-edition div {
  display: grid;
  gap: var(--space-1);
}

.identity-news-edition dt,
.identity-news-topic {
  color: var(--color-accent-strong);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.identity-news-edition dd {
  margin: 0;
  font-size: var(--text-sm);
  font-weight: 700;
}

.identity-news-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(28rem, 0.8fr);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  overflow: hidden;
}

.identity-news-lead-copy {
  display: grid;
  align-content: center;
  gap: var(--space-4);
  padding: clamp(2rem, 4vw, 4.25rem);
}

.identity-news-lead h2 {
  max-width: 19ch;
  font-size: clamp(1.75rem, 3vw, 3.1rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.identity-news-lead-copy > p {
  max-width: 66ch;
  color: var(--color-ink-soft);
  font-size: var(--text-md);
  line-height: 1.65;
}

.identity-news-signal-map {
  display: grid;
  background: var(--color-nav-canvas);
  color: var(--color-nav-ink);
}

.identity-news-signal-map article {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: var(--space-2) var(--space-3);
  align-content: center;
  padding: var(--space-6);
  border-bottom: 1px solid var(--color-nav-border);
}

.identity-news-signal-map article:last-child {
  border-bottom: 0;
}

.identity-news-signal-map span {
  grid-row: 1 / span 2;
  color: var(--color-nav-ink-soft);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.identity-news-signal-map strong {
  font-size: var(--text-sm);
}

.identity-news-signal-map p {
  color: var(--color-nav-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.5;
}

.identity-news-tools {
  display: flex;
  gap: var(--space-4);
  align-items: center;
  justify-content: space-between;
  padding-block: var(--space-2);
}

.identity-news-search {
  position: relative;
  width: min(100%, 26rem);
}

.identity-news-search .icon {
  position: absolute;
  top: 50%;
  left: var(--space-3);
  width: 1.1rem;
  color: var(--color-ink-soft);
  transform: translateY(-50%);
}

.identity-news-search input {
  width: 100%;
  padding-left: 2.5rem;
}

.identity-news-filters {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
  justify-content: flex-end;
}

.identity-news-filters button {
  min-height: 2.25rem;
  padding: 0 var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  color: var(--color-ink-soft);
  background: var(--color-surface);
  font: inherit;
  font-size: var(--text-xs);
  font-weight: 650;
  cursor: pointer;
}

.identity-news-filters button:hover {
  border-color: var(--color-line-strong);
  color: var(--color-ink);
  background: var(--color-surface-subtle);
}

.identity-news-filters button[aria-pressed="true"] {
  border-color: color-mix(in srgb, var(--color-accent) 60%, var(--color-line));
  color: var(--color-accent-strong);
  background: var(--color-accent-soft);
}

.identity-news-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18rem;
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
}

.identity-news-section-heading {
  display: flex;
  gap: var(--space-4);
  align-items: end;
  justify-content: space-between;
  padding-bottom: var(--space-4);
}

.identity-news-section-heading h2,
.identity-news-section-heading p {
  margin: 0;
}

.identity-news-section-heading h2 {
  font-size: var(--text-xl);
}

.identity-news-section-heading p,
.identity-news-section-heading > span {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.identity-news-section-heading > span {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.identity-news-item {
  position: relative;
  display: grid;
  grid-template-columns: 9.5rem minmax(0, 1fr) auto;
  gap: var(--space-6);
  padding: var(--space-6) 0;
  border-top: 1px solid var(--color-line);
}

.identity-news-item.is-featured {
  padding-top: var(--space-8);
  border-top-color: var(--color-line-strong);
}

.identity-news-item[hidden] {
  display: none;
}

.identity-news-item-meta {
  display: grid;
  align-content: start;
  gap: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.identity-news-item-meta time {
  color: var(--color-ink);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.identity-news-item-main {
  display: grid;
  gap: var(--space-3);
}

.identity-news-item h3 {
  max-width: 32ch;
  font-size: clamp(1.15rem, 1.7vw, 1.55rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.identity-news-item h3 a {
  color: var(--color-ink);
  text-decoration: none;
}

.identity-news-item h3 a:hover {
  color: var(--color-accent-strong);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.identity-news-item-main > p {
  max-width: 72ch;
  color: var(--color-ink-soft);
  line-height: 1.6;
}

.identity-news-item-main .identity-news-why {
  color: var(--color-ink);
}

.identity-news-source-link {
  display: inline-flex;
  gap: var(--space-1);
  align-items: center;
  align-self: start;
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 700;
  text-decoration: none;
}

.identity-news-source-link:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.identity-news-source-link svg {
  width: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}

.identity-news-sidebar {
  position: sticky;
  top: calc(var(--header-height) + var(--space-6));
  display: grid;
  gap: var(--space-6);
}

.identity-news-sidebar section {
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line-strong);
}

.identity-news-sidebar h2 {
  margin-bottom: var(--space-3);
  font-size: var(--text-sm);
}

.identity-news-sidebar p,
.identity-news-sidebar li {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  line-height: 1.55;
}

.identity-news-source-stats {
  display: grid;
  gap: var(--space-2);
  margin: 0 0 var(--space-4);
}

.identity-news-source-stats div {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--color-line);
}

.identity-news-source-stats dt {
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.identity-news-source-stats dd {
  margin: 0;
  color: var(--color-ink);
  font-size: var(--text-xs);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.identity-news-sidebar ul {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding-left: 1.1rem;
}

.identity-news-empty {
  padding: var(--space-12) var(--space-6);
  border-top: 1px solid var(--color-line-strong);
  text-align: center;
}

.identity-news-empty h3,
.identity-news-empty p {
  margin: 0;
}

.identity-news-empty p {
  margin-top: var(--space-2);
  color: var(--color-ink-soft);
}

@media (max-width: 78rem) {
  .identity-news-lead {
    grid-template-columns: minmax(0, 1fr) 24rem;
  }

  .identity-news-body {
    grid-template-columns: minmax(0, 1fr) 15rem;
  }

  .identity-news-item {
    grid-template-columns: 8rem minmax(0, 1fr);
  }

  .identity-news-source-link {
    grid-column: 2;
  }
}

@media (max-width: 64rem) {
  .identity-news-lead,
  .identity-news-body {
    grid-template-columns: minmax(0, 1fr);
  }

  .identity-news-signal-map {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .identity-news-signal-map article {
    grid-template-columns: minmax(0, 1fr);
    border-right: 1px solid var(--color-nav-border);
    border-bottom: 0;
  }

  .identity-news-signal-map article:last-child {
    border-right: 0;
  }

  .identity-news-signal-map span {
    grid-row: auto;
  }

  .identity-news-sidebar {
    position: static;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 48rem) {
  .identity-news-header {
    grid-template-columns: minmax(0, 1fr);
  }

  .identity-news-edition {
    justify-content: start;
  }

  .identity-news-lead-copy {
    padding: var(--space-8) var(--space-5);
  }

  .identity-news-signal-map,
  .identity-news-sidebar {
    grid-template-columns: minmax(0, 1fr);
  }

  .identity-news-signal-map article {
    border-right: 0;
    border-bottom: 1px solid var(--color-nav-border);
  }

  .identity-news-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .identity-news-search {
    width: 100%;
  }

  .identity-news-filters {
    justify-content: flex-start;
  }

  .identity-news-item {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .identity-news-item-meta {
    grid-template-columns: repeat(3, auto);
    justify-content: start;
  }

  .identity-news-source-link {
    grid-column: 1;
  }
}

/* source: frontend/styles/ideas.css */

.ideas-page-title,
.ideas-composer,
.ideas-filter,
.ideas-list,
.ideas-empty,
#ideas-loading,
#ideas-error {
  width: min(64rem, 100%);
  margin-inline: auto;
}

.ideas-page-title {
  margin-bottom: var(--space-6);
}

.ideas-count {
  margin: var(--space-2) 0 0;
  padding: var(--space-2) var(--space-3);
  border-radius: 999px;
  color: var(--color-ink-soft);
  background: var(--color-surface-subtle);
  font-size: var(--text-sm);
  font-weight: 700;
}

.ideas-composer {
  margin-bottom: var(--space-5);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.ideas-composer h2,
.ideas-composer p {
  margin: 0;
}

.ideas-composer > div p {
  margin-top: var(--space-1);
  color: var(--color-ink-soft);
}

.ideas-composer form {
  display: grid;
  gap: var(--space-3);
}

.ideas-composer textarea {
  min-height: 4.75rem;
  margin: 0;
  padding: var(--space-3) var(--space-4);
  resize: vertical;
}

.ideas-composer-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-3);
}

.ideas-filter {
  display: flex;
  gap: var(--space-1);
  width: fit-content;
  margin-right: auto;
  margin-bottom: var(--space-5);
  padding: var(--space-1);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-control);
  background: var(--color-surface-subtle);
}

.ideas-filter button {
  min-height: 2.25rem;
  padding: 0 var(--space-4);
  border: 0;
  border-radius: calc(var(--radius-control) - 0.2rem);
  color: var(--color-ink-soft);
  background: transparent;
  font-weight: 700;
}

.ideas-filter button[aria-pressed="true"] {
  color: var(--color-ink);
  background: var(--color-surface);
  box-shadow: 0 1px 3px rgb(28 37 43 / 10%);
}

.ideas-list {
  display: grid;
  gap: var(--space-3);
}

.ideas-card {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.ideas-card.kind-idea {
  background: color-mix(in srgb, var(--color-warning-soft) 56%, var(--color-surface));
}

.ideas-card.kind-todo {
  background: color-mix(in srgb, var(--color-danger-soft) 48%, var(--color-surface));
}

.ideas-card.is-done {
  background: var(--color-surface-subtle);
}

.ideas-card.is-done .ideas-card-copy p {
  color: var(--color-ink-soft);
  text-decoration: line-through;
}

.ideas-status-toggle,
.ideas-card-action {
  display: inline-grid;
  width: 2.5rem;
  min-height: 2.5rem;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--color-ink-soft);
  background: transparent;
}

.ideas-kind-marker {
  display: inline-grid;
  width: 2.5rem;
  min-height: 2.5rem;
  place-items: center;
  color: var(--color-warning);
}

.ideas-kind-marker.is-todo {
  color: var(--color-danger);
}

.ideas-status-toggle:hover,
.ideas-card-action:hover {
  color: var(--color-ink);
  background: var(--color-surface-subtle);
}

.ideas-status-toggle svg,
.ideas-card-action svg,
.ideas-kind-marker svg,
.ideas-empty svg {
  width: 1.35rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.ideas-card.is-done .ideas-status-toggle {
  color: var(--color-success);
}

.ideas-card-copy p {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.ideas-card-date {
  display: block;
  margin-top: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
}

.ideas-card-actions {
  display: flex;
  gap: var(--space-1);
}

.ideas-card-action.is-danger:hover {
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

.ideas-empty {
  display: grid;
  min-height: 16rem;
  place-items: center;
  align-content: center;
  gap: var(--space-2);
  padding: var(--space-8);
  border: 1px dashed var(--color-line-strong);
  border-radius: var(--radius-md);
  color: var(--color-ink-soft);
  text-align: center;
}

.ideas-empty svg {
  width: 2rem;
}

.ideas-empty h2,
.ideas-empty p {
  margin: 0;
}

.ideas-empty[hidden],
.ideas-list[hidden] {
  display: none;
}

@media (max-width: 42rem) {
  .ideas-composer,
  .ideas-card {
    padding: var(--space-4);
  }

  .ideas-composer-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .ideas-card {
    grid-template-columns: auto auto minmax(0, 1fr);
  }

  .ideas-card-actions {
    grid-column: 3;
  }
}

/* source: frontend/styles/sales_brain.css */

.sales-brain-title,
#sales-brain-page {
  color: var(--color-ink, #1c252b);
}

.sales-brain-title {
  align-items: start;
}

.sales-brain-guardrail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-block: 1.5rem 2rem;
  border: 1px solid var(--color-line, #d8dddf);
  border-radius: 0.45rem;
  background: var(--color-line, #d8dddf);
}

.sales-brain-guardrail div {
  display: grid;
  gap: 0.25rem;
  min-height: 5.5rem;
  padding: 1rem;
  background: var(--color-surface, #fff);
}

.sales-brain-guardrail strong {
  color: var(--color-ink, #1c252b);
}

.sales-brain-guardrail span {
  color: var(--color-ink-soft, #657178);
}

.sales-brain-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 1.25rem;
  align-items: start;
}

.sales-brain-panel {
  display: grid;
  gap: 1.25rem;
}

.sales-brain-output {
  display: grid;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--color-line, #d8dddf);
}

.sales-brain-output-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.sales-brain-output-header h3 {
  margin: 0;
}

.sales-brain-output pre {
  overflow: auto;
  max-height: 32rem;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--color-line, #d8dddf);
  border-radius: 0.3rem;
  background: var(--color-surface-subtle, #f0f3f4);
  color: var(--color-ink, #1c252b);
  white-space: pre-wrap;
}

.sales-brain-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sales-brain-summary span {
  padding: 0.35rem 0.6rem;
  border-radius: 999px;
  background: var(--color-surface-subtle, #f0f3f4);
  color: var(--color-ink-soft, #657178);
  font-weight: 650;
}

.sales-brain-summary .is-ready {
  background: var(--color-success-soft, #edf4ef);
  color: var(--color-success, #4f7662);
}

.sales-brain-summary .is-review,
.sales-brain-summary .is-failed {
  background: var(--color-warning-soft, #fff8e8);
  color: var(--color-warning, #9a5b00);
}

@media (max-width: 75rem) {
  .sales-brain-grid,
  .sales-brain-guardrail {
    grid-template-columns: 1fr;
  }
}

/* source: frontend/styles/sprint_generation.css */

.sprint-generation-launch {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.sprint-generation-launch svg {
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.sprint-generation-layer {
  justify-content: flex-end;
}

.drawer.sprint-generation-drawer {
  width: min(112rem, calc(100vw - var(--nav-width, 11rem)));
  max-width: 98vw;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.sprint-generation-header {
  padding: var(--space-5) var(--space-6);
}

.sprint-generation-layout {
  min-height: 0;
  display: grid;
  grid-template-columns: 14rem minmax(0, 1fr);
}

.sprint-generation-steps {
  padding: var(--space-5) var(--space-3);
  border-right: 1px solid var(--color-line);
  background: var(--color-surface-subtle);
}

.sprint-generation-steps span {
  min-height: 2.75rem;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  color: var(--color-ink-soft);
  border-left: 2px solid transparent;
}

.sprint-generation-steps b {
  width: 1.5rem;
  height: 1.5rem;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--color-line-strong);
  border-radius: 999px;
  font-size: .75rem;
}

.sprint-generation-steps .is-current {
  color: var(--color-ink);
  background: var(--color-surface);
  border-left-color: var(--color-accent);
  font-weight: 700;
}

.sprint-generation-steps .is-complete b {
  color: var(--color-success);
  border-color: var(--color-success);
  background: var(--color-success-soft);
}

.sprint-generation-body {
  padding: var(--space-5) var(--space-6) var(--space-6);
  overflow-y: auto;
}

.sprint-generation-start,
.sprint-generation-workspace {
  max-width: 92rem;
  margin: 0 auto;
}

.sprint-generation-intro {
  max-width: none;
  margin-bottom: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--color-accent-soft), var(--color-surface));
}

.sprint-generation-intro h3 {
  margin-bottom: var(--space-2);
}

.sprint-generation-controls {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: end;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.sprint-generation-controls > div {
  min-width: 0;
}

.sprint-generation-controls label {
  display: block;
  margin: 0 0 var(--space-2);
}

.sprint-generation-supporting {
  margin-top: var(--space-6);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.sprint-generation-deal-context {
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-xl);
  background:
    linear-gradient(180deg, rgba(34, 99, 130, .06), rgba(255, 255, 255, 0) 18rem),
    var(--color-surface);
}

.sprint-generation-deal-context legend {
  padding: 0 var(--space-2);
  font-weight: 700;
  font-size: var(--text-lg);
}

.sprint-generation-deal-context .form-grid {
  margin-top: var(--space-4);
}

.sprint-generation-deal-context > .muted {
  max-width: 68rem;
  margin: var(--space-1) 0 var(--space-4);
}

.sprint-generation-variable-intake {
  display: grid;
  gap: var(--space-4);
}

.sprint-generation-variable-card {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--color-surface) 92%, var(--color-surface-subtle));
}

.sprint-generation-variable-card h4 {
  margin: 0;
  color: var(--color-ink);
  font-size: var(--text-lg);
  line-height: 1.2;
}

.sprint-generation-choice-field {
  display: grid;
  grid-template-columns: minmax(8rem, .28fr) minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
}

.sprint-generation-choice-field label {
  padding-top: .58rem;
  color: var(--color-ink-soft);
  font-weight: 720;
}

.sprint-generation-choice-field select.is-choice-source,
.sprint-generation-controls select.is-choice-source {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.sprint-generation-choice-picker {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  min-width: 0;
}

.sprint-generation-choice-button {
  min-height: 2.55rem;
  padding: 0 var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
  color: var(--color-ink);
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}

.sprint-generation-choice-button:hover,
.sprint-generation-choice-button:focus-visible {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
  outline: none;
}

.sprint-generation-choice-button:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-focus) 22%, transparent);
}

.sprint-generation-choice-button.is-selected {
  border-color: color-mix(in srgb, var(--color-focus) 74%, var(--color-accent));
  background: color-mix(in srgb, var(--color-focus) 88%, var(--color-accent));
  color: var(--color-surface);
}

.sprint-generation-blueprint-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(14rem, 1fr));
  gap: var(--space-3);
  padding: 0;
  border: 0;
  background: transparent;
}

.sprint-generation-blueprint-grid > div {
  min-width: 0;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 1px 0 rgba(15, 23, 42, .03);
}

.sprint-generation-blueprint-grid label,
.sprint-generation-note-grid label {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sprint-generation-blueprint-grid select,
.sprint-generation-note-grid textarea,
.sprint-generation-note-grid select {
  width: 100%;
}

.sprint-generation-checklist-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(16rem, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-5);
  align-items: start;
}

.sprint-generation-checklist-grid.is-inline {
  grid-template-columns: 1fr;
  gap: var(--space-3);
  margin-top: 0;
}

.sprint-generation-checklist-grid fieldset {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  min-width: 0;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 1px 0 rgba(15, 23, 42, .03);
}

.sprint-generation-checklist-grid legend {
  padding: 0 var(--space-2);
  color: var(--color-accent-strong);
  font-size: var(--text-xs);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sprint-generation-checklist-grid label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-2);
  min-height: 2.55rem;
  padding: var(--space-2) var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: var(--color-surface-subtle);
  color: var(--color-ink);
  font-weight: 650;
  line-height: 1.25;
  text-align: left;
}

.sprint-generation-checklist-grid.is-inline label {
  flex: 0 1 auto;
}

.sprint-generation-checklist-grid input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.sprint-generation-checklist-grid label span {
  flex: 1 1 auto;
  min-width: 0;
}

.sprint-generation-checklist-grid label:has(input:checked) {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
  font-weight: 700;
}

.sprint-generation-story-snapshot {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-4);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}

.sprint-generation-story-snapshot > div:first-child {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-2);
}

.sprint-generation-story-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.sprint-generation-story-chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0 var(--space-2);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-pill);
  background: var(--color-surface-subtle);
  color: var(--color-ink-soft);
  font-size: var(--text-xs);
  font-weight: 750;
}

.sprint-generation-story-chip.is-known,
.sprint-generation-story-chip.is-validated {
  border-color: color-mix(in srgb, var(--color-success) 24%, var(--color-line));
  background: var(--color-success-soft);
  color: var(--color-success);
}

.sprint-generation-story-chip.is-assumed {
  border-color: color-mix(in srgb, var(--color-warning) 24%, var(--color-line));
  background: var(--color-warning-soft);
  color: var(--color-warning);
}

.sprint-generation-story-chip.is-missing {
  border-color: color-mix(in srgb, var(--color-danger) 18%, var(--color-line));
  background: var(--color-danger-soft);
  color: var(--color-danger);
}

.sprint-generation-note-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .88);
}

.sprint-generation-note-grid .form-span-2 {
  grid-column: 1 / -1;
}

.sprint-generation-note-grid textarea {
  min-height: 6rem;
}

.sprint-generation-note-grid .form-span-2 textarea {
  min-height: 4.25rem;
}

.sprint-generation-supporting summary {
  padding: var(--space-4) 0;
  cursor: pointer;
  font-weight: 700;
}

.sprint-generation-supporting > div {
  display: grid;
  gap: var(--space-2);
  padding-bottom: var(--space-5);
}

.sprint-generation-supporting input[type="file"] {
  max-width: 42rem;
}

.sprint-generation-start-actions,
.sprint-generation-panel-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-top: var(--space-5);
}

.sprint-generation-progress {
  padding-bottom: var(--space-5);
  border-bottom: 1px solid var(--color-line);
}

.sprint-generation-progress > div {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-2);
  text-transform: capitalize;
}

.sprint-generation-progress progress {
  width: 100%;
  height: .4rem;
  accent-color: var(--color-accent);
}

.sprint-generation-panel {
  padding: var(--space-6) 0;
  border-bottom: 1px solid var(--color-line);
}

.sprint-generation-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-5);
  margin-bottom: var(--space-5);
}

.sprint-generation-panel form {
  display: grid;
  gap: var(--space-3);
}

.sprint-generation-source-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--color-line);
}

.sprint-generation-source-list div {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-right: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  text-transform: capitalize;
}

.sprint-generation-contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) 0;
  border-top: 1px solid var(--color-line);
}

.sprint-generation-contact > div {
  display: grid;
  gap: var(--space-1);
}

.sprint-generation-contact > div:last-child {
  display: flex;
  grid-auto-flow: column;
  gap: var(--space-2);
}

.sprint-generation-hypothesis {
  margin-top: var(--space-4);
  padding: var(--space-4);
  background: var(--color-accent-soft);
  border: 1px solid var(--color-line);
}

.sprint-generation-diff {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  border: 1px solid var(--color-line);
}

.sprint-generation-diff > div {
  min-width: 0;
  padding: var(--space-4);
}

.sprint-generation-diff > div + div {
  border-left: 1px solid var(--color-line);
  background: var(--color-success-soft);
}

.sprint-generation-diff-column section {
  margin-top: var(--space-5);
}

.sprint-generation-diff-column article {
  margin-top: var(--space-2);
  padding: var(--space-3);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
}

.sprint-generation-item-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
}

.sprint-generation-action-list,
.sprint-generation-quality-details ul {
  display: grid;
  gap: var(--space-2);
  margin: var(--space-3) 0 0;
  padding-left: var(--space-5);
}

.sprint-generation-action-list {
  padding-left: 0;
  list-style: none;
}

.sprint-generation-action-list li {
  display: grid;
  grid-template-columns: minmax(4.75rem, max-content) minmax(0, 1fr);
  align-items: start;
  gap: var(--space-3);
  padding: var(--space-2) 0;
}

.sprint-generation-action-date {
  color: var(--color-accent);
  font-size: var(--font-size-xs);
  font-weight: 750;
  letter-spacing: 0.04em;
  line-height: 1.35;
  text-transform: uppercase;
  white-space: nowrap;
}

.sprint-generation-action-body {
  min-width: 0;
}

.sprint-generation-action-list li span,
.sprint-generation-quality-details li span {
  display: block;
  margin-top: var(--space-1);
}

.sprint-generation-action-list li p {
  margin: var(--space-1) 0 0;
}

.sprint-generation-change-summary {
  margin: 0 0 var(--space-4);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-line);
  background: var(--color-accent-soft);
}

.sprint-generation-quality-details {
  margin-bottom: var(--space-4);
}

.sprint-generation-quality-details details,
.sprint-generation-evidence-ledger {
  border: 1px solid var(--color-line);
  background: var(--color-surface);
}

.sprint-generation-quality-details summary,
.sprint-generation-evidence-ledger > summary {
  padding: var(--space-3) var(--space-4);
  cursor: pointer;
  font-weight: 700;
}

.sprint-generation-quality-details details > :not(summary),
.sprint-generation-evidence-ledger > :not(summary) {
  margin-right: var(--space-4);
  margin-left: var(--space-4);
}

.sprint-generation-evidence-list {
  max-height: 28rem;
  overflow-y: auto;
  border-top: 1px solid var(--color-line);
}

.sprint-generation-evidence-list article {
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-line);
}

.sprint-generation-evidence-list article p,
.sprint-generation-evidence-list article span {
  display: block;
  margin: var(--space-1) 0 0;
}

.sprint-generation-diff-column article span {
  display: block;
  margin-top: var(--space-1);
}

.sprint-generation-diff-column article p {
  margin-top: var(--space-2);
}

.sprint-generation-evidence {
  margin-top: var(--space-5);
}

.sprint-generation-story-review {
  display: grid;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  background: var(--color-surface);
}

.sprint-generation-story-review h4,
.sprint-generation-story-review h5 {
  margin: 0;
}

.sprint-generation-story-review p {
  margin: 0;
}

.sprint-generation-story-target-list {
  display: grid;
  gap: var(--space-2);
}

.sprint-generation-story-target-list article {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  background: var(--color-surface-subtle);
}

.sprint-generation-story-target-list article p,
.sprint-generation-story-target-list article span {
  margin: 0;
}

.sprint-generation-footer {
  justify-content: space-between;
}

.sprint-generation-publish-actions {
  display: flex;
  gap: var(--space-2);
}

@media (max-width: 75rem) {
  .drawer.sprint-generation-drawer { width: min(92rem, 98vw); }
  .sprint-generation-controls,
  .sprint-generation-blueprint-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sprint-generation-choice-field { grid-template-columns: 1fr; }
  .sprint-generation-choice-field label { padding-top: 0; }
  .sprint-generation-checklist-grid,
  .sprint-generation-note-grid { grid-template-columns: 1fr; }
  .sprint-generation-source-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 54rem) {
  .drawer.sprint-generation-drawer { width: 100vw; max-width: none; }
  .sprint-generation-layout { grid-template-columns: 1fr; }
  .sprint-generation-steps { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--color-line); }
  .sprint-generation-steps span { min-width: max-content; }
  .sprint-generation-controls,
  .sprint-generation-blueprint-grid,
  .sprint-generation-checklist-grid,
  .sprint-generation-note-grid,
  .sprint-generation-source-list,
  .sprint-generation-diff { grid-template-columns: 1fr; }
  .sprint-generation-variable-card { padding: var(--space-4); }
  .sprint-generation-diff > div + div { border-left: 0; border-top: 1px solid var(--color-line); }
}
