:root {
  --ink: #101112;
  --ink-2: #2f3133;
  --muted: #6e7175;
  --paper: #f4f4f1;
  --surface: #ffffff;
  --surface-2: #f8f8f6;
  --line: #dedfdb;
  --line-strong: #bfc1bc;
  --orange: #ff5a00;
  --orange-dark: #d94900;
  --orange-soft: #fff0e7;
  --green: #ff5a00;
  --green-bright: #ff5a00;
  --green-soft: #fff0e7;
  --lime: #ff5a00;
  --red: #a91d24;
  --red-soft: #fdebed;
  --stage-1: #a91d24;
  --stage-2: #f2c94c;
  --stage-3: #a8d58e;
  --stage-4: #176b4b;
  --driver-market: #2f7f6e;
  --driver-offer: #6848f3;
  --driver-sales: #d84950;
  --driver-team: #9eb3df;
  --shadow: 0 22px 60px rgba(16, 17, 18, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
button, input, select, textarea { font: inherit; }
button { color: inherit; }
[hidden] { display: none !important; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.dropdown-backdrop { position: fixed; inset: 0; z-index: 80; background: rgba(16,17,18,.34); backdrop-filter: blur(1.5px); touch-action: pan-y; }
.section-shell { width: min(1480px, calc(100% - 48px)); margin-inline: auto; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 64px;
  padding: 10px clamp(24px, 4vw, 64px);
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: rgba(16,17,18,.96);
  backdrop-filter: blur(18px);
}
.brand { display: inline-flex; align-items: center; gap: 12px; color: white; text-decoration: none; font-size: 14px; font-weight: 800; letter-spacing: .025em; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--orange); color: white; font-size: 12px; font-weight: 900; }
.topbar-meta { display: flex; align-items: center; gap: 14px; }
.topbar-company-field { display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.6); font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.topbar-company-field input { width: min(260px, 25vw); min-height: 38px; padding: 0 11px; border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.08); color: white; font-size: 12px; text-transform: none; letter-spacing: 0; }
.topbar-company-field input::placeholder { color: rgba(255,255,255,.42); }
.save-status { color: rgba(255,255,255,.5); font-size: 12px; transition: color .2s ease; }
.save-status.is-saved { color: var(--orange); }
.private-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.private-pill span { color: var(--orange); font-size: 9px; }

.hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  padding: 54px 0 28px;
}
.eyebrow, .step-kicker { display: inline-block; margin-bottom: 10px; color: var(--orange); font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 10px; font-size: clamp(38px, 5vw, 64px); font-weight: 850; line-height: .98; letter-spacing: -.045em; }
.hero > div:first-child > p { max-width: 760px; margin-bottom: 0; color: var(--muted); font-size: 17px; }
.hero-status { display: grid; grid-template-columns: 10px auto; gap: 0 10px; align-items: center; min-width: 230px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.65); }
.hero-status > span { grid-row: 1 / 3; width: 9px; height: 9px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(255,90,0,.12); }
.hero-status strong { font-size: 13px; }
.hero-status small { color: var(--muted); font-size: 11px; }

.navigator-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); margin-bottom: 64px; overflow: visible; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); box-shadow: var(--shadow); }
.step-sidebar { display: flex; flex-direction: column; min-height: 720px; padding: 24px 16px; border-radius: 23px 0 0 23px; background: var(--ink); color: white; }
.progress-copy { display: flex; justify-content: space-between; margin-bottom: 10px; color: rgba(255,255,255,.48); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.progress-copy strong { color: var(--orange); }
.progress-track { height: 4px; margin-bottom: 28px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.11); }
.progress-track span { display: block; width: 20%; height: 100%; border-radius: inherit; background: var(--orange); transition: width .3s ease; }
.step-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.step-list li { position: relative; display: grid; grid-template-columns: 30px 1fr; gap: 8px; align-items: start; padding: 11px 9px; border: 1px solid transparent; border-radius: 12px; color: rgba(255,255,255,.42); transition: background .2s ease, color .2s ease, border-color .2s ease; }
.step-list li > span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; color: inherit; font-size: 10px; font-weight: 850; }
.step-list strong, .step-list small { display: block; }
.step-list strong { font-size: 12px; }
.step-list small { margin-top: 2px; font-size: 10px; opacity: .68; }
.step-list li.is-active { border-color: rgba(255,90,0,.28); background: rgba(255,90,0,.12); color: white; }
.step-list li.is-active > span { border-color: var(--orange); background: var(--orange); color: white; }
.step-list li.is-complete { color: rgba(255,255,255,.72); }
.step-list li.is-complete > span { border-color: rgba(255,90,0,.5); color: var(--orange); }
.step-list li.is-clickable { cursor: pointer; }
.step-list li.is-clickable:hover, .step-list li.is-clickable:focus-visible { border-color: rgba(255,90,0,.35); background: rgba(255,90,0,.1); color: white; outline: 0; }
.sidebar-bottom { display: grid; gap: 9px; margin-top: auto; }
.model-config-nav { display: grid; grid-template-columns: 28px 1fr; gap: 9px; align-items: center; width: 100%; padding: 11px 9px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: transparent; color: rgba(255,255,255,.58); text-align: left; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.model-config-nav > span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; color: var(--orange); font-size: 11px; font-weight: 900; }
.model-config-nav strong, .model-config-nav small { display: block; }
.model-config-nav strong { font-size: 12px; }
.model-config-nav small { margin-top: 2px; font-size: 10px; opacity: .66; }
.model-config-nav:hover, .model-config-nav:focus-visible, .model-config-nav.is-active { border-color: rgba(255,90,0,.38); outline: 0; background: rgba(255,90,0,.11); color: white; }
.model-config-nav.is-active > span { border-color: var(--orange); background: var(--orange); color: white; }
.privacy-note { display: grid; grid-template-columns: 22px 1fr; gap: 9px; margin-top: 0; padding: 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; color: rgba(255,255,255,.5); }
.privacy-note > span { color: var(--orange); }
.privacy-note p { margin: 0; font-size: 11px; }
.privacy-note strong { display: block; margin-bottom: 2px; color: rgba(255,255,255,.82); }

.step-content { min-width: 0; padding: clamp(28px, 3vw, 44px); border-radius: 0 23px 23px 0; background: var(--surface); }
.form-step { animation: enter .22s ease; scroll-margin-top: 80px; }
@keyframes enter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.step-heading { max-width: 780px; margin-bottom: 30px; }
.step-heading:has(.view-toggle) { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; max-width: none; column-gap: 16px; }
.step-heading:has(.view-toggle) > .step-kicker { grid-column: 1; grid-row: 1; }
.step-heading:has(.view-toggle) > .view-toggle { grid-column: 2; grid-row: 1; }
.step-heading:has(.view-toggle) > h2, .step-heading:has(.view-toggle) > p { grid-column: 1 / -1; max-width: 780px; }
.view-toggle { display: inline-flex; align-items: center; gap: 9px; width: max-content; color: var(--muted); font-size: 13px; font-weight: 750; white-space: nowrap; cursor: pointer; }
.view-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.view-toggle-track { position: relative; width: 40px; height: 23px; border-radius: 999px; background: #cfd0d1; transition: background .15s; }
.view-toggle-track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: white; box-shadow: 0 1px 3px #0003; transition: transform .15s; }
.view-toggle input:checked + .view-toggle-track { background: var(--orange); }
.view-toggle input:checked + .view-toggle-track::after { transform: translateX(17px); }
.view-toggle input:focus-visible + .view-toggle-track { outline: 3px solid var(--orange-dark); outline-offset: 3px; }
.form-step[data-view-mode="compact"] [data-detail-only],
.form-step[data-view-mode="compact"] #corridor-explainer,
.form-step[data-view-mode="compact"] .model-dropdown > summary .model-detail,
.form-step[data-view-mode="compact"] .report-extra-kpis,
.form-step[data-view-mode="compact"] .report-kpi-grid:first-child .report-kpi-pair:nth-child(2),
.form-step[data-view-mode="compact"] .report-kpi-grid:first-child .report-kpi-pair:nth-child(4),
.form-step[data-view-mode="compact"] .journey-note,
.form-step[data-view-mode="compact"] .comparison-cashflow-disclosure,
.form-step[data-view-mode="compact"] .cashflow-detail { display: none !important; }
.form-step[data-step="2"][data-view-mode="compact"] .driver-card header > small,
.form-step[data-step="2"][data-view-mode="compact"] .exit-management-card,
.form-step[data-step="2"][data-view-mode="compact"] .stage-summary-kicker { display: none; }
.form-step[data-step="3"][data-view-mode="compact"] .report-enterprise-value ~ :not(.compact-detail-hint),
.form-step[data-step="3"][data-view-mode="compact"] #equity-bridge-block,
.form-step[data-step="3"][data-view-mode="compact"] .calculation-details,
.form-step[data-step="3"][data-view-mode="compact"] .plan-block .plan-timeline,
.form-step[data-step="3"][data-view-mode="compact"] .plan-block .conversation-focus,
.form-step[data-step="4"][data-view-mode="compact"] .comparison-enterprise ~ tr:not(.comparison-detail-hint),
.form-step[data-step="4"][data-view-mode="compact"] .journey-bridges { display: none !important; }
.compact-detail-hint, .comparison-detail-hint { display: none; }
.form-step[data-step="3"][data-view-mode="compact"] .compact-detail-hint { display: block; }
.form-step[data-step="4"][data-view-mode="compact"] .comparison-detail-hint { display: table-row; }
.compact-detail-hint, .plan-comparison .comparison-detail-hint th { margin: 0; padding: 12px 16px; color: var(--muted); font-size: 13px; font-weight: 650; line-height: 1.4; text-align: left; }
.compact-detail-hint { border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); }
.plan-comparison .comparison-detail-hint th { background: var(--surface-2); }
.result-actions { align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.result-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; column-gap: 16px; }
.result-header > div:first-of-type { grid-column: 1; grid-row: 1 / 3; }
.result-header > .view-toggle { grid-column: 2; grid-row: 1; justify-self: end; }
.result-header > .result-actions { grid-column: 2; grid-row: 2; }
.vcp-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; column-gap: 16px; }
.vcp-header > div { grid-column: 1; grid-row: 1; }
.vcp-header > .view-toggle { grid-column: 2; grid-row: 1; justify-self: end; }
.step-heading .step-kicker { margin-bottom: 8px; }
h2 { margin-bottom: 12px; font-size: clamp(30px, 4vw, 48px); font-weight: 850; line-height: 1.02; letter-spacing: -.04em; }
h2:focus { outline: none; }
.step-heading p, .vcp-header p { margin-bottom: 0; color: var(--muted); font-size: 15px; }

.form-grid { display: grid; gap: 18px; }
.two-cols { grid-template-columns: 1fr 1fr; }
.full { grid-column: 1 / -1; }
.field { display: block; }
.field > span:first-child { display: block; margin-bottom: 8px; color: var(--ink-2); font-size: 13px; font-weight: 750; }
.field b { color: var(--orange); }
.field em { margin-left: 5px; color: var(--muted); font-style: normal; font-weight: 500; }
.field > small { display: block; margin-top: 7px; color: var(--muted); font-size: 11px; }
input, select, textarea { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: 10px; outline: 0; background: white; color: var(--ink); transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
textarea { min-height: 78px; padding-block: 11px; resize: vertical; }
select { appearance: none; padding-right: 42px; background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%); background-position: calc(100% - 18px) 22px, calc(100% - 13px) 22px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
input:focus, select:focus, textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(255,90,0,.12); }
input[aria-invalid="true"], select[aria-invalid="true"] { border-color: var(--red); box-shadow: 0 0 0 4px rgba(169,29,36,.1); }
.number-input { display: flex; align-items: center; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 10px; background: white; transition: border-color .15s ease, box-shadow .15s ease; }
.number-input:focus-within { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(255,90,0,.12); }
.number-input input { min-width: 0; border: 0; border-radius: 0; box-shadow: none !important; }
.number-input small { padding-right: 14px; color: var(--muted); white-space: nowrap; }
.has-error .number-input { border-color: var(--red); }

.business-workspace { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); gap: 18px 24px; align-items: start; }
.business-inputs { grid-column: 1; grid-row: 1; }
.business-inputs { display: grid; gap: 18px; }
.model-selection-block { display: grid; gap: 10px; }
.model-dropdown { position: relative; min-width: 0; }
.model-dropdown[open] { z-index: 95; }
.model-dropdown > summary { position: relative; min-height: 92px; padding: 14px 46px 14px 16px; border: 1px solid var(--line-strong); border-left: 5px solid var(--orange); border-radius: 12px; outline: 0; background: white; cursor: pointer; list-style: none; transition: border-color .15s ease, box-shadow .15s ease; }
.model-dropdown > summary::-webkit-details-marker { display: none; }
.model-dropdown > summary::after { content: ""; position: absolute; top: 23px; right: 20px; width: 8px; height: 8px; border-right: 2px solid var(--orange-dark); border-bottom: 2px solid var(--orange-dark); transform: rotate(45deg); transition: transform .15s ease; }
.model-dropdown[open] > summary::after { transform: translateY(4px) rotate(225deg); }
.model-dropdown > summary:hover { border-color: var(--orange); box-shadow: 0 8px 24px rgba(16,17,18,.08); }
.model-dropdown > summary:focus-visible, .model-dropdown > summary[aria-invalid="true"] { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(255,90,0,.14); }
.model-dropdown > summary > span, .model-dropdown > summary > strong, .model-dropdown > summary > small, .model-dropdown > summary > em { display: block; }
.model-dropdown-kicker { color: var(--orange-dark); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.model-dropdown > summary > strong { margin-top: 4px; font-size: 14px; line-height: 1.3; }
.model-dropdown > summary > small { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.model-dropdown > summary > em { margin-top: 5px; color: var(--muted); font-size: 9px; font-style: normal; line-height: 1.35; }
.model-dropdown-menu { position: absolute; z-index: 90; top: calc(100% + 7px); left: 0; right: 0; display: grid; gap: 6px; max-height: min(70vh, 680px); padding: 8px; overflow-y: auto; overscroll-behavior: auto; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: 0 24px 60px rgba(16,17,18,.2); }
.model-choice-group { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); }
.model-choice-group > summary { position: relative; min-height: 0; padding: 10px 34px 10px 12px; border: 0; border-radius: 0; background: var(--surface-2); color: var(--orange-dark); cursor: pointer; list-style: none; }
.model-choice-group > summary::-webkit-details-marker { display: none; }
.model-choice-group > summary::after { content: ""; position: absolute; top: 12px; right: 15px; width: 7px; height: 7px; border-right: 2px solid var(--orange-dark); border-bottom: 2px solid var(--orange-dark); transform: rotate(45deg); transition: transform .15s ease; }
.model-choice-group[open] > summary::after { transform: translateY(4px) rotate(225deg); }
.model-choice-group > summary span { display: block; font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.model-choice-group-content { display: grid; gap: 6px; padding: 0 8px 8px; }
.model-choice { display: grid; width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-left: 5px solid var(--orange); border-radius: 10px; background: #fffaf7; cursor: pointer; text-align: left; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.model-choice > span, .model-choice > strong, .model-choice > small, .model-choice > em { display: block; }
.model-choice > span { color: var(--orange-dark); font-size: 9px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.model-choice > strong { margin-top: 3px; font-size: 12px; }
.model-choice > small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.model-choice > em { margin-top: 6px; color: var(--muted); font-size: 9px; font-style: normal; }
.model-detail { display: grid !important; gap: 3px; }
.model-detail span { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 6px; }
.model-detail b { color: var(--muted); font-weight: 850; }
.model-dropdown[data-model-dropdown="primary"] > summary { border-left-color: #ffb07f; background: #fff8f3; }
.model-dropdown[data-model-dropdown="primary"] > summary::after { border-color: #d96727; }
.model-dropdown[data-model-dropdown="primary"] .model-dropdown-kicker { color: #b9541f; }
.model-dropdown[data-model-dropdown="primary"] .model-choice { border-left-color: #ffb07f; background: #fff8f3; }
.model-dropdown[data-model-dropdown="primary"] .model-choice:hover:not(:disabled),
.model-dropdown[data-model-dropdown="primary"] .model-choice:focus-visible,
.model-dropdown[data-model-dropdown="primary"] .model-choice[aria-selected="true"] { border-color: #ffb07f; }
.model-dropdown[data-model-dropdown="secondary"] > summary { border-left-color: #ffd0b6; background: #fffbf8; }
.model-dropdown[data-model-dropdown="secondary"] > summary::after { border-color: #dc8a5c; }
.model-dropdown[data-model-dropdown="secondary"] .model-dropdown-kicker { color: #b75c29; }
.model-dropdown[data-model-dropdown="secondary"] .model-choice { border-left-color: #ffd0b6; background: #fffbf8; }
.model-dropdown[data-model-dropdown="secondary"] .model-choice:hover:not(:disabled),
.model-dropdown[data-model-dropdown="secondary"] .model-choice:focus-visible,
.model-dropdown[data-model-dropdown="secondary"] .model-choice[aria-selected="true"] { border-color: #ffd0b6; }
.model-dropdown[data-model-dropdown="secondary"].is-empty > summary,
.model-dropdown[data-model-dropdown="secondary"] .model-choice.model-choice-empty { border-color: var(--line-strong); border-left-color: var(--line-strong); background: var(--surface-2); }
.model-dropdown[data-model-dropdown="secondary"].is-empty > summary::after { border-color: var(--muted); }
.model-dropdown[data-model-dropdown="secondary"].is-empty .model-dropdown-kicker { color: var(--muted); }
.model-choice:hover:not(:disabled), .model-choice:focus-visible { border-color: var(--orange); transform: translateX(2px); box-shadow: 0 7px 20px rgba(16,17,18,.08); }
.model-choice[aria-selected="true"] { border-color: var(--orange); box-shadow: inset 0 0 0 1px var(--orange); }
.model-choice:disabled { cursor: not-allowed; filter: grayscale(.7); opacity: .38; }
.model-choice-empty { border-left-color: var(--line-strong); background: var(--surface-2); }
.model-info { padding: 16px 18px; border: 1px solid #ffd2ba; border-radius: 12px; background: var(--orange-soft); }
.model-info.is-secondary { border-color: #ffd9c4; background: #fff7f2; }
.model-info strong { display: block; margin-bottom: 6px; color: var(--orange-dark); font-size: 12px; }
.model-info.is-secondary strong { color: #e95b12; }
.model-info p { margin-bottom: 8px; font-size: 13px; line-height: 1.45; }
.model-info small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.range-field { padding: 14px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
.business-weight-control { display: grid; gap: 8px; }
.business-weight-control > div { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 11px; }
.business-weight-control b { color: var(--ink); font-weight: 850; }
.business-weight-control input[type="range"], .journey-weight-control input[type="range"] { --primary-share: 50%; width: 100%; min-height: 18px; height: 18px; padding: 0; border: 0; background: transparent; box-shadow: none; cursor: pointer; appearance: none; -webkit-appearance: none; }
.business-weight-control input[type="range"]::-webkit-slider-runnable-track, .journey-weight-control input[type="range"]::-webkit-slider-runnable-track { height: 8px; border-radius: 999px; background: linear-gradient(to right, #ffb07f 0 var(--primary-share), #ffd0b6 var(--primary-share) 100%); }
.business-weight-control input[type="range"]::-webkit-slider-thumb, .journey-weight-control input[type="range"]::-webkit-slider-thumb { width: 18px; height: 18px; margin-top: -5px; border: 3px solid #d96727; border-radius: 50%; background: white; box-shadow: 0 2px 7px rgba(16,17,18,.18); appearance: none; -webkit-appearance: none; }
.business-weight-control input[type="range"]::-moz-range-track, .journey-weight-control input[type="range"]::-moz-range-track { height: 8px; border: 0; border-radius: 999px; background: linear-gradient(to right, #ffb07f 0 var(--primary-share), #ffd0b6 var(--primary-share) 100%); }
.business-weight-control input[type="range"]::-moz-range-thumb, .journey-weight-control input[type="range"]::-moz-range-thumb { width: 12px; height: 12px; border: 3px solid #d96727; border-radius: 50%; background: white; box-shadow: 0 2px 7px rgba(16,17,18,.18); }
.business-weight-control input[type="range"]:focus-visible, .journey-weight-control input[type="range"]:focus-visible { outline: 3px solid rgba(255,90,0,.18); outline-offset: 3px; }
.corridor-card { grid-column: 2; grid-row: 1; position: sticky; top: 90px; height: 470px; min-height: 470px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--ink); color: white; box-shadow: 0 18px 45px rgba(16,17,18,.14); }
.corridor-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.corridor-heading span { display: block; color: var(--orange); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.corridor-heading strong { display: block; margin: 8px 0 4px; font-size: clamp(28px, 3vw, 42px); line-height: 1; letter-spacing: -.045em; }
.corridor-card > p { margin: 8px 0 0; color: rgba(255,255,255,.52); font-size: 9.5px; line-height: 1.38; }
.business-corridor-chart { min-height: 212px; padding: 0; overflow: hidden; }
.business-corridor-chart svg { display: block; width: 100%; height: auto; }
.model-chart-grid { stroke: rgba(255,255,255,.12); stroke-width: 1; }
.model-chart-label { fill: white; font-size: 8.1px; font-weight: 800; }
.model-chart-detail { fill: rgba(255,255,255,.5); font-size: 9px; }
.model-range { stroke: rgba(255,255,255,.55); stroke-width: 1; }
.model-range-primary { fill: #ffb07f; }
.model-range-secondary { fill: #ffd0b6; }
.model-range-combined { fill: #7d7f80; stroke: rgba(255,255,255,.4); stroke-width: 1; }
.model-range-value, .model-axis-label { fill: rgba(255,255,255,.58); font-size: 9px; font-weight: 700; }
.model-position-guide { stroke: rgba(255,255,255,.42); stroke-width: 1; stroke-dasharray: 5 4; }
.model-position-label { fill: rgba(255,255,255,.72); font-size: 7.5px; font-weight: 750; }
.corridor-empty { display: grid; place-items: center; min-height: 190px; color: rgba(255,255,255,.36); }
.corridor-empty > div { padding: 22px 16px; border: 1px dashed rgba(255,255,255,.2); border-radius: 12px; text-align: center; }
.corridor-empty strong, .corridor-empty small { display: block; }
.corridor-empty strong { color: white; font-size: 14px; }
.corridor-empty small { margin-top: 5px; color: rgba(255,255,255,.48); font-size: 11px; }

.calculated-field output { display: flex; align-items: center; min-height: 50px; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); color: var(--ink); font-size: 16px; font-weight: 850; }
.finance-context { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 24px; margin-bottom: 14px; padding: 2px 0 12px; border-bottom: 1px solid var(--line); }
.finance-context .field { display: flex; align-items: center; gap: 9px; min-width: 0; }
.finance-context .field > span:first-child { margin: 0; color: var(--muted); font-size: 12px; font-weight: 650; white-space: nowrap; }
.finance-context input, .finance-context select { min-height: 34px; padding-block: 0; border-color: var(--line); background-color: #fafaf9; color: var(--ink-2); font-size: 13px; }
.finance-context select { width: min(275px, 100%); background-position: calc(100% - 18px) 13px, calc(100% - 13px) 13px; }
.finance-context input[type="month"] { width: 160px; }
.finance-matrix { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.finance-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; border-bottom: 1px solid var(--line); }
.finance-pair:last-child { border-bottom: 0; }
.finance-matrix > .finance-pair:last-child { border-bottom: 0; }
.finance-pair > .field, .finance-pair > .finance-empty-cell { min-width: 0; padding: 10px 14px; }
.finance-pair .field > span:first-child { min-height: 0; margin-bottom: 5px; font-size: 11px; }
.finance-pair input, .finance-pair select, .finance-pair .calculated-field output { min-height: 42px; }
.finance-pair .number-input input { min-height: 40px; }
.finance-pair > :nth-child(2) { border-left: 1px solid var(--line); }
.finance-pair-header { background: var(--surface-2); }
.finance-column-heading { padding: 11px 14px 10px; }
.finance-relative-heading { border-left: 1px solid var(--line); background: #fff3eb; }
.finance-column-heading span { color: var(--orange-dark); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.finance-column-heading h3 { margin: 2px 0 0; font-size: 14px; letter-spacing: -.02em; }
.finance-relative-field { background: #fffdfb; }
.finance-relative-field[data-health-metric] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-content: center; align-items: center; gap: 4px 8px; }
.finance-relative-field[data-health-metric] > span:first-child { grid-column: 1 / -1; }
.finance-relative-field[data-health-metric] > .number-input,
.finance-relative-field[data-health-metric] > output { grid-column: 1; min-width: 0; }
.finance-relative-field[data-health-metric] > .metric-assessment { grid-column: 2; grid-row: 2; justify-self: end; width: fit-content; margin: 0 !important; text-align: center; overflow-wrap: break-word; }
.finance-empty-cell { background: #fafaf8; }
.finance-optional-details { background: #fff; }
.finance-optional-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 14px; background: var(--surface-2); color: var(--ink); cursor: pointer; list-style: none; }
.finance-optional-details > summary::-webkit-details-marker { display: none; }
.finance-optional-details > summary span { display: grid; gap: 2px; }
.finance-optional-details > summary strong { font-size: 13px; }
.finance-optional-details > summary small { color: var(--muted); font-size: 11px; }
.finance-optional-details > summary::after { content: "+"; display: grid; flex: 0 0 auto; place-items: center; width: 26px; height: 26px; border: 1px solid #ffc7a7; border-radius: 50%; background: #fff; color: var(--orange-dark); font-size: 18px; font-weight: 500; line-height: 1; }
.finance-optional-details[open] > summary { border-bottom: 1px solid var(--line-strong); }
.finance-optional-details[open] > summary::after { content: "−"; }
.finance-optional-grid { display: grid; grid-template-columns: 1fr; background: white; }
.finance-optional-grid > .finance-pair { background: white; }
.metric-assessment { display: inline-flex !important; align-items: center; width: max-content; max-width: 100%; margin-top: 7px !important; padding: 4px 8px; border-radius: 999px; background: #ececea; color: #66686a !important; font-size: 9px !important; font-weight: 850; line-height: 1.2 !important; }
.metric-assessment[data-band="weak"] { background: #fde8e8; color: #8e2228 !important; }
.metric-assessment[data-band="orientation"] { background: #fff3d7; color: #795a08 !important; }
.metric-assessment[data-band="strong"] { background: #e5f2e5; color: #22622f !important; }
.finance-health { margin-top: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: white; }
.finance-health:empty { display: none; }
.finance-health-summary { display: grid; grid-template-columns: auto auto minmax(180px, 1fr); gap: 10px; align-items: center; padding: 11px 14px; }
.finance-health-kicker { color: var(--orange-dark); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.finance-health-status { flex: 0 0 auto; padding: 8px 12px; border-radius: 999px; background: var(--surface-2); color: var(--ink); font-size: 11px; font-weight: 850; }
.finance-health-status[data-status="strong"] { background: #e5f2e5; color: #22622f; }
.finance-health-status[data-status="solid"] { background: #f0f5e8; color: #4b652d; }
.finance-health-status[data-status="incomplete"] { background: #ececea; color: #5e6062; }
.finance-health-status[data-status="fragile"] { background: #fff3d7; color: #795a08; }
.finance-health-status[data-status="strained"] { background: #fde8e8; color: #8e2228; }
.finance-health-coverage { color: var(--muted); font-size: 10px; }
.live-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 22px; }
.live-kpis > div { padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
.live-kpis span, .company-summary span, .kpi-summary span, .value-summary span { display: block; margin-bottom: 4px; color: var(--muted); font-size: 10px; font-weight: 780; letter-spacing: .055em; text-transform: uppercase; }
.live-kpis strong { font-size: 16px; }

.maturity-workspace { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); gap: 24px; align-items: start; }
.driver-list { display: grid; gap: 14px; }
.driver-card { position: relative; overflow: visible; padding: 16px 18px; border: 1px solid var(--line); border-radius: 0 16px 16px 0; background: white; transition: border-color .2s ease, box-shadow .2s ease; }
.driver-card:has(.stage-dropdown[open]) { z-index: 100; }
.driver-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--driver-color); }
#driver-market { --driver-color: var(--driver-market); }
#driver-offer { --driver-color: var(--driver-offer); }
#driver-sales { --driver-color: var(--driver-sales); }
#driver-team { --driver-color: var(--driver-team); }
.exit-management-card { --driver-color: #858789; background: #f1f1ef; }
.exit-management-card header span { border-radius: 0 8px 8px 0; background: #e1e2df; color: #626465; }
.exit-management-readonly { display: grid; gap: 4px; margin-top: 8px; padding: 10px 12px; border: 1px solid #cfd0cd; border-left: 4px solid #858789; border-radius: 0 10px 10px 0; background: #f8f8f6; }
.exit-management-readonly strong { font-size: 11px; }
.exit-management-readonly small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.driver-card.has-selection { border-color: var(--line-strong); box-shadow: 0 10px 30px rgba(16,17,18,.07); }
.driver-card header { display: flex; align-items: start; justify-content: space-between; gap: 15px; }
.driver-card header > div { display: flex; align-items: center; gap: 10px; }
.driver-card header .driver-title-group { align-items: start; }
.driver-title-group > div { min-width: 0; }
.driver-card header span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: color-mix(in srgb, var(--driver-color) 12%, white); color: var(--driver-color); font-size: 10px; font-weight: 900; }
.driver-card h3 { margin-bottom: 0; font-size: 18px; letter-spacing: -.025em; }
.driver-card header small { color: var(--muted); white-space: nowrap; font-size: 10px; font-weight: 700; }
.driver-description { margin: 3px 0 10px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.driver-control { display: grid; grid-template-columns: 1fr; gap: 6px; align-items: stretch; }
.stage-dropdown { --stage-color: var(--line-strong); --stage-bg: var(--surface-2); --stage-text: var(--ink); position: relative; min-width: 0; }
.stage-dropdown[data-stage="1"] { --stage-color: var(--stage-1); --stage-bg: #fff1f2; --stage-text: #78151b; }
.stage-dropdown[data-stage="2"] { --stage-color: var(--stage-2); --stage-bg: #fffaf0; --stage-text: #6d5410; }
.stage-dropdown[data-stage="3"] { --stage-color: var(--stage-3); --stage-bg: #f2faed; --stage-text: #345c28; }
.stage-dropdown[data-stage="4"] { --stage-color: var(--stage-4); --stage-bg: #eef8f3; --stage-text: #124f39; }
.stage-dropdown[open] { z-index: 90; }
.stage-dropdown summary { position: relative; min-height: 80px; padding: 13px 44px 13px 16px; border: 1px solid color-mix(in srgb, var(--stage-color) 42%, var(--line)); border-left: 6px solid var(--stage-color); border-radius: 12px; outline: 0; background: var(--stage-bg); cursor: pointer; list-style: none; transition: box-shadow .15s ease, border-color .15s ease, transform .15s ease; }
.stage-dropdown summary::-webkit-details-marker { display: none; }
.stage-dropdown summary::after { content: ""; position: absolute; top: 23px; right: 20px; width: 8px; height: 8px; border-right: 2px solid var(--stage-text); border-bottom: 2px solid var(--stage-text); transform: rotate(45deg); transition: transform .15s ease; }
.stage-dropdown[open] summary::after { transform: translateY(4px) rotate(225deg); }
.stage-dropdown summary:hover { border-color: var(--stage-color); box-shadow: 0 9px 26px rgba(16,17,18,.08); }
.stage-dropdown summary:focus-visible { box-shadow: 0 0 0 4px rgba(255,90,0,.14); }
.stage-summary-copy { display: block; min-width: 0; }
.stage-summary-copy strong, .stage-summary-copy span { display: block; }
.stage-summary-copy strong { color: var(--ink); font-size: 15px; line-height: 1.2; }
.stage-summary-kicker { display: block; color: var(--muted); font-size: 9px; font-style: normal; font-weight: 900; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.stage-summary-copy span { margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.stage-dropdown-menu { position: absolute; z-index: 80; top: calc(100% + 7px); left: 0; right: 0; display: grid; gap: 6px; max-height: min(66vh, 620px); padding: 8px; overflow-y: auto; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: 0 24px 60px rgba(16,17,18,.2); }
.stage-choice { display: grid; width: 100%; padding: 12px 14px; border: 1px solid transparent; border-left: 5px solid; border-radius: 10px; cursor: pointer; text-align: left; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.stage-choice > span, .stage-choice > strong, .stage-choice > small { display: block; }
.stage-choice > span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.stage-choice > strong { margin-top: 3px; font-size: 13px; }
.stage-choice > small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.38; }
.stage-choice:hover:not(:disabled), .stage-choice:focus-visible { transform: translateX(2px); box-shadow: 0 7px 20px rgba(16,17,18,.08); }
.stage-choice[aria-selected="true"] { border-color: currentColor; }
.stage-choice:disabled { cursor: not-allowed; filter: grayscale(.5); opacity: .38; }
.stage-choice-default { border-left-color: var(--line-strong); background: var(--surface-2); color: var(--muted); }
.stage-choice-1 { border-left-color: var(--stage-1); background: #fff1f2; color: #78151b; }
.stage-choice-2 { border-left-color: var(--stage-2); background: #fffaf0; color: #6d5410; }
.stage-choice-3 { border-left-color: var(--stage-3); background: #f2faed; color: #345c28; }
.stage-choice-4 { border-left-color: var(--stage-4); background: #eef8f3; color: #124f39; }
.stage-dropdown-placeholder { display: block; padding-top: 14px; color: var(--muted); font-size: 12px; font-weight: 800; }
.stage-dropdown.is-compact summary { display: flex; align-items: center; gap: 7px; min-height: 58px; padding: 7px 28px 7px 8px; border-left-width: 4px; border-radius: 9px; }
.stage-dropdown.is-compact summary::after { top: 20px; right: 11px; width: 6px; height: 6px; }
.stage-compact-copy { display: block; min-width: 0; text-align: left; }
.stage-compact-copy strong, .stage-compact-copy small { display: block; }
.stage-compact-copy strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.stage-compact-copy small { display: -webkit-box; margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 8px; line-height: 1.28; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.stage-dropdown.is-compact .stage-dropdown-menu { right: auto; width: min(440px, 78vw); }
.stage-readonly { --stage-color: var(--line-strong); --stage-bg: var(--surface-2); display: flex; align-items: center; gap: 7px; min-width: 0; min-height: 58px; padding: 7px 9px; border: 1px solid color-mix(in srgb, var(--stage-color) 42%, var(--line)); border-left: 4px solid var(--stage-color); border-radius: 9px; background: var(--stage-bg); }
.stage-readonly[data-stage="1"] { --stage-color: var(--stage-1); --stage-bg: #fff1f2; }
.stage-readonly[data-stage="2"] { --stage-color: var(--stage-2); --stage-bg: #fffaf0; }
.stage-readonly[data-stage="3"] { --stage-color: var(--stage-3); --stage-bg: #f2faed; }
.stage-readonly[data-stage="4"] { --stage-color: var(--stage-4); --stage-bg: #eef8f3; }
#driver-team .stage-dropdown-menu { top: auto; bottom: calc(100% + 7px); }
.maturity-range-live { position: sticky; top: 90px; display: block; height: 470px; min-height: 470px; padding: 22px; border-radius: 18px; background: var(--ink); color: white; box-shadow: 0 18px 45px rgba(16,17,18,.14); }
.maturity-range-copy span, .maturity-range-copy small { display: block; }
.maturity-range-copy span { color: var(--orange); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.maturity-range-copy strong { display: block; margin: 8px 0 4px; font-size: clamp(28px, 3vw, 42px); line-height: 1; letter-spacing: -.045em; }
.maturity-range-copy small { color: rgba(255,255,255,.52); font-size: 11px; }
.maturity-range-live svg { display: block; width: 100%; margin-top: 18px; }
.range-grid { stroke: rgba(255,255,255,.12); stroke-width: 1; }
.range-tick, .range-label { fill: rgba(255,255,255,.55); font-size: 10px; font-weight: 700; }
.range-value { fill: rgba(255,255,255,.72); font-size: 10px; font-weight: 800; }
.range-value-narrowed { fill: var(--orange); }
.range-label-highlight { fill: var(--orange); }
.range-value-red { fill: #ff7f86; }
.range-full { fill: #7d7f80; }
.range-full-ghost { fill: #444647; }
.range-narrowed { fill: var(--orange); }
.maturity-red-flag-note { margin: 8px 0 0; color: #ffb3b7; font-size: 11px; line-height: 1.4; }
.range-empty { display: grid; align-content: center; min-height: 380px; text-align: center; }
.range-empty strong, .range-empty span { display: block; }
.range-empty strong { color: white; }
.range-empty span { margin-top: 5px; color: rgba(255,255,255,.5); font-size: 12px; }

.form-error { min-height: 40px; padding-top: 13px; color: var(--red); font-size: 13px; font-weight: 650; }
.form-navigation { display: flex; justify-content: space-between; gap: 12px; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.primary-button, .secondary-button { min-height: 46px; padding: 0 18px; border-radius: 10px; cursor: pointer; font-size: 13px; font-weight: 800; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.primary-button { margin-left: auto; border: 1px solid var(--orange); background: var(--orange); color: white; box-shadow: 0 8px 20px rgba(255,90,0,.22); }
.primary-button:hover { background: var(--orange-dark); transform: translateY(-1px); box-shadow: 0 11px 24px rgba(255,90,0,.26); }
.primary-button span { margin-left: 10px; }
.secondary-button { border: 1px solid var(--line-strong); background: white; color: var(--ink); }
.secondary-button:hover { border-color: var(--ink); background: var(--surface-2); }

.result-header { margin-bottom: 26px; }
.result-print-heading { display: none; }
.result-header h2 { margin-bottom: 0; }
.result-actions { display: flex; gap: 7px; }
.result-actions .secondary-button { min-height: 40px; padding: 0 12px; font-size: 11px; }
.company-summary { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 1px; overflow: hidden; margin-bottom: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--line); }
.company-summary > div { min-width: 0; padding: 15px; background: white; }
.company-summary strong { display: block; overflow: hidden; font-size: 13px; text-overflow: ellipsis; }
.legacy-result { display: none !important; }
.compact-report { display: grid; gap: 7px; margin-bottom: 18px; }
.report-section { display: grid; grid-template-columns: 155px 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; }
.report-section-label { display: grid; place-items: center; padding: 12px; border-right: 1px solid var(--line); background: var(--surface-2); font-size: 11px; font-weight: 850; line-height: 1.15; text-align: center; text-transform: uppercase; }
.report-section-label.orange-outline { color: var(--orange); }
.report-row { display: grid; grid-template-columns: 190px 1fr auto; gap: 12px; align-items: center; min-height: 34px; padding: 6px 10px; }
.report-row.is-alt { background: var(--surface-2); }
.report-row > span, .report-row > strong, .report-row > b { font-size: 10px; }
.report-row > strong { font-weight: 500; }
.report-row > b { text-align: right; white-space: nowrap; }
.report-row.is-submetric { padding-left: 28px; font-style: italic; }
.report-kpi-grid { display: grid; }
.report-kpi-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.report-kpi-pair:last-child { border-bottom: 0; }
.report-kpi-cell { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; min-height: 42px; padding: 7px 10px; }
.report-kpi-cell + .report-kpi-cell { border-left: 1px solid var(--line); background: #fffdfb; }
.report-kpi-cell > span { min-width: 0; color: var(--ink-2); font-size: 10px; font-weight: 700; }
.report-kpi-cell > div { display: grid; flex: 0 0 auto; justify-items: end; gap: 2px; }
.report-kpi-cell b { font-size: 10px; white-space: nowrap; }
.report-kpi-cell.is-submetric > span { font-style: italic; }
.report-kpi-cell.is-empty { background: #fafaf8; }
.report-kpi-assessment { padding: 2px 6px; border-radius: 999px; background: #ececea; color: #66686a; font-size: 7px; font-weight: 850; line-height: 1.2; white-space: nowrap; }
.report-kpi-assessment[data-band="weak"] { background: #fde8e8; color: #8e2228; }
.report-kpi-assessment[data-band="orientation"] { background: #fff3d7; color: #795a08; }
.report-kpi-assessment[data-band="strong"] { background: #e5f2e5; color: #22622f; }
.report-kpi-details { background: white; }
.report-kpi-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border-top: 1px solid var(--line); background: var(--surface-2); cursor: pointer; list-style: none; }
.report-kpi-details > summary::-webkit-details-marker { display: none; }
.report-kpi-details > summary span { display: grid; gap: 1px; }
.report-kpi-details > summary strong { font-size: 10px; }
.report-kpi-details > summary small { color: var(--muted); font-size: 8px; }
.report-kpi-details > summary::after { content: "+"; display: grid; flex: 0 0 auto; place-items: center; width: 20px; height: 20px; border: 1px solid #ffc7a7; border-radius: 50%; background: white; color: var(--orange-dark); font-size: 14px; line-height: 1; }
.report-kpi-details[open] > summary::after { content: "−"; }
.report-driver { border-left: 5px solid transparent; }
.report-driver-card { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 10px; align-items: center; padding: 6px 10px; border-left: 5px solid transparent; }
.report-driver-card.is-alt { background: var(--surface-2); }
.report-driver-title { font-size: 10px; font-weight: 750; }
.report-driver-card .stage-readonly { min-height: 62px; }
.report-driver-card .stage-compact-copy small { -webkit-line-clamp: 3; }
.report-drivers-with-chart { display: grid; grid-template-columns: minmax(0, 1fr) 290px; align-items: stretch; }
.report-multiple-chart { display: grid; align-items: center; padding: 10px 14px; border-left: 1px solid var(--line); background: white; }
.report-maturity-range { position: static; top: auto; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; align-self: stretch; height: auto; min-height: 0; padding: 12px; border-radius: 0; box-shadow: none; }
.report-maturity-range .maturity-range-copy strong { font-size: 24px; }
.report-maturity-range .maturity-range-copy span { font-size: 8px; }
.report-maturity-range svg { width: 100%; height: 100%; max-height: 185px; margin-top: 4px; }
.report-maturity-range .maturity-red-flag-note { font-size: 9px; }
.driver-accent-market { border-left-color: var(--driver-market) !important; }
.driver-accent-offer { border-left-color: var(--driver-offer) !important; }
.driver-accent-sales { border-left-color: var(--driver-sales) !important; }
.driver-accent-team { border-left-color: var(--driver-team) !important; }
.report-highlight { display: grid; grid-template-columns: 155px 1fr auto; gap: 12px; align-items: center; min-height: 40px; padding: 7px 16px; border: 1px solid #ffd1b7; border-radius: 12px; background: var(--orange-soft); }
.report-highlight > span { font-size: 10px; font-weight: 900; text-transform: uppercase; }
.report-highlight > small { color: var(--muted); font-size: 9px; font-style: italic; }
.report-highlight > strong { color: var(--orange-dark); font-size: 14px; text-align: right; }
.report-highlight.report-red-flag { border-color: #e79a9e; background: var(--red-soft); }
.report-highlight.report-red-flag > span, .report-highlight.report-red-flag > strong { color: var(--red); }
.report-return { border-color: var(--orange); background: var(--orange); color: white; }
.report-return > small { color: rgba(255,255,255,.7); }
.report-return > strong { color: white; }

.result-block { margin-top: 22px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: white; }
.block-heading { display: flex; align-items: end; justify-content: space-between; gap: 15px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.block-heading span { color: var(--orange); font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.block-heading h3 { margin: 4px 0 0; font-size: 20px; }
.block-heading > small { color: var(--muted); font-size: 10px; }
.bridge-block { background: var(--surface-2); }
.equity-bridge-chart { padding: 16px 20px 10px; overflow-x: auto; }
.equity-bridge-chart svg { display: block; width: 100%; min-width: 980px; height: auto; overflow: visible; }
.bridge-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px; margin-bottom: 8px; color: var(--muted); font-size: 10px; }
.bridge-legend span { display: inline-flex; align-items: center; gap: 6px; }
.bridge-legend i { width: 15px; height: 9px; border-radius: 2px; }
.legend-full { background: #999b9b; }
.legend-narrowed { background: var(--orange); }
.legend-red-flag { background: linear-gradient(180deg, var(--orange), var(--red)); }
.bridge-grid { stroke: #d4d5d3; stroke-width: 1; }
.bridge-zero { stroke: #2e3031; stroke-width: 2; }
.bridge-axis-label { fill: var(--ink); font-size: 12px; font-weight: 700; }
.bridge-axis-label.is-compact { font-size: 8px; }
.bridge-unit-label { fill: var(--muted); font-size: 11px; font-weight: 750; }
.bridge-unit-label.is-compact { font-size: 8px; }
.bridge-waterfall-connector { stroke: #a7a9a8; stroke-width: 1.5; stroke-dasharray: 8 7; }
.bridge-ghost-base { fill: #f7f7f7; stroke: #9c9e9d; stroke-width: 1.5; stroke-dasharray: 8 6; }
.bridge-range-outer { fill: #999b9b; stroke: white; stroke-width: 1; }
.bridge-range-narrowed { fill: var(--orange); stroke: white; stroke-width: 1; }
.bridge-range-red-flag { stroke: white; stroke-width: 1; }
.bridge-cash { fill: #b6d7a8; }
.bridge-debt { fill: #f0a0a4; }
.bridge-working-capital { fill: #b8c8d1; }
.bridge-fees, .bridge-tax { fill: #ef999f; }
.bridge-range-label { fill: var(--orange); font-size: 13px; font-weight: 850; }
.bridge-range-label.is-compact { font-size: 8px; }
.bridge-adjustment-value { fill: var(--ink); font-size: 12px; font-weight: 850; }
.bridge-adjustment-value.is-compact { font-size: 7px; }
.bridge-value-badge { stroke: none; }
.bridge-share-arrow { stroke: var(--orange); stroke-width: 2; }
.bridge-share-arrow-head { fill: var(--orange); }
.bridge-share-label { fill: var(--orange); font-size: 12px; font-weight: 850; }
.bridge-share-label.is-compact { font-size: 7px; }
.bridge-waterfall-label { fill: var(--ink); font-size: 12px; font-weight: 750; }
.bridge-waterfall-label.is-compact { font-size: 8px; }
.bridge-waterfall-svg.is-compact .bridge-waterfall-connector { stroke-width: 1.2; stroke-dasharray: 6 5; }
.bridge-waterfall-svg.is-compact .bridge-ghost-base { stroke-width: 1.2; stroke-dasharray: 5 4; }
.inline-multiple-chart { display: grid; place-items: center; min-width: 0; }
.inline-multiple-chart svg { display: block; width: 100%; height: auto; }
.inline-multiple-chart text { fill: var(--muted); font-size: 9px; font-weight: 750; }
.inline-axis { stroke: var(--ink); stroke-width: 1.5; }
.inline-grid { stroke: #dedfdb; stroke-width: 1; }
.inline-tick { font-size: 7px !important; }
.inline-range-label { fill: var(--orange-dark) !important; font-size: 7.5px !important; font-weight: 850 !important; }
.inline-full { fill: #444647; }
.inline-narrowed { fill: var(--orange); }
.report-assumption-input { display: inline-grid; grid-template-columns: 52px auto; align-items: center; height: 22px; gap: 4px; font-style: normal; }
.report-assumption-input input { width: 52px; height: 22px; min-height: 22px; padding: 0 5px; border: 1px solid var(--line-strong); border-radius: 5px; background: white; color: var(--ink); font: inherit; font-weight: 800; line-height: 1; text-align: right; }
.report-assumption-input input:focus { border-color: var(--orange); outline: 3px solid rgba(255,90,0,.14); }
.report-assumption-input small { color: var(--muted); font-size: 9px; }
.report-money-input { grid-template-columns: 92px auto; }
.report-money-input input { width: 92px; }
.label-with-note { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.info-note { position: relative; display: inline-grid; flex: 0 0 auto; place-items: center; width: 16px; height: 16px; min-height: 0; padding: 0; border: 1px solid currentColor; border-radius: 50%; outline: 0; background: transparent; color: var(--muted); font-family: inherit; font-size: 9px; font-style: normal; font-weight: 850; line-height: 1; text-transform: none; cursor: pointer; }
.info-note:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.report-return .info-note { color: rgba(255,255,255,.8); }
.info-note-tooltip { position: fixed; z-index: 1000; width: max-content; max-width: min(320px, calc(100vw - 24px)); padding: 10px 12px; border-radius: 9px; background: var(--ink); box-shadow: 0 12px 32px rgba(16,17,18,.24); color: white; font-size: 12px; font-weight: 550; line-height: 1.45; text-align: left; pointer-events: none; }
.info-note-tooltip[hidden] { display: none; }

.model-config-view { display: grid; gap: 22px; }
.config-section { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: white; }
.config-section-heading { padding: 20px 22px 17px; border-bottom: 1px solid var(--line); }
.config-section-heading > span { color: var(--orange-dark); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.config-section-heading h3 { margin: 5px 0 4px; font-size: 23px; letter-spacing: -.03em; }
.config-section-heading p { margin: 0; color: var(--muted); font-size: 11px; }
.config-section-heading code { padding: 2px 5px; border-radius: 4px; background: var(--surface-2); color: var(--ink); font-size: .95em; }
.config-overview { background: var(--ink); color: white; }
.config-meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(255,255,255,.12); }
.config-meta-grid article { padding: 20px 22px; background: #171819; }
.config-meta-grid strong, .config-meta-grid span { display: block; }
.config-meta-grid span { color: rgba(255,255,255,.56); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.config-meta-grid strong { margin-top: 4px; color: var(--orange); font-size: 22px; letter-spacing: -.02em; }
.config-disclosure-list { display: grid; }
.config-disclosure { border-bottom: 1px solid var(--line); background: white; }
.config-disclosure:last-child { border-bottom: 0; }
.config-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 20px; cursor: pointer; list-style: none; }
.config-disclosure > summary::-webkit-details-marker { display: none; }
.config-disclosure > summary span { display: grid; gap: 2px; min-width: 0; }
.config-disclosure > summary strong { font-size: 13px; }
.config-disclosure > summary small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.config-disclosure > summary b { flex: 0 0 auto; color: var(--orange-dark); font-size: 11px; }
.config-disclosure > summary::after { content: "+"; display: grid; flex: 0 0 auto; place-items: center; width: 25px; height: 25px; border: 1px solid #ffc7a7; border-radius: 50%; color: var(--orange-dark); font-size: 18px; font-weight: 500; line-height: 1; }
.config-driver-disclosure > summary::after { margin-left: 0; }
.config-disclosure[open] > summary { background: var(--surface-2); }
.config-disclosure[open] > summary::after { content: "−"; }
.config-table-wrap { max-width: 100%; overflow-x: auto; }
.config-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 10px; }
.config-table th, .config-table td { padding: 11px 12px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); text-align: left; vertical-align: top; }
.config-table th:last-child, .config-table td:last-child { border-right: 0; }
.config-table thead th { background: var(--surface-2); color: var(--muted); font-size: 8px; letter-spacing: .055em; text-transform: uppercase; }
.config-table tbody th { width: 25%; font-size: 10px; }
.config-table tbody th small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; font-weight: 500; line-height: 1.35; }
.config-business-table td:last-child { color: var(--orange-dark); white-space: nowrap; }
.config-threshold-table { min-width: 980px; table-layout: fixed; }
.config-threshold-table th, .config-threshold-table td { width: 20%; }
.config-threshold-table td span, .config-threshold-table td small { display: block; }
.config-threshold-table td span { font-size: 9px; font-weight: 720; white-space: nowrap; }
.config-threshold-table td small { margin-top: 5px; color: var(--muted); font-size: 8px; }
.config-rule-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border-top: 1px solid var(--line); background: var(--line); }
.config-rule-grid article { padding: 15px 18px; background: var(--surface-2); }
.config-rule-grid strong { font-size: 11px; }
.config-rule-grid p { margin: 5px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.config-stage-1 { --stage-color: var(--stage-1); --stage-bg: #fff4f4; }
.config-stage-2 { --stage-color: #8a6810; --stage-bg: #fffbef; }
.config-stage-3 { --stage-color: #477c37; --stage-bg: #f4faef; }
.config-stage-4 { --stage-color: var(--stage-4); --stage-bg: #eef8f3; }
.config-driver-table { min-width: 1180px; table-layout: fixed; }
.config-driver-table th, .config-driver-table td { width: 20%; }
.config-driver-table thead th[class*="config-stage-"] { color: var(--stage-color); background: var(--stage-bg); }
.config-driver-table thead th span, .config-driver-table thead th strong { display: block; }
.config-driver-table thead th span { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.config-driver-table thead th strong { margin-top: 3px; color: var(--stage-color); font-size: 10px; letter-spacing: 0; text-transform: none; }
.config-driver-name { border-left: 5px solid transparent; background: white; }
.config-driver-heading { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 9px; }
.config-driver-index { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: color-mix(in srgb, currentColor 12%, white); color: inherit; font-size: 9px; font-weight: 900; }
.config-driver-name.driver-accent-market { color: var(--driver-market); }
.config-driver-name.driver-accent-offer { color: var(--driver-offer); }
.config-driver-name.driver-accent-sales { color: var(--driver-sales); }
.config-driver-name.driver-accent-team { color: var(--driver-team); }
.config-driver-name strong, .config-driver-name b { display: block; }
.config-driver-name strong { color: var(--ink); }
.config-driver-name small { color: var(--muted); }
.config-driver-name b { margin-top: 8px; color: var(--orange-dark); font-size: 8px; letter-spacing: .04em; text-transform: uppercase; }
.config-driver-stage { background: var(--stage-bg); }
.config-driver-stage p { margin: 0; color: var(--ink-2); font-size: 9px; line-height: 1.45; }
.plan-block { background: var(--surface-2); }
.plan-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); }
.plan-timeline > div { min-height: 112px; padding: 17px; background: white; }
.plan-timeline .plan-now { background: var(--ink); color: white; }
.plan-timeline span, .plan-timeline small, .plan-timeline strong { display: block; }
.plan-timeline span { color: var(--orange); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.plan-timeline strong { margin: 12px 0 5px; font-size: 13px; }
.plan-timeline small { color: var(--muted); font-size: 10px; }
.plan-timeline .plan-now small { color: rgba(255,255,255,.55); }
.conversation-focus { margin: 0; padding: 15px 20px; color: var(--ink-2); font-size: 12px; }
.plan-cta { display: flex; justify-content: flex-end; padding: 0 20px 20px; }

.vcp-header { margin-bottom: 24px; }
.vcp-header > div { max-width: 820px; }
.vcp-print-meta { display: none; }
.vcp-summary-block { overflow: visible; border: 1px solid var(--line); border-radius: 18px; background: white; }
.value-journey { display: block; background: white; }
.journey-note { display: grid; grid-template-columns: 150px 1fr; gap: 16px; align-items: center; padding: 14px 18px; border-bottom: 1px solid #ffd1b7; background: var(--orange-soft); }
.journey-note span { color: var(--orange-dark); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.journey-note p { margin: 0; color: var(--ink-2); font-size: 12px; }
.comparison-scroll { overflow-x: visible; }
.plan-comparison { width: 100%; min-width: 0; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 11px; }
.plan-comparison th, .plan-comparison td { padding: 8px 7px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: right; vertical-align: middle; }
.plan-comparison th:last-child, .plan-comparison td:last-child { border-right: 0; }
.plan-comparison th:first-child { position: sticky; left: 0; z-index: 2; width: 170px; min-width: 170px; background: white; text-align: left; }
.plan-comparison thead th { position: sticky; top: 64px; z-index: 3; padding-block: 14px; background: var(--ink); color: white; box-shadow: 0 2px 0 rgba(16,17,18,.16); }
.plan-comparison thead th:first-child { z-index: 4; background: var(--ink); }
.plan-comparison thead th:last-child { background: var(--orange); }
.plan-comparison thead th span, .plan-comparison thead th small { display: block; }
.plan-comparison thead th span { font-size: 12px; font-weight: 900; text-transform: uppercase; }
.plan-comparison thead th small { color: rgba(255,255,255,.55); font-size: 9px; }
.journey-date-control { display: block; margin-top: 5px; }
.journey-date-control input { width: min(138px, 100%); min-height: 24px; padding: 2px 5px; border: 1px solid rgba(255,255,255,.28); border-radius: 5px; background: rgba(255,255,255,.08); color: white; color-scheme: dark; font-size: 9px; font-weight: 700; text-align: center; box-shadow: none; }
.journey-date-derived { margin-top: 6px; color: rgba(255,255,255,.72) !important; font-weight: 700; }
.journey-date-print { display: none !important; }
.plan-comparison tbody tr:nth-child(even):not(.comparison-group):not(.comparison-orange) td,
.plan-comparison tbody tr:nth-child(even):not(.comparison-group):not(.comparison-orange) th:first-child { background: var(--surface-2); }
.plan-comparison .comparison-group th, .plan-comparison .comparison-group td { background: #ecece8 !important; color: var(--ink); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.plan-comparison .comparison-group td { color: var(--muted); text-align: left; }
.plan-comparison .comparison-orange th, .plan-comparison .comparison-orange td { background: var(--orange-soft); color: var(--orange-dark); font-weight: 850; }
.plan-comparison .financial-submetric th, .plan-comparison .financial-submetric td { font-style: italic; }
.plan-comparison .financial-submetric th, .plan-comparison .financial-submetric td { padding-top: 4px; padding-bottom: 4px; }
.plan-comparison .financial-submetric th { padding-left: 22px; }
.plan-comparison .comparison-cashflow-disclosure th,
.plan-comparison .comparison-cashflow-disclosure td { background: #fff7f2 !important; color: var(--ink-2); }
.plan-comparison .comparison-cashflow-disclosure th button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 0; padding: 0; border: 0; background: transparent; color: var(--orange-dark); font: inherit; font-weight: 850; text-align: left; cursor: pointer; }
.plan-comparison .comparison-cashflow-disclosure th button i { display: grid; flex: 0 0 auto; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: rgba(255,90,0,.12); font-style: normal; }
.plan-comparison .comparison-cashflow-disclosure td { text-align: left; font-size: 10px; }
.plan-comparison .cashflow-detail th,
.plan-comparison .cashflow-detail td { background: #fffaf7; }
.plan-comparison .comparison-model th, .plan-comparison .comparison-model-weight th { font-weight: 800; }
.plan-comparison .comparison-model td, .plan-comparison .comparison-model-weight td { text-align: left; }
.journey-model-display { display: grid; gap: 3px; min-width: 0; }
.journey-model-display strong { display: block; overflow: hidden; font-size: 9px; line-height: 1.25; text-overflow: ellipsis; }
.journey-model-display small { color: var(--muted); font-size: 8px; }
.journey-model-display.is-transition strong { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 4px; align-items: center; }
.journey-model-display.is-transition strong span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.journey-model-display.is-transition strong i { color: var(--orange); font-size: 12px; font-style: normal; }
.journey-model-dropdown > summary { min-height: 48px; padding: 7px 27px 7px 9px; border-left-width: 4px; border-radius: 9px; }
.journey-model-dropdown > summary::after { top: 16px; right: 11px; width: 6px; height: 6px; }
.journey-model-dropdown > summary > strong { margin: 0; overflow: hidden; font-size: 9px; line-height: 1.25; text-overflow: ellipsis; }
.journey-model-dropdown > summary > small { margin-top: 3px; overflow: hidden; font-size: 8px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.journey-model-dropdown .model-dropdown-menu { right: 0; left: auto; width: min(540px, calc(100vw - 36px)); max-height: min(58vh, 560px); text-align: left; }
.journey-model-dropdown .model-choice strong { font-size: 11px; }
.journey-model-dropdown .model-choice small, .journey-model-dropdown .model-choice em { font-size: 9px; }
.journey-weight-display, .journey-weight-empty { display: grid; gap: 2px; }
.journey-weight-display strong, .journey-weight-empty strong { font-size: 9px; }
.journey-weight-display small, .journey-weight-empty small { color: var(--muted); font-size: 8px; line-height: 1.25; }
.journey-weight-control { display: grid; gap: 7px; }
.journey-weight-control > div { display: flex; justify-content: space-between; gap: 6px; color: var(--muted); font-size: 8px; }
.journey-weight-control b { color: var(--ink); font-weight: 850; }
.plan-comparison .comparison-driver th { border-left: 5px solid transparent; }
.plan-comparison .comparison-driver td { min-width: 0; }
.plan-comparison td:nth-child(4) .stage-dropdown-menu,
.plan-comparison td:nth-child(5) .stage-dropdown-menu { left: auto; right: 0; }
.plan-comparison .comparison-multiple th, .plan-comparison .comparison-multiple td { background: #fffaf7; }
.plan-comparison .comparison-multiple td { padding: 5px; }
.plan-comparison .comparison-net-position th, .plan-comparison .comparison-net-position td { background: #f2f5f4; font-weight: 800; }
.comparison-multiple .inline-multiple-chart { grid-template-columns: 1fr; justify-items: center; }
.comparison-multiple .inline-multiple-chart svg { max-width: 118px; }
.comparison-multiple .inline-multiple-chart strong { font-size: 9px; }
.stage-name { margin-left: 7px; color: var(--muted); font-size: 10px; }
.derived-label { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; font-weight: 650; text-transform: uppercase; }
.journey-edit-cell { background: #fffaf7 !important; }
.journey-input { display: flex; align-items: center; height: 24px; overflow: hidden; border: 1px solid #ffc7a8; border-radius: 7px; background: white; }
.journey-input input { min-width: 0; height: 22px; min-height: 22px; padding: 0 7px; border: 0; border-radius: 0; line-height: 1; text-align: right; box-shadow: none !important; }
.journey-input small { padding-right: 8px; color: var(--muted); font-size: 9px; }
.journey-status-edit-cell .journey-input { border-color: #c8cac7; background: #fafaf8; }
.journey-bridges { padding: 0; background: var(--surface-2); }
.journey-bridge-grid { display: grid; grid-template-columns: 170px repeat(4, minmax(0, 1fr)); gap: 0; align-items: stretch; }
.journey-bridge-label { display: flex; align-items: flex-start; padding: 14px 10px 0 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; font-size: 11px; font-weight: 850; }
.journey-bridge-card { position: relative; z-index: 1; min-width: 0; padding: 10px; border: 1px solid var(--line); border-right: 0; border-radius: 0; outline: 0; background: white; cursor: zoom-in; transform-origin: center; transition: transform .2s ease, box-shadow .2s ease, z-index 0s .2s; }
.journey-bridge-label + .journey-bridge-card { transform-origin: left center; }
.journey-bridge-card:last-child { transform-origin: right center; }
.journey-bridge-card:last-child { border-right: 1px solid var(--line); }
.journey-bridge-card:hover, .journey-bridge-card:focus { z-index: 20; transform: scale(3); box-shadow: 0 24px 80px rgba(16,17,18,.28); transition-delay: 0s; }
.journey-bridge-card header span { display: block; color: var(--orange); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.bridge-funding-warning { display: block; margin-top: 3px; color: var(--red); font-size: 8px; }
.comparison-funding-gap strong { color: var(--red); }
.journey-bridge-card svg { display: block; width: 100%; height: auto; margin-top: 8px; overflow: visible; }
.mini-bridge-empty { display: grid; place-items: center; min-height: 140px; border: 1px dashed var(--line-strong); border-radius: 9px; color: var(--muted); font-size: 11px; }
.vcp-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }

.calculation-details { margin-top: 18px; border-top: 1px solid var(--line); }
.calculation-details summary { padding: 16px 0 0; cursor: pointer; color: var(--muted); font-size: 11px; font-weight: 750; }
.calculation-details > div { padding-top: 12px; color: var(--muted); font-size: 11px; }
.calculation-details p { margin-bottom: 8px; }
.calculation-details .calculation-disclaimer { margin-top: 12px; padding: 10px 12px; border-left: 3px solid var(--orange); background: #fff4ed; color: var(--ink); line-height: 1.5; }
.disclaimer { margin: 18px 0 0; color: var(--muted); font-size: 10px; }
footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 0 0 42px; color: var(--muted); font-size: 11px; }
.footer-button { padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--muted); cursor: pointer; font-size: 11px; }

.public-landing { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .65fr); gap: clamp(36px, 7vw, 110px); align-items: center; min-height: calc(100vh - 64px); padding-block: 72px; }
.landing-copy > p { max-width: 700px; color: var(--muted); font-size: 18px; }
.landing-button { margin: 20px 0 0; min-height: 54px; padding-inline: 24px; }
.landing-error { min-height: 24px; margin: 14px 0 0; color: var(--red) !important; font-size: 13px !important; font-weight: 700; }
.landing-card { padding: 30px; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: var(--shadow); }
.landing-card > span { color: var(--orange); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.landing-card ol { display: grid; gap: 18px; margin: 24px 0 0; padding: 0; list-style: none; }
.landing-card li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: start; }
.landing-card li > b { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--orange-soft); color: var(--orange-dark); font-size: 11px; }
.landing-card strong, .landing-card small { display: block; }
.landing-card strong { margin-top: 1px; font-size: 14px; }
.landing-card small { margin-top: 3px; color: var(--muted); font-size: 12px; }
.completion-screen { display: grid; place-items: center; min-height: calc(100vh - 64px); padding-block: 64px; }
.completion-card { width: min(680px, 100%); padding: clamp(32px, 6vw, 64px); border: 1px solid var(--line); border-radius: 24px; background: white; box-shadow: var(--shadow); text-align: center; }
.completion-mark { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 22px; border-radius: 50%; background: var(--orange); color: white; font-size: 28px; font-weight: 900; }
.completion-card p { max-width: 560px; margin: 0 auto 24px; color: var(--muted); }
.completion-card .copy-link-feedback { margin: 18px auto 0; color: var(--stage-4); font-weight: 600; }
.copy-link-feedback:empty { display: none; }
.completion-card .copy-link-error { color: var(--red); }
body[data-app-mode="landing"] footer, body[data-app-mode="completed"] footer,
body[data-app-mode="landing"] .save-status, body[data-app-mode="completed"] .save-status { display: none; }
body[data-app-mode="preparation"] .corridor-card,
body[data-app-mode="preparation"] .maturity-range-live,
body[data-app-mode="preparation"] .finance-health,
body[data-app-mode="preparation"] .metric-assessment,
body[data-app-mode="preparation"] .view-toggle,
body[data-app-mode="preparation"] [data-step-nav="3"],
body[data-app-mode="preparation"] [data-step-nav="4"],
body[data-app-mode="preparation"] #model-config-nav { display: none !important; }
body[data-app-mode="preparation"] .business-workspace,
body[data-app-mode="preparation"] .maturity-workspace { grid-template-columns: minmax(0, 820px); }
body[data-app-mode="preparation"] .business-inputs { grid-column: 1; }
body[data-app-mode="preparation"] .step-list { grid-template-columns: 1fr; }
body[data-app-mode="preparation"] .hero-status span { background: #999b9b; box-shadow: 0 0 0 5px rgba(153,155,155,.12); }

@media (max-width: 1100px) {
  .business-workspace, .maturity-workspace { grid-template-columns: 1fr; }
  .business-company-field, .business-inputs, .corridor-card { grid-column: 1; grid-row: auto; }
  .corridor-card, .maturity-range-live { position: relative; top: auto; height: auto; }
  .maturity-range-live { display: grid; grid-template-columns: minmax(210px,.6fr) minmax(320px,1fr); min-height: 0; align-items: center; }
  .maturity-range-live svg { margin-top: 0; }
}

@media (max-width: 980px) {
  .hero { align-items: start; flex-direction: column; }
  .hero-status { min-width: 0; }
  .navigator-shell { grid-template-columns: 1fr; }
  .step-sidebar { min-height: auto; padding: 20px; border-radius: 23px 23px 0 0; }
  .step-content { border-radius: 0 0 23px 23px; }
  .step-list { grid-template-columns: repeat(5, 1fr); }
  .step-list li { grid-template-columns: 1fr; justify-items: center; gap: 4px; padding: 10px 6px; text-align: center; }
  .step-list small { display: none; }
  .sidebar-bottom { margin-top: 12px; }
  .model-config-nav { max-width: 220px; margin-left: auto; }
  .privacy-note { display: none; }
  .progress-track { margin-bottom: 14px; }
}

@media (max-width: 720px) {
  .step-heading:has(.view-toggle), .result-header, .vcp-header { grid-template-columns: 1fr; }
  .step-heading:has(.view-toggle) > .view-toggle { grid-column: 1; grid-row: 2; justify-self: start; margin-bottom: 10px; }
  .step-heading:has(.view-toggle) > h2 { grid-row: 3; }
  .result-header > div:first-of-type, .vcp-header > div { grid-column: 1; grid-row: 1; }
  .result-header > .view-toggle, .vcp-header > .view-toggle { grid-column: 1; grid-row: 2; justify-self: start; margin-top: 10px; }
  .result-header > .result-actions { grid-column: 1; grid-row: 3; justify-content: flex-start; margin-top: 12px; }
  .finance-context { align-items: flex-start; gap: 8px 16px; }
  .finance-context .field { flex-wrap: wrap; }
  .section-shell { width: min(100% - 24px, 1320px); }
  .save-status { display: none; }
  .topbar-company-field span { display: none; }
  .topbar-company-field input { width: min(46vw, 220px); }
  .public-landing { grid-template-columns: 1fr; padding-block: 44px; }
  .hero { padding-top: 34px; }
  h1 { font-size: 39px; }
  .navigator-shell { width: 100%; border-radius: 0; border-inline: 0; }
  .step-sidebar, .step-content { border-radius: 0; }
  .step-content { padding: 28px 18px; }
  .step-list li div { display: none; }
  .two-cols, .live-kpis, .finance-context { grid-template-columns: 1fr; }
  .finance-pair { grid-template-columns: 1fr; }
  .finance-pair > :nth-child(2), .finance-relative-heading { border-top: 1px solid var(--line); border-left: 0; }
  .finance-empty-cell { display: none; }
  .finance-health-summary { grid-template-columns: 1fr auto; }
  .finance-health-kicker, .finance-health-coverage { grid-column: 1; }
  .finance-health-status { grid-column: 2; }
  .finance-health-status { grid-row: 1; }
  .driver-control { grid-template-columns: 1fr; }
  .driver-description { margin-left: 0; }
  .maturity-range-live { display: block; }
  .result-header { align-items: start; }
  .company-summary { grid-template-columns: 1fr; }
  .plan-timeline { grid-template-columns: 1fr 1fr; }
  .report-section { grid-template-columns: 110px 1fr; }
  .report-drivers-with-chart { grid-template-columns: 1fr; }
  .report-multiple-chart { border-top: 1px solid var(--line); border-left: 0; }
  .report-row { grid-template-columns: 120px 1fr auto; }
  .config-meta-grid, .config-rule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-highlight { grid-template-columns: 1fr auto; }
  .report-highlight > small { display: none; }
  .journey-note { grid-template-columns: 1fr; gap: 3px; }
  .journey-bridge-grid { grid-template-columns: 1fr; gap: 8px; padding-inline: 18px; }
  .journey-bridge-label { display: none; }
  .journey-bridge-card { border: 1px solid var(--line); border-radius: 10px; }
  .stage-dropdown.is-compact .stage-dropdown-menu { width: min(420px, calc(100vw - 44px)); }
  .form-navigation { position: sticky; bottom: 0; z-index: 10; margin-inline: -18px; padding: 14px 18px; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
  footer { align-items: start; flex-direction: column; }
}

@media (max-width: 440px) {
  .brand > span:last-child { display: none; }
  .topbar { padding-inline: 16px; }
  .private-pill { padding: 7px 9px; }
  .plan-timeline { grid-template-columns: 1fr; }
  .report-section { grid-template-columns: 92px 1fr; }
  .report-row { grid-template-columns: 1fr auto; }
  .report-row > strong { display: none; }
  .report-kpi-pair, .config-meta-grid, .config-rule-grid { grid-template-columns: 1fr; }
  .report-kpi-cell + .report-kpi-cell { border-top: 1px solid var(--line); border-left: 0; }
  .form-navigation .secondary-button, .form-navigation .primary-button { padding-inline: 12px; font-size: 12px; }
}

@page { size: A4 landscape; margin: 7mm; }
@page results { size: A4 portrait; margin: 6mm; }
@page vcp { size: A4 landscape; margin: 5mm; }

@media print {
  .view-toggle { display: none !important; }
  html, body { width: 100%; min-width: 0; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) { page: results; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .navigator-shell,
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .step-content,
  body:is([data-print-view="results"], [data-print-view="full-plan"]) #assessment-form { page: results; }
  body[data-print-view="vcp"] { page: vcp; }
  body { background: white; }
  .topbar, .hero, .step-sidebar, .form-navigation, footer, .result-actions, .form-error, .vcp-actions, .dropdown-backdrop { display: none !important; }
  .section-shell, .navigator-shell { width: 100%; margin: 0; border: 0; box-shadow: none; }
  .navigator-shell { display: block; }
  .step-content { padding: 0; }
  .form-step, .result-step, .vcp-step { display: none !important; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .result-step { display: block !important; page: results; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .vcp-step { display: block !important; page: vcp; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .vcp-step { width: 100%; zoom: 1; }
  body[data-print-view="full-plan"] .vcp-step { break-before: page; page-break-before: always; }
  .result-block, .compact-report, .journey-bridge-card { break-inside: avoid; }
  .comparison-scroll { overflow: visible; }
  .plan-comparison { min-width: 0; }
  .plan-comparison th:first-child, .plan-comparison thead th { position: static; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .plan-block,
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .calculation-details,
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .disclaimer { display: none !important; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .result-header,
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .company-summary { display: none !important; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .result-print-heading { display: flex; align-items: end; justify-content: space-between; gap: 8mm; margin: 0 0 1.8mm; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .result-print-heading span { color: var(--orange); font-size: 6pt; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .result-print-heading h2 { margin: .5mm 0 0; font-size: 13pt; line-height: 1; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .result-print-heading p { margin: 0; font-size: 8pt; font-weight: 750; text-align: right; white-space: nowrap; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .compact-report { gap: .7mm; margin: 0; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-section { grid-template-columns: 29mm 1fr; border-radius: 1.2mm; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-section-label { padding: .8mm; font-size: 5pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-row { grid-template-columns: 34mm 1fr auto; gap: 2mm; min-height: 0; padding: .55mm 1.2mm; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-row > span,
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-row > strong,
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-row > b { font-size: 5.2pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-row.is-submetric { padding-left: 4mm; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-row.is-financial-health-detail { display: none !important; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-kpi-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-kpi-cell { min-height: 0; padding: .65mm 1.2mm; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-kpi-cell > span,
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-kpi-cell b { font-size: 5.2pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-kpi-assessment { display: none; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-kpi-details { display: none !important; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-drivers-with-chart { grid-template-columns: minmax(0, 1fr) 52mm; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-driver-card { grid-template-columns: 27mm minmax(0, 1fr); gap: 1.3mm; padding: .55mm 1mm; border-left-width: 2px; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-driver-title { font-size: 5pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-driver-card .stage-readonly { align-items: flex-start; min-height: 9mm; height: auto; padding: .65mm 1mm; border-left-width: 2px; border-radius: 1mm; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-driver-card .stage-compact-copy strong { font-size: 5.2pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-driver-card .stage-compact-copy small { display: block; margin: .3mm 0 0; overflow: visible; font-size: 4.5pt; line-height: 1.14; white-space: normal; -webkit-line-clamp: unset; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range { padding: 1.2mm; border-left: 1px solid var(--line); background: #fff; color: var(--ink); }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range .maturity-range-copy span { font-size: 4.2pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range .maturity-range-copy strong { margin: .8mm 0 0; color: var(--ink); font-size: 7pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range .maturity-range-copy small { color: var(--muted); }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range svg { display: block !important; width: 100% !important; max-height: 42mm; margin-top: 0; visibility: visible !important; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range .range-grid { stroke: #dedfdb; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range .range-tick,
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range .range-label { fill: #6e7175; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range .range-value { fill: #2f3133; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range .range-value-narrowed,
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range .range-label-highlight { fill: var(--orange); }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range .range-value-red { fill: var(--red); }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-maturity-range .maturity-red-flag-note { margin-top: .5mm; color: var(--red); font-size: 4.2pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-highlight { grid-template-columns: 34mm 1fr auto; gap: 2mm; min-height: 0; padding: .8mm 2mm; border-radius: 1.2mm; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-highlight > span { font-size: 5.2pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-highlight > small { font-size: 4.7pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-highlight > strong { font-size: 7pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-assumption-input { grid-template-columns: 12mm auto; height: 4.5mm; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-assumption-input input { width: 12mm; height: 4.5mm; min-height: 4.5mm; padding: 0 1mm; font-size: 5.2pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-money-input { grid-template-columns: 20mm auto; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .report-money-input input { width: 20mm; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .info-note { display: none; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .bridge-block { margin-top: 1.5mm; border-radius: 1.5mm; break-inside: avoid; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .bridge-block .block-heading { align-items: center; padding: 1mm 2mm; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .bridge-block .block-heading span { font-size: 4.5pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .bridge-block .block-heading h3 { margin: 0; font-size: 7.5pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .bridge-block .block-heading > small { font-size: 4.5pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .equity-bridge-chart { padding: 1mm; overflow: visible; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .equity-bridge-chart svg { min-width: 0; max-height: 72mm; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .bridge-legend { gap: 3mm; margin-bottom: .5mm; font-size: 4.7pt; }
  body:is([data-print-view="results"], [data-print-view="full-plan"]) .bridge-legend i { width: 3mm; height: 1.7mm; }

  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .vcp-header { display: block !important; margin: 0 0 1mm; padding: 0; break-after: avoid-page; page-break-after: avoid; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .vcp-header > div { display: flex; align-items: baseline; justify-content: space-between; gap: 8mm; max-width: none; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .vcp-header h2 { margin: 0; font-size: 14pt; line-height: 1; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .vcp-header .vcp-intro, body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .vcp-header .step-kicker,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .vcp-summary-block > .block-heading, body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-note,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .disclaimer { display: none !important; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .vcp-print-meta { display: block; margin: 0 0 0 auto; color: var(--ink); font-size: 8pt; font-weight: 750; text-align: right; white-space: nowrap; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .vcp-summary-block { overflow: visible; border: 0; break-before: avoid-page; break-inside: avoid; page-break-before: avoid; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .plan-comparison { width: 100%; table-layout: fixed; font-size: 6pt; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .plan-comparison tr { break-inside: avoid; page-break-inside: avoid; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .plan-comparison th, body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .plan-comparison td { padding: 1.5px 2.5px; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .plan-comparison th:first-child { width: 115px; min-width: 115px; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .plan-comparison thead th { padding-block: 5px; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .plan-comparison thead th span { font-size: 7pt; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-date-control input { display: none !important; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-date-print { display: block !important; margin-top: 2px; color: rgba(255,255,255,.72); font-size: 5.4pt; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-date-derived { margin-top: 2px; font-size: 5.4pt; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .plan-comparison .comparison-group th,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .plan-comparison .comparison-group td { font-size: 6pt; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .plan-comparison .financial-submetric th { padding-left: 7px; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-model-display strong,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-model-dropdown > summary > strong,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-weight-display strong,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-weight-empty strong { font-size: 5.6pt; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-model-display small,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-model-dropdown > summary > small,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-weight-display small,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-weight-empty small,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-weight-control > div { font-size: 5pt; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-model-dropdown > summary { min-height: 24px; padding: 2px 4px; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-model-display strong,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-model-display.is-transition strong span,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-model-dropdown > summary > strong,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-model-dropdown > summary > small { overflow: visible; text-overflow: clip; white-space: normal; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-model-dropdown > summary::after,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-weight-control input[type="range"] { display: none !important; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .stage-dropdown summary,
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .stage-readonly { align-items: flex-start; min-height: 0; height: auto; padding: 3px 5px; border-left-width: 3px; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .stage-dropdown summary::after, body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .stage-dropdown-menu { display: none !important; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .stage-dropdown.is-compact summary { min-height: 0; padding: 3px 5px; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .stage-compact-copy strong { overflow: visible; font-size: 5.8pt; text-overflow: clip; white-space: normal; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .stage-compact-copy small { display: block; margin-top: 1px; overflow: visible; font-size: 4.7pt; line-height: 1.12; white-space: normal; -webkit-line-clamp: unset; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .derived-label { font-size: 5pt; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-input { height: 20px; border-color: var(--line); background: transparent; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-input input { height: 18px; min-height: 18px; padding-inline: 4px; background: transparent; font-size: 6.2pt; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-input small { padding-right: 4px; font-size: 5.5pt; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .cashflow-detail { display: none !important; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .status-only-financial { display: none !important; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .comparison-multiple .inline-multiple-chart svg { max-width: 54px; }
  body:is([data-print-view="vcp"], [data-print-view="full-plan"]) .journey-bridges { display: none !important; }
  * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
