/* Source: head:first-static-style */

/*
 * 洪量新材投后管理报告 UI v3
 * 单一事实来源：替换正式 HTML 中现有的全部 <style> 块后使用。
 * 兼容现有 DOM、脚本生成节点、财务模型与资本运作测算区。
 */

:root {
  color-scheme: light;

  /* Color */
  --ui-canvas: #f1eee8;
  --ui-document: #ffffff;
  --ui-subtle: #f7f4ee;
  --ui-raised: #ffffff;
  --ui-ink: #1d1a17;
  --ui-text: #4e4942;
  --ui-muted: #6b645b;
  --ui-soft: #857c71;
  --ui-line: #d9d1c5;
  --ui-line-strong: #bdb3a6;
  --ui-accent: #b83d34;
  --ui-accent-soft: #f8e9e6;
  --ui-warning: #765000;
  --ui-warning-soft: #f7edcf;
  --ui-success: #2f6f4e;
  --ui-success-soft: #e8f1eb;
  --ui-info: #45647f;
  --ui-info-soft: #e9f0f5;
  --ui-nav: #292622;
  --ui-nav-text: #ffffff;

  /* Chart */
  --chart-1: #b83d34;
  --chart-2: #45647f;
  --chart-3: #2f6f4e;
  --chart-4: #8a6738;
  --chart-5: #76678a;
  --chart-6: #7d7469;

  /* Type */
  --font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  --font-numeric: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
  --text-body: 15px;
  --text-small: 13px;
  --text-note: 12px;
  --leading-body: 1.68;
  --weight-regular: 400;
  --weight-medium: 600;
  --weight-bold: 700;

  /* Space */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;

  /* Geometry */
  --document-max: 1180px;
  --reading-max: 820px;
  --sidebar-width: 292px;
  --control-height: 44px;
  --nav-height: 48px;
  --toc-height: 52px;
  --radius-control: 4px;
  --radius-panel: 6px;
  --shadow-raised: 0 12px 30px rgba(29, 26, 23, .10);
  --focus-ring: 0 0 0 3px rgba(184, 61, 52, .22);

  /* Legacy aliases used by existing inline markup and scripts. */
  --red: var(--ui-accent);
  --black: var(--ui-nav);
  --ink: var(--ui-ink);
  --muted: var(--ui-muted);
  --soft: var(--ui-soft);
  --line: var(--ui-line);
  --paper: var(--ui-document);
  --wash: var(--ui-subtle);
  --cap-bg: var(--ui-canvas);
  --cap-card: var(--ui-document);
  --cap-panel: var(--ui-subtle);
  --cap-panel-2: var(--ui-subtle);
  --cap-ink: var(--ui-ink);
  --cap-muted: var(--ui-muted);
  --cap-soft: var(--ui-soft);
  --cap-line: var(--ui-line);
  --cap-brown: var(--ui-nav);
  --cap-red: var(--ui-accent);
  --cap-gold: var(--chart-4);
  --cap-green: var(--ui-success);
  --cap-blue: var(--ui-info);
}

/* 1. Reset and type */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--nav-height) + var(--toc-height) + var(--space-4));
  background: var(--ui-canvas);
}

body {
  margin: 0;
  min-width: 320px;
  background: var(--ui-canvas);
  color: var(--ui-text);
  font-family: var(--font-sans);
  font-size: var(--text-body);
  font-weight: var(--weight-regular);
  line-height: var(--leading-body);
  letter-spacing: 0;
  overflow-wrap: break-word;
}

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 200;
  padding: 10px 14px;
  background: var(--ui-document);
  color: var(--ui-ink);
  border: 2px solid var(--ui-accent);
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: translateY(0);
}

.noscript-notice {
  margin: 16px auto;
  padding: 12px 16px;
  max-width: var(--document-max);
  background: var(--ui-warning-soft);
  color: var(--ui-warning);
  border-left: 4px solid var(--ui-warning);
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
  letter-spacing: 0;
}

button,
select,
input[type="checkbox"],
input[type="radio"],
summary,
a {
  -webkit-tap-highlight-color: transparent;
}

button,
select,
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
  min-height: var(--control-height);
}

button {
  cursor: pointer;
}

a {
  color: var(--ui-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:hover {
  color: var(--ui-ink);
}

:focus-visible {
  outline: 2px solid var(--ui-accent);
  outline-offset: 2px;
  box-shadow: var(--focus-ring);
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
figure,
blockquote {
  margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b {
  color: var(--ui-ink);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--weight-bold);
  letter-spacing: 0;
}

h1 {
  margin-bottom: var(--space-5);
  font-size: clamp(38px, 4.6vw, 58px);
  line-height: 1.04;
}

h2 {
  margin-bottom: var(--space-3);
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.16;
}

h3 {
  margin-bottom: var(--space-3);
  font-size: 21px;
  line-height: 1.3;
}

h4 {
  margin-bottom: var(--space-2);
  font-size: 17px;
  line-height: 1.35;
}

h5,
h6 {
  margin-bottom: var(--space-2);
  font-size: 15px;
  line-height: 1.4;
}

p,
li {
  max-width: 92ch;
}

p {
  margin-bottom: var(--space-4);
}

small,
.source-note,
.chart-footnote,
.snapshot-footnote,
.model-footnote,
.compact-note {
  color: var(--ui-muted);
  font-size: var(--text-note);
  line-height: 1.55;
}

img,
svg,
canvas {
  display: block;
  max-width: 100%;
}

[hidden] {
  display: none;
}

/* 2. Continuous document canvas */
.topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  height: var(--nav-height);
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--ui-line);
  backdrop-filter: blur(12px);
}

.shell {
  width: min(100%, var(--document-max));
  margin-inline: auto;
  padding-inline: var(--space-7);
}

.nav {
  display: flex;
  align-items: center;
  min-height: var(--nav-height);
}

.brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-3);
  color: var(--ui-ink);
  font-size: 13px;
  font-weight: var(--weight-bold);
  min-height: var(--control-height);
  text-decoration: none;
  white-space: nowrap;
}

.brand::before {
  width: 30px;
  height: 4px;
  background: var(--ui-accent);
  content: "";
}

main,
body > section.shell,
body > .footer {
  width: min(100%, var(--document-max));
  margin-inline: auto;
  background: var(--ui-document);
}

main {
  box-shadow: 0 1px 0 var(--ui-line);
}

main > section.shell,
body > section.shell {
  width: 100%;
  padding-block: var(--space-7) 40px;
  border-top: 1px solid var(--ui-line);
}

main > section.shell:first-of-type {
  border-top: 0;
}

section[id] {
  scroll-margin-top: 0;
}

.footer {
  padding: var(--space-6) var(--space-7) var(--space-8);
  border-top: 1px solid var(--ui-line);
  color: var(--ui-muted);
  font-size: var(--text-note);
}

.footer .shell {
  width: auto;
  padding: 0;
}

/* 3. Hero and global chapter navigation */
.hero {
  background: var(--ui-document);
}

.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr);
  gap: var(--space-7);
  padding: var(--space-8) var(--space-7) var(--space-7);
}

.hero-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
}

.hero-copy h1 > span {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--ui-accent);
  font-size: 13px;
  line-height: 1.3;
}

.hero-title-main,
.hero-title-line {
  display: block;
}

.hero-title-line + .hero-title-line {
  margin-top: var(--space-2);
}

.lead {
  max-width: 800px;
  color: var(--ui-text);
  font-size: 17px;
  line-height: 1.7;
}

.hero-brief {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-5);
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 1px solid var(--ui-line);
  color: var(--ui-muted);
  font-size: var(--text-small);
}

.hero-brief strong {
  margin-right: var(--space-1);
}

.hero-image {
  min-width: 0;
}

.exec-card {
  height: 100%;
  padding: var(--space-5);
  background: var(--ui-nav);
  color: rgba(255, 255, 255, .78);
  border-radius: var(--radius-panel);
}

.exec-kicker,
.eyebrow,
.kicker {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--ui-accent);
  font-size: 12px;
  font-weight: var(--weight-bold);
  line-height: 1.35;
}

.exec-verdict {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--ui-nav-text);
  font-size: 30px;
  line-height: 1.12;
}

.exec-sub {
  color: rgba(255, 255, 255, .74);
  font-size: var(--text-small);
}

.exec-kpis {
  margin: var(--space-5) 0 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, .18);
  list-style: none;
}

.exec-kpis li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-4);
  align-items: baseline;
  max-width: none;
  padding: var(--space-3) 0;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.exec-kpis span {
  color: rgba(255, 255, 255, .62);
  font-size: var(--text-note);
}

.exec-kpis b {
  color: var(--ui-nav-text);
  font-size: 14px;
  text-align: right;
}

.exec-kpis .accent {
  color: #ffb8b0;
}

.toc-wrap {
  position: sticky;
  top: var(--nav-height);
  z-index: 90;
  width: 100%;
  min-height: var(--toc-height);
  background: var(--ui-nav);
  box-shadow: var(--shadow-raised);
}

.toc-wrap.is-fixed {
  position: fixed;
  right: 0;
  left: 0;
}

.toc {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: min(100%, var(--document-max));
  margin-inline: auto;
}

.toc a {
  display: flex;
  min-width: 0;
  min-height: var(--toc-height);
  align-items: center;
  justify-content: center;
  padding: var(--space-2) var(--space-3);
  color: rgba(255, 255, 255, .70);
  border-right: 1px solid rgba(255, 255, 255, .10);
  font-size: 12px;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.toc a:last-child {
  border-right: 0;
}

.toc a strong {
  color: inherit;
}

.toc a:hover,
.toc a.active,
.toc a[aria-current="true"],
.toc a[aria-current="location"] {
  background: var(--ui-accent);
  color: var(--ui-nav-text);
}

.toc-edge,
.toc-spacer {
  display: none;
}

/* 4. Section hierarchy */
.subsection-head,
.section-head {
  max-width: var(--reading-max);
  margin: var(--space-8) 0 var(--space-5);
}

.subsection-head:first-child,
.section-head:first-child {
  margin-top: 0;
}

.subsection-head p,
.section-head p {
  margin-bottom: 0;
  color: var(--ui-muted);
  font-size: 16px;
}

.section-summary {
  max-width: var(--reading-max);
  margin-bottom: var(--space-6);
  color: var(--ui-text);
  font-size: 17px;
  line-height: 1.72;
}

.section-summary ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.section-summary li {
  position: relative;
  max-width: none;
  padding-left: 22px;
}

.section-summary li + li {
  margin-top: var(--space-4);
}

.section-summary li::before {
  position: absolute;
  top: .72em;
  left: 0;
  width: 7px;
  height: 7px;
  background: var(--ui-accent);
  border-radius: 50%;
  content: "";
}

.section-summary strong {
  font-weight: var(--weight-bold);
}

.tag,
.rf-chip,
.gov-status,
.case-year,
.type,
.reason,
.audit-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid var(--ui-line);
  border-radius: 999px;
  background: var(--ui-subtle);
  color: var(--ui-muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
  line-height: 1.2;
  white-space: nowrap;
}

.tag,
.rf-chip.p0,
.rf-chip.red,
.gov-card.critical .gov-status {
  border-color: rgba(184, 61, 52, .30);
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
}

.rf-chip.p1,
.yellow,
.warning,
.gold {
  border-color: rgba(118, 80, 0, .30);
  background: var(--ui-warning-soft);
  color: var(--ui-warning);
}

.rf-chip.p2,
.ok {
  border-color: rgba(47, 111, 78, .28);
  background: var(--ui-success-soft);
  color: var(--ui-success);
}

/* 5. Decision layout: reading column + sticky decision sidebar */
#summary:not(.report-section--decision) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--sidebar-width);
  column-gap: var(--space-7);
  align-items: start;
}

#summary:not(.report-section--decision) .decision-ribbon {
  position: sticky;
  top: calc(var(--nav-height) + var(--toc-height) + var(--space-4));
  grid-column: 2;
  grid-row: 1 / span 2;
  overflow: hidden;
  background: var(--ui-subtle);
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-panel);
}

#summary:not(.report-section--decision) .section-summary,
#summary:not(.report-section--decision) .mini-grid {
  grid-column: 1;
}

.decision-cell {
  padding: var(--space-4);
  border-bottom: 1px solid var(--ui-line);
}

.decision-cell:last-child {
  border-bottom: 0;
}

.decision-cell.primary {
  background: var(--ui-nav);
  color: rgba(255, 255, 255, .74);
}

.decision-cell span,
.mini span,
.signal span,
.proof-cell span,
.model-dash span,
.model-command-card span,
.entry-summary-card span,
.gov-card span,
.metric span,
.summary-metric span,
.step-result span,
.decision-stat span {
  display: block;
  color: var(--ui-muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
  line-height: 1.35;
}

.decision-cell strong {
  display: block;
  margin-top: var(--space-1);
  font-size: 18px;
  line-height: 1.3;
}

.decision-cell p {
  margin: var(--space-2) 0 0;
  color: var(--ui-muted);
  font-size: var(--text-note);
  line-height: 1.5;
}

.decision-cell.primary span,
.decision-cell.primary p {
  color: rgba(255, 255, 255, .68);
}

.decision-cell.primary strong {
  color: var(--ui-nav-text);
}

/* 6. Surface rules and report components */
.visual-panel,
.focus-exhibit,
.transmission-flow,
.financial-snapshot,
.investment-plan,
.execution-grid,
.risk-register-wrap,
.gov-switcher {
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid var(--ui-line);
}

.visual-panel > h3,
.focus-exhibit > h3,
.transmission-flow > h4 {
  max-width: 900px;
}

.visual-panel > p,
.focus-exhibit > p,
.transmission-flow > p {
  max-width: var(--reading-max);
}

.compact-panel {
  margin-top: var(--space-6);
}

.mini-grid,
.signal-strip,
.proof-grid,
.plan-grid,
.data-grid,
.guidance-grid,
.amount-grid,
.gov-summary,
.model-command,
.entry-summary-grid,
.old-pool-kpis,
.summary-grid,
.metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: var(--space-5);
  overflow: hidden;
  background: var(--ui-subtle);
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-panel);
}

.mini,
.signal,
.proof-cell,
.plan-item,
.data-card,
.gov-card,
.model-command-card,
.entry-summary-card,
.old-pool-mini,
.summary-metric,
.metric {
  min-width: 0;
  padding: var(--space-4);
  background: transparent;
  border: 0;
  border-right: 1px solid var(--ui-line);
  border-bottom: 1px solid var(--ui-line);
  border-radius: 0;
  box-shadow: none;
}

.mini:nth-child(3n),
.signal:nth-child(3n),
.proof-cell:nth-child(3n),
.plan-item:nth-child(3n),
.data-card:nth-child(3n),
.gov-card:nth-child(3n),
.model-command-card:nth-child(3n),
.entry-summary-card:nth-child(3n),
.old-pool-mini:nth-child(3n),
.summary-metric:nth-child(3n),
.metric:nth-child(3n) {
  border-right: 0;
}

.mini strong,
.signal strong,
.proof-cell strong,
.plan-item strong,
.gov-card strong,
.model-command-card strong,
.entry-summary-card strong,
.old-pool-mini strong,
.summary-metric strong,
.metric strong {
  display: block;
  margin-top: var(--space-1);
  font-size: 18px;
  line-height: 1.25;
}

.mini small,
.signal small,
.proof-cell small,
.plan-item small,
.gov-card small,
.model-command-card small,
.entry-summary-card small,
.old-pool-mini small,
.summary-metric small,
.metric small {
  display: block;
  margin-top: var(--space-2);
  color: var(--ui-muted);
  font-size: var(--text-note);
  line-height: 1.45;
}

.note-red,
.model-quality,
.finance-callout,
.deal-note,
.gov-status,
.scenario-note,
.support-note,
.empty-state,
.gov-empty {
  margin-top: var(--space-5);
  padding: var(--space-4) var(--space-5);
  background: var(--ui-subtle);
  border-left: 4px solid var(--ui-accent);
  color: var(--ui-text);
  font-size: var(--text-small);
  line-height: 1.62;
}

.model-quality {
  background: var(--ui-warning-soft);
  border-left-color: var(--ui-warning);
}

.flow-visual,
.transmission-steps,
.chain,
.timeline,
.gov-phase,
.execution-checklist,
.steps {
  margin-top: var(--space-5);
}

.flow-visual,
.transmission-steps,
.chain,
.gov-phase {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-panel);
  overflow: hidden;
}

.transmission-steps {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.flow-node,
.transmission-step,
.chain-step,
.gov-phase > div {
  min-width: 0;
  padding: var(--space-4);
  background: var(--ui-subtle);
  border-right: 1px solid var(--ui-line);
}

.flow-node:last-child,
.transmission-step:last-child,
.chain-step:last-child,
.gov-phase > div:last-child {
  border-right: 0;
}

.flow-node span,
.transmission-step span,
.chain-step span,
.gov-phase span,
.step-number {
  display: inline-grid;
  width: 26px;
  height: 26px;
  place-items: center;
  background: var(--ui-nav);
  color: var(--ui-nav-text);
  border-radius: 50%;
  font-size: 11px;
  font-weight: var(--weight-bold);
}

.flow-node h4,
.transmission-step h5,
.chain-step h4,
.gov-phase strong {
  display: block;
  margin: var(--space-3) 0 var(--space-2);
}

.flow-node p,
.transmission-step p,
.chain-step p,
.gov-phase small {
  margin: 0;
  color: var(--ui-muted);
  font-size: var(--text-note);
  line-height: 1.52;
}

.timeline-row {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  border-top: 1px solid var(--ui-line);
}

.timeline-row:last-child {
  border-bottom: 1px solid var(--ui-line);
}

.timeline-row strong,
.timeline-row span {
  padding: var(--space-3) var(--space-4);
}

.timeline-row strong {
  background: var(--ui-subtle);
}

.timeline-row span {
  border-left: 1px solid var(--ui-line);
}

.bar-row {
  display: grid;
  grid-template-columns: 70px minmax(120px, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  margin-top: var(--space-2);
  font-size: var(--text-note);
}

.bar-track {
  height: 10px;
  overflow: hidden;
  background: var(--ui-line);
  border-radius: 999px;
}

.bar-fill {
  height: 100%;
  background: var(--chart-2);
}

.bar-2026e {
  background: var(--ui-line-strong);
}

.bar-q1 {
  height: 100%;
  background: var(--ui-accent);
}

.bar-sub {
  color: var(--ui-muted);
  font-size: 10px;
  font-weight: var(--weight-regular);
}

/* 7. Details and tables */
details {
  margin-top: var(--space-5);
  border-top: 1px solid var(--ui-line);
  border-bottom: 1px solid var(--ui-line);
}

details + details {
  margin-top: -1px;
}

summary {
  display: flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) 0;
  color: var(--ui-ink);
  font-weight: var(--weight-bold);
  list-style: none;
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}

summary::after {
  display: grid;
  width: 22px;
  height: 30px;
  flex: 0 0 22px;
  place-items: center;
  color: var(--ui-muted);
  content: "＋";
  font-weight: var(--weight-regular);
}

details[open] > summary::after {
  content: "－";
}

.detail-body,
.advanced-body {
  padding: var(--space-4) 0 var(--space-5);
}

.table-wrap,
.model-table-wrap,
.memo-scroll {
  max-width: 100%;
  margin-top: var(--space-4);
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-panel);
  background: var(--ui-document);
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}

table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  color: var(--ui-text);
  font-family: var(--font-numeric);
  font-variant-numeric: tabular-nums;
}

.ib-table,
.entry-calc-table,
.sens-table {
  min-width: 920px;
}

.report-meta {
  padding-block: var(--space-7) var(--space-6);
  border-top: 1px solid var(--ui-line);
}

.report-meta > details {
  max-width: 1040px;
}

.version-details > summary {
  padding: 0 0 var(--space-4);
}

.version-details > summary > span {
  font-size: 18px;
}

.version-details > summary > small {
  margin-left: auto;
  color: var(--ui-muted);
  font-size: var(--text-note);
  font-weight: var(--weight-medium);
}

.version-details > .detail-body {
  padding: 0;
  border-top: 1px solid var(--ui-line);
}

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

.version-item {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: var(--space-5);
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--ui-line);
}

.version-item time {
  color: var(--ui-muted);
  font-family: var(--font-numeric);
  font-size: var(--text-small);
  font-variant-numeric: tabular-nums;
}

.version-item strong {
  display: block;
  color: var(--ui-ink);
  font-size: var(--text-small);
}

.version-item p {
  max-width: 900px;
  margin: var(--space-1) 0 0;
  color: var(--ui-muted);
  font-size: var(--text-small);
  line-height: 1.55;
}

.version-item.current {
  box-shadow: inset 3px 0 0 var(--ui-accent);
  padding-left: var(--space-4);
}

.version-item.compact {
  padding-block: var(--space-3);
}

.report-footer {
  padding-block: var(--space-6) var(--space-7);
  background: var(--ui-subtle);
  border-top: 1px solid var(--ui-line);
}

.source-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--ui-line-strong);
}

.source-heading span,
.report-footer small {
  color: var(--ui-muted);
  font-size: var(--text-note);
}

.source-groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: var(--space-4);
}

.source-groups > div {
  padding-inline: var(--space-4);
  border-right: 1px solid var(--ui-line);
}

.source-groups > div:first-child {
  padding-left: 0;
}

.source-groups > div:last-child {
  padding-right: 0;
  border-right: 0;
}

.source-groups strong {
  color: var(--ui-ink);
  font-size: var(--text-note);
}

.source-groups p,
.source-boundary {
  margin: var(--space-1) 0 0;
  color: var(--ui-muted);
  font-size: var(--text-note);
  line-height: 1.55;
}

.source-boundary {
  max-width: none;
  margin-top: var(--space-4);
  padding-top: var(--space-3);
  border-top: 1px solid var(--ui-line);
}

.report-footer small {
  display: block;
  margin-top: var(--space-3);
}

.topbar,
.toc-wrap {
  transition: opacity 160ms ease, transform 160ms ease;
}

body.past-report .topbar,
body.past-report .toc-wrap {
  opacity: 0;
  transform: translateY(-100%);
  pointer-events: none;
}

caption {
  padding: var(--space-3) var(--space-4);
  color: var(--ui-ink);
  font-family: var(--font-sans);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  text-align: left;
}

th,
td {
  padding: 10px 12px;
  border-right: 1px solid var(--ui-line);
  border-bottom: 1px solid var(--ui-line);
  font-size: var(--text-small);
  line-height: 1.45;
  text-align: left;
  vertical-align: top;
}

th:last-child,
td:last-child {
  border-right: 0;
}

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

th {
  background: var(--ui-subtle);
  color: var(--ui-ink);
  font-family: var(--font-sans);
  font-weight: var(--weight-bold);
}

tbody tr:hover td {
  background: rgba(247, 244, 238, .72);
}

.highlight-row td,
td.highlight,
.sens-table .base {
  background: var(--ui-warning-soft);
}

.negative,
.bad {
  color: var(--ui-accent);
  font-weight: var(--weight-bold);
}

.good {
  color: var(--ui-success);
  font-weight: var(--weight-bold);
}

/* 8. Financial snapshot and execution */
.financial-snapshot {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .7fr);
  gap: var(--space-5);
}

.financial-snapshot > .table-wrap {
  margin-top: 0;
}

.financial-snapshot table {
  min-width: 680px;
}

.financial-snapshot > .chart-footnote {
  grid-column: 1 / -1;
  margin-top: 0;
}

.finance-side {
  min-width: 0;
}

.finance-callout {
  margin-top: 0;
}

.finance-callout span,
.finance-callout strong,
.finance-callout small {
  display: block;
}

.finance-callout strong {
  margin-top: var(--space-1);
  font-size: 17px;
}

.finance-callout small {
  margin-top: var(--space-2);
}

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

.execution-checklist {
  width: 100%;
}

.execution-checklist .check,
.checkbox-grid .check {
  display: flex;
  min-height: var(--control-height);
  align-items: flex-start;
  gap: var(--space-2);
}

/* 9. Government comparison */
.gov-tabs,
.model-tabs,
.mode-tabs,
.preset-row,
.reason-list,
.case-tags,
.case-links,
.mini-cases,
.match-actions {
  display: flex;
  gap: var(--space-1);
  align-items: center;
}

.gov-tabs,
.model-tabs,
.mode-tabs {
  overflow-x: auto;
  padding-bottom: var(--space-2);
  scrollbar-width: thin;
}

.gov-tabs button,
.model-tabs button,
.mode-tab,
.preset-chip,
.case-toggle,
.match-actions button,
.mini-cases button,
.case-inline button,
.path-option {
  min-height: var(--control-height);
  padding: 9px 13px;
  background: var(--ui-document);
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-control);
  color: var(--ui-text);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.25;
  white-space: nowrap;
}

.gov-tabs button.active,
.model-tabs button.active,
.mode-tab.active,
.preset-chip.active,
.path-option.active,
.match-actions button:not(.secondary) {
  background: var(--ui-nav);
  border-color: var(--ui-nav);
  color: var(--ui-nav-text);
}

.gov-panel,
.model-panel,
.workspace-section {
  display: none;
}

.gov-panel.active,
.model-panel.active,
.workspace-section.active {
  display: block;
}

.gov-panel {
  padding-top: var(--space-5);
}

.gov-panel-head {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .7fr);
  gap: var(--space-5);
  align-items: start;
}

.gov-panel-head > * {
  min-width: 0;
}

.gov-panel-title p {
  margin-bottom: 0;
}

.gov-status {
  margin-top: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

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

.gov-card:nth-child(3n) {
  border-right: 1px solid var(--ui-line);
}

.gov-card:nth-child(4n) {
  border-right: 0;
}

.gov-section-title {
  margin-top: var(--space-6);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--ui-line);
  color: var(--ui-ink);
  font-size: 15px;
  font-weight: var(--weight-bold);
}

.gov-inline-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3) var(--space-5);
  margin-top: var(--space-4);
}

/* 10. Financial workbench */
.model-workbook,
#capital-ops .capital-library > .wrap {
  overflow: hidden;
  background: var(--ui-document);
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-raised);
}

.model-cover {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  background: var(--ui-nav);
  color: rgba(255, 255, 255, .72);
}

.model-cover-main {
  padding: var(--space-5);
}

.model-cover-main span {
  color: #ffb8b0;
  font-size: 11px;
  font-weight: var(--weight-bold);
}

.model-cover-main h3 {
  margin: var(--space-1) 0 var(--space-2);
  color: var(--ui-nav-text);
  font-size: 24px;
}

.model-cover-main p {
  margin: 0;
  color: rgba(255, 255, 255, .70);
  font-size: var(--text-small);
}

.model-cover-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-left: 1px solid rgba(255, 255, 255, .15);
}

.model-meta-cell {
  padding: var(--space-4);
  border-right: 1px solid rgba(255, 255, 255, .12);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.model-meta-cell span,
.model-meta-cell strong {
  display: block;
}

.model-meta-cell span {
  color: rgba(255, 255, 255, .60);
  font-size: 11px;
}

.model-meta-cell strong {
  margin-top: var(--space-1);
  color: var(--ui-nav-text);
  font-size: 13px;
}

.model-command {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--ui-line);
  border-radius: 0;
}

.model-command-card:nth-child(3n) {
  border-right: 1px solid var(--ui-line);
}

.model-command-card:nth-child(4n) {
  border-right: 0;
}

.model-toolbar {
  display: block;
  padding: var(--space-3) var(--space-4);
  background: var(--ui-subtle);
  border-bottom: 1px solid var(--ui-line);
}

.model-toolbar .model-tabs {
  width: 100%;
  padding-bottom: var(--space-2);
}

.model-audit {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
  overflow: visible;
  padding-top: var(--space-2);
  border-top: 1px solid var(--ui-line);
}

.audit-pill.ok::before {
  color: var(--ui-success);
  content: "✓";
}

.model-dashboard {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  background: var(--ui-subtle);
  border-bottom: 1px solid var(--ui-line);
}

.model-dash {
  min-width: 0;
  padding: var(--space-4);
  border-right: 1px solid var(--ui-line);
}

.model-dash:last-child {
  border-right: 0;
}

.model-dash strong,
.model-dash small {
  display: block;
}

.model-dash strong {
  margin-top: var(--space-1);
  font-size: 19px;
  line-height: 1.2;
}

.model-dash small {
  margin-top: var(--space-1);
}

.model-sheet {
  padding: var(--space-4);
}

.model-block {
  margin-bottom: var(--space-5);
  border-top: 1px solid var(--ui-line);
}

.model-block-title {
  display: flex;
  min-height: var(--control-height);
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) 0;
}

.model-block-title h4 {
  margin: 0;
}

.model-block-title span {
  max-width: 68ch;
  color: var(--ui-muted);
  font-size: var(--text-note);
  text-align: right;
}

.model-note,
.model-footnote {
  padding: var(--space-3) var(--space-4);
  background: var(--ui-subtle);
  border-top: 1px solid var(--ui-line);
}

.model-read-guide,
.assumption-grid,
.check-grid,
.valuation-layout,
.mobile-model-cards,
.mobile-entry-cards,
.old-pool-allocation-grid {
  display: grid;
  gap: var(--space-3);
}

.model-read-guide {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: var(--space-4);
  background: var(--ui-subtle);
  border-bottom: 1px solid var(--ui-line);
}

.model-guide-card,
.assumption-cell,
.check-card,
.mobile-model-card,
.mobile-entry-card,
.vehicle-mobile-card,
.entry-compact-item {
  padding: var(--space-3);
  background: var(--ui-document);
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-control);
}

.model-guide-card span,
.model-guide-card strong,
.model-guide-card p {
  display: block;
}

.model-guide-card span {
  color: var(--ui-muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
}

.model-guide-card strong {
  margin-top: var(--space-1);
}

.model-guide-card p {
  margin: var(--space-1) 0 0;
  color: var(--ui-muted);
  font-size: var(--text-note);
}

.assumption-section {
  border-top: 1px solid var(--ui-line);
}

.assumption-section:first-child {
  border-top: 0;
}

.assumption-section-title {
  padding: var(--space-3) var(--space-4);
  background: var(--ui-subtle);
}

.assumption-section-title h5,
.assumption-section-title p {
  margin: 0;
}

.assumption-section-title p {
  margin-top: var(--space-1);
  color: var(--ui-muted);
  font-size: var(--text-note);
}

.assumption-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: var(--space-4);
}

.assumption-cell[data-confidence="low"] {
  border-left: 3px solid var(--ui-accent);
}

.assumption-cell[data-confidence="medium"] {
  border-left: 3px solid var(--ui-warning);
}

.assumption-cell[data-confidence="high"] {
  border-left: 3px solid var(--ui-success);
}

.assumption-cell label,
.input-grid label,
.step-inputs label {
  display: block;
  color: var(--ui-muted);
  font-size: var(--text-note);
  font-weight: var(--weight-bold);
}

.input-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-2);
  align-items: center;
  margin-top: var(--space-1);
}

input[type="number"],
input[type="text"],
input[type="search"],
select,
textarea {
  width: 100%;
  padding: 9px 11px;
  background: var(--ui-document);
  border: 1px solid var(--ui-line-strong);
  border-radius: var(--radius-control);
}

input[type="number"] {
  font-family: var(--font-numeric);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

input[type="checkbox"],
input[type="radio"] {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  accent-color: var(--ui-accent);
}

input:disabled,
select:disabled,
button:disabled {
  cursor: not-allowed;
  opacity: .5;
}

input[readonly] {
  color: var(--ui-muted);
  background: var(--ui-subtle);
  cursor: not-allowed;
}

.assumption-memo {
  margin-top: var(--space-2);
  padding-top: var(--space-2);
  border-top: 1px solid var(--ui-line);
  color: var(--ui-muted);
  font-size: var(--text-note);
}

.check-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: var(--space-4);
}

.check-card {
  border-left: 3px solid var(--ui-accent);
}

.check-card.ok {
  border-left-color: var(--ui-success);
}

.check-card strong,
.check-card span {
  display: block;
}

.check-card span {
  margin-top: var(--space-1);
  color: var(--ui-muted);
  font-size: var(--text-note);
}

.ib-table,
.entry-calc-table,
.sens-table {
  min-width: 920px;
  font-family: var(--font-numeric);
  font-variant-numeric: tabular-nums;
}

.ib-table th,
.ib-table td,
.entry-calc-table th,
.entry-calc-table td,
.sens-table th,
.sens-table td {
  padding: 8px 9px;
  text-align: right;
  white-space: nowrap;
}

.ib-table th:first-child,
.ib-table td:first-child,
.entry-calc-table th:first-child,
.entry-calc-table td:first-child,
.sens-table th:first-child,
.sens-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: var(--ui-document);
  text-align: left;
}

.ib-table th:first-child,
.entry-calc-table th:first-child,
.sens-table th:first-child {
  background: var(--ui-subtle);
}

.ib-table .hist {
  background: var(--ui-subtle);
}

.ib-table .subtotal td,
.entry-calc-table .total-row td {
  border-top: 2px solid var(--ui-ink);
  font-weight: var(--weight-bold);
}

.ib-table td.cell-note {
  position: relative;
}

.ib-table td.cell-note::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-top: 8px solid var(--ui-info);
  border-left: 8px solid transparent;
  content: "";
}

.entry-summary-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--ui-line);
  border-radius: 0;
}

.entry-summary-card:nth-child(3n) {
  border-right: 1px solid var(--ui-line);
}

.entry-summary-card:nth-child(5n) {
  border-right: 0;
}

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

.mobile-model-cards,
.mobile-entry-cards {
  display: none;
}

.old-pool-allocation-grid {
  margin-top: var(--space-4);
}

.old-pool-row {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 1.5fr);
  border-top: 1px solid var(--ui-line);
}

.old-pool-head,
.old-pool-formula-line {
  padding: var(--space-4);
}

.old-pool-head {
  background: var(--ui-subtle);
  border-right: 1px solid var(--ui-line);
}

.entry-compact-strip {
  display: flex;
  gap: var(--space-2);
  overflow-x: auto;
  padding: var(--space-3) 0;
}

/* 11. Capital workbench, inheriting the same system */
#capital-ops {
  background: var(--ui-document);
}

#capital-ops .capital-library {
  color: var(--ui-text);
  font: inherit;
}

#capital-ops .capital-library > .wrap {
  width: 100%;
}

#capital-ops .capital-library header {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr);
  gap: var(--space-5);
  padding: var(--space-5);
  background: var(--ui-nav);
  color: rgba(255, 255, 255, .72);
}

#capital-ops .capital-library header h2,
#capital-ops .capital-library header strong {
  color: var(--ui-nav-text);
}

#capital-ops .capital-library header .lead {
  color: rgba(255, 255, 255, .72);
  font-size: var(--text-small);
}

#capital-ops .header-panel {
  padding: var(--space-4);
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--radius-panel);
}

#capital-ops .header-panel p {
  margin-bottom: 0;
  color: inherit;
  font-size: var(--text-small);
}

#capital-ops .metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--ui-line);
  border-radius: 0;
}

#capital-ops .metric:nth-child(3n) {
  border-right: 1px solid var(--ui-line);
}

#capital-ops .metric:nth-child(4n) {
  border-right: 0;
}

#capital-ops .mode-tabs {
  padding: var(--space-2) var(--space-4);
  background: var(--ui-subtle);
  border-bottom: 1px solid var(--ui-line);
}

#capital-ops .workspace-section {
  padding: var(--space-5);
}

#capital-ops .workspace-section > .section-head {
  margin: 0 0 var(--space-5);
}

.scenario-shell {
  padding: var(--space-4);
  background: var(--ui-subtle);
  border-radius: var(--radius-panel);
}

.scenario-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, .7fr);
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

.scenario-summary > div:first-child {
  padding: var(--space-5);
  background: var(--ui-nav);
  color: rgba(255, 255, 255, .72);
  border-radius: var(--radius-panel);
}

.scenario-summary > div:first-child h3,
.scenario-summary > div:first-child strong {
  color: var(--ui-nav-text);
}

.scenario-summary > div:first-child p {
  color: rgba(255, 255, 255, .72);
}

.step-list {
  display: grid;
  gap: var(--space-3);
}

.step-card {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  overflow: hidden;
  background: var(--ui-document);
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-panel);
}

.step-head {
  padding: var(--space-4);
  background: var(--ui-subtle);
  border-right: 1px solid var(--ui-line);
}

.step-head h3 {
  margin: var(--space-3) 0 var(--space-1);
  font-size: 16px;
}

.step-head p {
  margin: 0;
  color: var(--ui-muted);
  font-size: var(--text-note);
}

.step-body {
  min-width: 0;
  padding: var(--space-4);
}

.step-inputs,
.step-results,
.path-options,
.scenario-compare-grid,
.compare-metrics,
.decision-grid,
.action-strip,
.case-inline,
.case-fields,
.insight,
.controls,
.input-grid,
.checkbox-grid {
  display: grid;
  gap: var(--space-3);
}

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

.step-results {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: var(--space-3);
}

.step-result,
.decision-stat,
.action-item {
  min-width: 0;
  padding: var(--space-3);
  background: var(--ui-subtle);
  border-left: 3px solid var(--ui-accent);
}

.step-result strong,
.decision-stat strong {
  display: block;
  margin-top: var(--space-1);
}

.path-options,
.scenario-compare-grid,
.decision-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.path-option {
  min-height: 66px;
  text-align: left;
  white-space: normal;
}

.path-option strong {
  display: block;
  margin-bottom: var(--space-1);
}

.compare-card,
.decision-card,
.recommend-card,
.case-card,
.insight-card {
  min-width: 0;
  padding: var(--space-4);
  background: var(--ui-document);
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-panel);
}

.compare-card.active,
.recommend-card.primary {
  border-top: 3px solid var(--ui-accent);
}

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

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

.profile-panel {
  position: sticky;
  top: calc(var(--nav-height) + var(--toc-height) + var(--space-4));
  background: var(--ui-subtle);
  border: 1px solid var(--ui-line);
}

.profile-panel h2,
.profile-panel p {
  color: var(--ui-ink);
}

.preset-row,
.reason-list,
.case-tags,
.case-links,
.mini-cases,
.match-actions {
  flex-wrap: wrap;
}

.input-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: var(--space-3);
}

.checkbox-grid {
  margin-top: var(--space-3);
}

.advanced-box {
  border-color: var(--ui-line);
}

.recommendations,
.case-list {
  display: grid;
  gap: var(--space-3);
}

.recommend-top,
.case-top,
.case-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
  justify-content: space-between;
}

.recommend-title,
.case-name {
  font-weight: var(--weight-bold);
}

.scorebar {
  height: 8px;
  overflow: hidden;
  background: var(--ui-line);
  border-radius: 999px;
}

.scorebar span {
  display: block;
  height: 100%;
  background: var(--ui-accent);
}

.controls {
  grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(140px, .6fr));
}

.case-toolbar {
  padding: var(--space-3) 0;
  color: var(--ui-muted);
  font-size: var(--text-note);
}

.case-card.compact {
  display: grid;
  grid-template-columns: 210px 220px minmax(0, 1fr);
  padding: 0;
  overflow: hidden;
}

.case-top,
.case-tags,
.case-main,
.case-detail {
  padding: var(--space-4);
}

.case-top,
.case-tags {
  align-content: start;
  background: var(--ui-subtle);
  border-right: 1px solid var(--ui-line);
}

.case-detail {
  grid-column: 1 / -1;
  border-top: 1px solid var(--ui-line);
}

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

.field {
  padding-top: var(--space-2);
  border-top: 1px solid var(--ui-line);
}

.field .label,
.field .value {
  display: block;
}

.field .label {
  color: var(--ui-muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
}

.field .value {
  margin-top: var(--space-1);
}

.playbook {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: var(--space-5);
}

.playbook > .header-panel {
  background: var(--ui-subtle);
  border-color: var(--ui-line);
}

.steps {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: playbook-step;
}

.steps li {
  position: relative;
  max-width: none;
  padding: var(--space-3) 0 var(--space-3) 42px;
  border-top: 1px solid var(--ui-line);
  counter-increment: playbook-step;
}

.steps li::before {
  position: absolute;
  top: var(--space-3);
  left: 0;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  background: var(--ui-nav);
  color: var(--ui-nav-text);
  border-radius: 50%;
  content: counter(playbook-step);
  font-size: 11px;
  font-weight: var(--weight-bold);
}

.steps strong,
.steps span {
  display: block;
}

.steps span {
  margin-top: var(--space-1);
  color: var(--ui-muted);
  font-size: var(--text-small);
}

.playbook-risk {
  margin-top: var(--space-6);
}

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

#capital-ops footer {
  padding: var(--space-4) var(--space-5);
  background: var(--ui-subtle);
  border-top: 1px solid var(--ui-line);
  color: var(--ui-muted);
  font-size: var(--text-note);
}

/* 12. UI v2 main reading flow */
.report-section {
  position: relative;
}

.report-section > .section-head {
  display: block;
  max-width: var(--reading-max);
}

.report-section > .section-head > .kicker {
  display: block;
  margin: 0 0 var(--space-2);
}

.report-section > .section-head > div {
  min-width: 0;
}

.decision-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--sidebar-width);
  gap: var(--space-7);
  align-items: start;
  padding-block: var(--space-2) var(--space-7);
}

.decision-header__copy {
  max-width: var(--reading-max);
}

.decision-header__copy h1 {
  max-width: 700px;
  margin-bottom: var(--space-5);
}

.decision-header__copy > p:not(.lead) {
  max-width: 800px;
  color: var(--ui-muted);
}

.decision-header__result {
  position: sticky;
  top: calc(var(--nav-height) + var(--space-4));
  overflow: hidden;
  background: var(--ui-subtle);
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-panel);
}

.decision-metric {
  padding: var(--space-5);
  border-bottom: 1px solid var(--ui-line);
}

.decision-metric:last-child {
  border-bottom: 0;
}

.decision-metric--primary {
  background: var(--ui-nav);
  color: rgba(255, 255, 255, .74);
}

.decision-metric span,
.decision-metric strong,
.decision-metric p {
  display: block;
}

.decision-metric span {
  color: var(--ui-muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
}

.decision-metric strong {
  margin-top: var(--space-1);
  font-size: 22px;
  line-height: 1.2;
}

.decision-metric p {
  margin: var(--space-2) 0 0;
  color: var(--ui-muted);
  font-size: var(--text-note);
  line-height: 1.5;
}

.decision-metric--primary span,
.decision-metric--primary p {
  color: rgba(255, 255, 255, .68);
}

.decision-metric--primary strong {
  color: var(--ui-nav-text);
}

.decision-thesis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-7);
  overflow: hidden;
  background: var(--ui-subtle);
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-panel);
}

.decision-thesis article {
  min-width: 0;
  padding: var(--space-5);
  border-right: 1px solid var(--ui-line);
}

.decision-thesis article:last-child {
  border-right: 0;
}

.decision-thesis article > span,
.valuation-ladder article > span,
.scenario-list article > span,
.tool-link > span {
  display: block;
  color: var(--ui-accent);
  font-size: 11px;
  font-weight: var(--weight-bold);
  line-height: 1.35;
}

.decision-thesis h2 {
  margin: var(--space-2) 0 var(--space-3);
  font-size: 20px;
  line-height: 1.3;
}

.decision-thesis p {
  margin: 0;
  color: var(--ui-muted);
  font-size: var(--text-small);
  line-height: 1.62;
}

.decision-gates,
.risk-priority,
.execution-brief,
.post-close-plan {
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid var(--ui-line);
}

.section-head--compact {
  margin: 0 0 var(--space-5);
}

.section-head--compact h2 {
  font-size: 24px;
}

.gate-list,
.risk-list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: gate;
}

.gate-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-panel);
}

.gate-list li {
  position: relative;
  min-width: 0;
  max-width: none;
  padding: var(--space-4) var(--space-4) var(--space-4) 58px;
  border-right: 1px solid var(--ui-line);
  border-bottom: 1px solid var(--ui-line);
  counter-increment: gate;
}

.gate-list li:nth-child(2n) {
  border-right: 0;
}

.gate-list li:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.gate-list li::before {
  position: absolute;
  top: var(--space-4);
  left: var(--space-4);
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  background: var(--ui-nav);
  color: var(--ui-nav-text);
  border-radius: 50%;
  content: counter(gate);
  font-size: 11px;
  font-weight: var(--weight-bold);
}

.gate-list strong,
.gate-list span {
  display: block;
}

.gate-list span {
  margin-top: var(--space-1);
  color: var(--ui-muted);
  font-size: var(--text-small);
  line-height: 1.55;
}

.stop-rule,
.evidence-note,
.tool-note {
  margin: var(--space-4) 0 0;
  padding: var(--space-4) var(--space-5);
  background: var(--ui-accent-soft);
  border-left: 4px solid var(--ui-accent);
  color: var(--ui-text);
  font-size: var(--text-small);
  line-height: 1.6;
}

.evidence-note {
  margin-top: var(--space-6);
  background: var(--ui-subtle);
  border-left-color: var(--ui-line-strong);
  color: var(--ui-muted);
}

.transaction-bridge {
  margin-top: var(--space-6);
}

.transaction-bridge .plan-grid {
  margin-top: 0;
}

.valuation-ladder {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: var(--space-6);
  overflow: hidden;
  border-top: 1px solid var(--ui-line);
  border-bottom: 1px solid var(--ui-line);
}

.valuation-ladder article {
  min-width: 0;
  padding: var(--space-4);
  border-right: 1px solid var(--ui-line);
}

.valuation-ladder article:last-child {
  border-right: 0;
}

.valuation-ladder strong {
  display: block;
  margin-top: var(--space-1);
  font-size: 18px;
  line-height: 1.25;
}

.valuation-ladder p {
  margin: var(--space-2) 0 0;
  color: var(--ui-muted);
  font-size: var(--text-note);
  line-height: 1.5;
}

.scenario-list,
.evidence-list,
.tool-links {
  display: grid;
  gap: var(--space-4);
}

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

.scenario-list article {
  min-width: 0;
  padding: var(--space-4) 0;
  border-top: 3px solid var(--ui-line-strong);
}

.scenario-list article.is-base {
  border-top-color: var(--ui-accent);
}

.scenario-list h4 {
  margin: var(--space-2) 0;
}

.scenario-list p {
  margin: 0;
  color: var(--ui-muted);
  font-size: var(--text-small);
}

.evidence-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-6);
}

.evidence-list article {
  min-width: 0;
  padding: var(--space-4) 0;
  border-top: 1px solid var(--ui-line);
}

.evidence-list h4,
.evidence-list p {
  margin-bottom: 0;
}

.evidence-list p {
  margin-top: var(--space-2);
  color: var(--ui-muted);
}

.customer-proof-summary {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  margin-top: var(--space-5);
  border-top: 1px solid var(--ui-line-strong);
  border-bottom: 1px solid var(--ui-line);
}

.customer-proof-metric,
.customer-proof-verdict {
  min-width: 0;
  padding: var(--space-5) 0;
}

.customer-proof-metric {
  padding-right: var(--space-6);
  border-right: 1px solid var(--ui-line);
}

.customer-proof-verdict {
  padding-left: var(--space-6);
}

.customer-proof-metric > span,
.customer-proof-verdict > span {
  display: block;
  color: var(--ui-accent);
  font-size: var(--text-note);
  font-weight: var(--weight-bold);
}

.customer-proof-metric strong {
  display: block;
  margin-top: var(--space-2);
  font-size: 36px;
  line-height: 1.1;
}

.customer-proof-metric small,
.customer-proof-verdict p {
  display: block;
  max-width: 620px;
  margin-top: var(--space-2);
  color: var(--ui-muted);
  font-size: var(--text-small);
  line-height: 1.55;
}

.customer-proof-verdict strong {
  display: block;
  margin-top: var(--space-2);
  font-size: 22px;
  line-height: 1.3;
}

.customer-proof-verdict p {
  margin-bottom: 0;
}

.customer-proof-ladder {
  margin-top: var(--space-5);
  border-top: 1px solid var(--ui-line);
}

.customer-proof-ladder article {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: var(--space-5);
  align-items: start;
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--ui-line);
}

.proof-status {
  display: inline-flex;
  width: max-content;
  min-width: 64px;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  padding: 3px 8px;
  border: 1px solid var(--ui-line-strong);
  color: var(--ui-muted);
  font-size: 11px;
  font-weight: var(--weight-bold);
  white-space: nowrap;
}

.proof-status.confirmed {
  border-color: var(--ui-success);
  color: var(--ui-success);
}

.proof-status.pending {
  border-color: var(--ui-warning);
  color: var(--ui-warning);
}

.proof-status.gate {
  border-color: var(--ui-accent);
  color: var(--ui-accent);
}

.customer-proof-ladder strong {
  display: block;
  line-height: 1.4;
}

.customer-proof-ladder p {
  max-width: 820px;
  margin: var(--space-1) 0 0;
  color: var(--ui-muted);
  font-size: var(--text-small);
  line-height: 1.55;
}

.risk-priority > h3,
.execution-brief > h3,
.post-close-plan > h3 {
  margin-bottom: var(--space-4);
}

.risk-list {
  border-top: 1px solid var(--ui-line);
}

.risk-list li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: var(--space-4);
  max-width: none;
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--ui-line);
}

.risk-list .rf-chip {
  align-self: start;
  justify-content: center;
}

.risk-list strong,
.risk-list p {
  display: block;
}

.risk-list p {
  margin: var(--space-1) 0 0;
  color: var(--ui-muted);
  font-size: var(--text-small);
}

.execution-brief .execution-grid {
  margin-top: 0;
  overflow: hidden;
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-panel);
}

.execution-brief .deal-note {
  margin: 0;
  padding: var(--space-4);
  background: transparent;
  border: 0;
  border-right: 1px solid var(--ui-line);
  border-bottom: 1px solid var(--ui-line);
}

.execution-brief .deal-note:nth-child(2n) {
  border-right: 0;
}

.execution-brief .deal-note:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.execution-brief .deal-note h4,
.execution-brief .deal-note p {
  margin-bottom: 0;
}

.execution-brief .deal-note p {
  margin-top: var(--space-2);
  color: var(--ui-muted);
  font-size: var(--text-small);
}

.post-close-plan > .timeline {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: close-step;
  border-top: 1px solid var(--ui-line);
}

.post-close-plan > .timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: var(--space-4);
  max-width: none;
  padding: var(--space-4) 0 var(--space-4) 44px;
  border-bottom: 1px solid var(--ui-line);
  counter-increment: close-step;
}

.post-close-plan > .timeline li::before {
  position: absolute;
  top: var(--space-4);
  left: 0;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  background: var(--ui-nav);
  color: var(--ui-nav-text);
  border-radius: 50%;
  content: counter(close-step);
  font-size: 11px;
  font-weight: var(--weight-bold);
}

.post-close-plan > .timeline span {
  color: var(--ui-muted);
}

.report-section--tools {
  background: var(--ui-subtle);
}

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

.tool-link {
  position: relative;
  min-width: 0;
  padding: var(--space-5);
  background: var(--ui-document);
  border: 1px solid var(--ui-line);
  border-radius: var(--radius-panel);
  color: var(--ui-text);
  text-decoration: none;
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.tool-link:hover {
  border-color: var(--ui-line-strong);
  box-shadow: var(--shadow-raised);
  color: var(--ui-text);
  transform: translateY(-2px);
}

.tool-link strong,
.tool-link p,
.tool-link b {
  display: block;
}

.tool-link strong {
  margin-top: var(--space-2);
  font-size: 20px;
}

.tool-link p {
  margin: var(--space-2) 0 var(--space-4);
  color: var(--ui-muted);
  font-size: var(--text-small);
}

.tool-link b {
  color: var(--ui-accent);
  font-size: var(--text-small);
}

.tool-note {
  background: var(--ui-document);
  border-left-color: var(--ui-line-strong);
  color: var(--ui-muted);
}

/* 13. Utilities */
.black {
  background: var(--ui-nav);
  color: var(--ui-nav-text);
}

.red,
.critical {
  color: var(--ui-accent);
}

.secondary {
  background: transparent;
}

.mobile-only,
.mobile-model-cards,
.mobile-entry-cards,
.vehicle-mobile-card {
  display: none;
}

/* 14. Tablet */
/* 15. Decision-flow refinements */
.report-section > .section-head {
  max-width: 980px;
}

.report-section > .section-head p {
  max-width: var(--reading-max);
}

.deal-snapshot {
  margin-top: var(--space-6);
  border-top: 1px solid var(--ui-line-strong);
  border-bottom: 1px solid var(--ui-line);
}

.deal-snapshot-main {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.deal-snapshot-main > div {
  min-width: 0;
  padding: var(--space-4) var(--space-4) var(--space-4) 0;
  border-right: 1px solid var(--ui-line);
}

.deal-snapshot-main > div + div {
  padding-left: var(--space-4);
}

.deal-snapshot-main > div:last-child {
  padding-right: 0;
  border-right: 0;
}

.deal-snapshot span,
.deal-scope-list span {
  display: block;
  color: var(--ui-accent);
  font-size: var(--text-note);
  font-weight: var(--weight-bold);
}

.deal-snapshot strong {
  display: block;
  margin-top: var(--space-2);
  font-size: 17px;
  line-height: 1.35;
}

.deal-snapshot-notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  padding: var(--space-3) 0;
  border-top: 1px solid var(--ui-line);
}

.deal-snapshot-notes p {
  margin: 0;
  color: var(--ui-muted);
  font-size: var(--text-note);
  line-height: 1.55;
}

.deal-snapshot-notes strong {
  display: inline;
  font-size: inherit;
}

.valuation-ladder {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.transmission-steps {
  grid-template-columns: .9fr .9fr 1fr 1fr 1.2fr;
  overflow: visible;
  border: 0;
}

.transmission-step {
  position: relative;
  padding: var(--space-4) var(--space-4) var(--space-4) 0;
  background: transparent;
  border-top: 2px solid var(--ui-line-strong);
  border-right: 0;
}

.transmission-step + .transmission-step {
  padding-left: var(--space-4);
}

.transmission-step + .transmission-step::before {
  position: absolute;
  top: 22px;
  left: -5px;
  color: var(--ui-line-strong);
  content: "›";
  font-size: 18px;
}

.transmission-step.final {
  border-top-color: var(--ui-accent);
}

.transmission-step h4 {
  margin: var(--space-3) 0 var(--space-2);
}

.financial-quality,
.risk-priority,
.execution-brief,
.post-close-plan {
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid var(--ui-line);
}

.financial-quality .financial-snapshot {
  margin-top: var(--space-4);
  padding-top: 0;
  border-top: 0;
}

.deal-scope-list {
  margin-top: var(--space-4);
  border-top: 1px solid var(--ui-line);
}

.deal-scope-list article {
  display: grid;
  grid-template-columns: minmax(240px, .8fr) minmax(0, 1.6fr);
  gap: var(--space-6);
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--ui-line);
}

.deal-scope-list strong {
  display: block;
  margin-top: var(--space-1);
  font-size: 17px;
  line-height: 1.35;
}

.deal-scope-list p {
  margin: 0;
  color: var(--ui-muted);
  font-size: var(--text-small);
  line-height: 1.6;
}

.execution-checklist .col-item { width: 15%; }
.execution-checklist .col-risk { width: 15%; }
.execution-checklist .col-document { width: 34%; }
.execution-checklist .col-status { width: 12%; }
.execution-checklist .col-consequence { width: 24%; }

.execution-checklist td:first-child strong {
  word-break: keep-all;
}

.status-chip {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 3px 7px;
  border: 1px solid var(--ui-warning);
  color: var(--ui-warning);
  font-size: 11px;
  font-weight: var(--weight-bold);
  white-space: nowrap;
}

.status-chip.blocked {
  border-color: var(--ui-accent);
  color: var(--ui-accent);
}

.post-close-plan .timeline small {
  display: block;
  margin-top: var(--space-1);
  color: var(--ui-soft);
  font-size: var(--text-note);
}

#data[data-model-group="operating"] .model-command,
#data[data-model-group="transaction"] .model-dashboard,
.model-audit:not(:has(.audit-pill:not(.ok))) {
  display: none;
}

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

.model-command-card:last-child {
  display: none;
}

@media (max-width: 1120px) {
  body {
    --sidebar-width: 260px;
  }

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

  .hero-layout {
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
    gap: var(--space-5);
    padding-inline: var(--space-5);
  }

  #summary:not(.report-section--decision) {
    column-gap: var(--space-5);
  }

  .decision-header {
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: var(--space-5);
  }

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

  .deal-snapshot-main > div:nth-child(2n) {
    border-right: 0;
  }

  .deal-snapshot-main > div:nth-child(n + 3) {
    border-top: 1px solid var(--ui-line);
  }

  .report-section > .section-head {
    grid-template-columns: 120px minmax(0, 1fr);
  }

  .valuation-ladder {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .valuation-ladder article:nth-child(2n) {
    border-right: 0;
  }

  .valuation-ladder article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--ui-line);
  }

  .valuation-ladder article {
    border-right: 1px solid var(--ui-line);
    border-bottom: 0;
  }

  .valuation-ladder article:last-child {
    border-right: 0;
  }

  .mini-grid,
  .signal-strip,
  .proof-grid,
  .data-grid,
  .entry-summary-grid,
  .old-pool-kpis,
  .summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mini:nth-child(3n),
  .signal:nth-child(3n),
  .proof-cell:nth-child(3n),
  .data-card:nth-child(3n),
  .entry-summary-card:nth-child(3n),
  .old-pool-mini:nth-child(3n),
  .summary-metric:nth-child(3n) {
    border-right: 1px solid var(--ui-line);
  }

  .mini:nth-child(2n),
  .signal:nth-child(2n),
  .proof-cell:nth-child(2n),
  .data-card:nth-child(2n),
  .entry-summary-card:nth-child(2n),
  .old-pool-mini:nth-child(2n),
  .summary-metric:nth-child(2n) {
    border-right: 0;
  }

  .transmission-steps,
  .flow-visual,
  .chain,
  .gov-phase {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .transmission-steps {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .transmission-step:nth-child(2n),
  .flow-node:nth-child(2n),
  .chain-step:nth-child(2n),
  .gov-phase > div:nth-child(2n) {
    border-right: 0;
  }

  .transmission-step,
  .flow-node,
  .chain-step,
  .gov-phase > div {
    border-bottom: 1px solid var(--ui-line);
  }

  .financial-snapshot,
  .gov-panel-head,
  .model-cover,
  #capital-ops .capital-library header,
  .scenario-summary,
  .matcher,
  .playbook {
    grid-template-columns: 1fr;
  }

  .model-cover-meta {
    border-top: 1px solid rgba(255, 255, 255, .15);
    border-left: 0;
  }

  .model-command,
  .model-dashboard,
  #capital-ops .metrics,
  .gov-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .model-command-card:nth-child(2n),
  .model-dash:nth-child(2n),
  #capital-ops .metric:nth-child(2n),
  .gov-card:nth-child(2n) {
    border-right: 0;
  }

  .model-read-guide,
  .assumption-grid,
  .check-grid,
  .step-inputs,
  .step-results,
  .path-options,
  .scenario-compare-grid,
  .decision-grid,
  .insight {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-panel {
    position: static;
  }

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

  .case-card.compact {
    grid-template-columns: 190px minmax(0, 1fr);
  }

  .case-main {
    grid-column: 1 / -1;
    border-top: 1px solid var(--ui-line);
  }
}

/* 15. Mobile */
@media (max-width: 640px) {
  body {
    --text-body: 16px;
    --text-small: 14px;
    --text-note: 13px;
    --nav-height: 44px;
    --toc-height: 44px;
  }

  html {
    scroll-padding-top: calc(var(--nav-height) + var(--toc-height) + var(--space-3));
  }

  body {
    line-height: 1.68;
  }

  .topbar {
    height: var(--nav-height);
  }

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

  .nav {
    min-height: var(--nav-height);
  }

  .brand {
    overflow: hidden;
    font-size: 11.5px;
    text-overflow: ellipsis;
  }

  .brand::before {
    width: 24px;
  }

  main,
  body > section.shell,
  body > .footer {
    width: 100%;
  }

  main > section.shell,
  body > section.shell {
    padding-block: var(--space-6);
  }

  .hero-layout {
    display: block;
    padding: var(--space-6) var(--space-4);
  }

  h1 {
    font-size: 34px;
  }

  .decision-header__copy h1 {
    font-size: 30px;
    line-height: 1.12;
  }

  .deal-snapshot-main,
  .deal-snapshot-notes {
    grid-template-columns: 1fr;
  }

  .deal-snapshot-main > div,
  .deal-snapshot-main > div + div {
    padding: var(--space-3) 0;
    border-top: 1px solid var(--ui-line);
    border-right: 0;
  }

  .deal-snapshot-main > div:first-child {
    border-top: 0;
  }

  .deal-snapshot-notes {
    gap: var(--space-2);
  }

  .valuation-ladder {
    grid-template-columns: 1fr;
  }

  .valuation-ladder article,
  .valuation-ladder article:nth-child(2n) {
    border-right: 0;
    border-bottom: 1px solid var(--ui-line);
  }

  .transmission-steps {
    grid-template-columns: 1fr;
  }

  .transmission-step,
  .transmission-step + .transmission-step {
    padding: var(--space-3) 0;
    border-top: 1px solid var(--ui-line);
    border-bottom: 0;
  }

  .transmission-step + .transmission-step::before {
    display: none;
  }

  .deal-scope-list article {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  h2 {
    font-size: 26px;
  }

  h3 {
    font-size: 20px;
  }

  .lead {
    font-size: 16px;
  }

  .hero-brief {
    display: grid;
    gap: var(--space-2);
  }

  .hero-image {
    margin-top: var(--space-5);
  }

  .exec-card {
    padding: var(--space-4);
  }

  .exec-verdict {
    font-size: 25px;
  }

  .toc-wrap {
    position: fixed;
    right: 0;
    left: 0;
    top: var(--nav-height);
    min-height: var(--toc-height);
    overflow: hidden;
  }

  .toc {
    display: flex;
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .toc::-webkit-scrollbar {
    display: none;
  }

  .toc-edge {
    position: absolute;
    top: 0;
    z-index: 3;
    display: none;
    width: 28px;
    height: var(--toc-height);
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: linear-gradient(90deg, var(--ui-nav), rgba(41, 38, 34, .12));
    pointer-events: none;
  }

  .toc-edge.left {
    left: 0;
  }

  .toc-edge.right {
    right: 0;
    background: linear-gradient(270deg, var(--ui-nav), rgba(41, 38, 34, .12));
  }

  .toc-wrap.can-left .toc-edge.left,
  .toc-wrap.can-right .toc-edge.right {
    display: flex;
  }

  .toc a {
    min-width: 92px;
    min-height: var(--toc-height);
    flex: 0 0 auto;
    padding: var(--space-2) var(--space-3);
    font-size: 12px;
    scroll-snap-align: center;
  }

  .toc a strong {
    display: none;
  }

  .toc a::after {
    color: inherit;
    font-size: 12px;
    font-weight: var(--weight-bold);
    content: attr(data-short);
  }

  .subsection-head,
  .section-head {
    margin-top: var(--space-7);
  }

  .subsection-head p,
  .section-head p,
  .section-summary {
    font-size: 16px;
  }

  #summary:not(.report-section--decision) {
    display: flex;
    flex-direction: column;
  }

  #summary:not(.report-section--decision) .decision-ribbon {
    position: static;
    order: 1;
    width: 100%;
  }

  #summary:not(.report-section--decision) .section-summary {
    order: 2;
    margin-top: var(--space-6);
  }

  #summary:not(.report-section--decision) .mini-grid {
    order: 3;
  }

  .report-section > .section-head,
  .decision-header {
    display: block;
  }

  .report-section > .section-head > .kicker {
    margin: 0 0 var(--space-2);
  }

  .decision-header {
    padding-bottom: var(--space-6);
  }

  .decision-header__result {
    position: static;
    margin-top: var(--space-5);
  }

  .decision-thesis,
  .gate-list,
  .valuation-ladder,
  .scenario-list,
  .evidence-list,
  .tool-links {
    grid-template-columns: 1fr;
  }

  .decision-thesis article,
  .valuation-ladder article {
    border-right: 0;
    border-bottom: 1px solid var(--ui-line);
  }

  .decision-thesis article:last-child,
  .valuation-ladder article:last-child {
    border-bottom: 0;
  }

  .gate-list li {
    border-right: 0;
    border-bottom: 1px solid var(--ui-line);
  }

  .gate-list li:nth-last-child(-n + 2) {
    border-bottom: 1px solid var(--ui-line);
  }

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

  .scenario-list article {
    padding-block: var(--space-4);
  }

  .evidence-list {
    gap: 0;
  }

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

  .customer-proof-metric,
  .customer-proof-verdict {
    padding: var(--space-4) 0;
  }

  .customer-proof-metric {
    padding-right: 0;
    border-right: 0;
    border-bottom: 1px solid var(--ui-line);
  }

  .customer-proof-verdict {
    padding-left: 0;
  }

  .customer-proof-metric strong {
    font-size: 30px;
  }

  .customer-proof-verdict strong {
    font-size: 19px;
  }

  .customer-proof-ladder article {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: var(--space-3);
  }

  .risk-list li {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: var(--space-3);
  }

  .execution-brief .deal-note {
    border-right: 0;
    border-bottom: 1px solid var(--ui-line);
  }

  .execution-brief .deal-note:nth-last-child(-n + 2) {
    border-bottom: 1px solid var(--ui-line);
  }

  .execution-brief .deal-note:last-child {
    border-bottom: 0;
  }

  .post-close-plan > .timeline li {
    display: block;
    padding-left: 44px;
  }

  .post-close-plan > .timeline span {
    display: block;
    margin-top: var(--space-1);
  }

  .stop-rule,
  .evidence-note,
  .tool-note {
    padding: var(--space-4);
  }

  .visual-panel,
  .focus-exhibit,
  .transmission-flow,
  .financial-snapshot,
  .investment-plan,
  .execution-grid,
  .risk-register-wrap,
  .gov-switcher {
    margin-top: var(--space-6);
  }

  .mini-grid,
  .signal-strip,
  .proof-grid,
  .plan-grid,
  .data-grid,
  .guidance-grid,
  .amount-grid,
  .gov-summary,
  .model-command,
  .entry-summary-grid,
  .old-pool-kpis,
  .summary-grid,
  .metrics,
  .execution-grid {
    grid-template-columns: 1fr;
  }

  .mini,
  .signal,
  .proof-cell,
  .plan-item,
  .data-card,
  .gov-card,
  .model-command-card,
  .entry-summary-card,
  .old-pool-mini,
  .summary-metric,
  .metric {
    border-right: 0;
  }

  .flow-visual,
  .transmission-steps,
  .chain,
  .gov-phase {
    grid-template-columns: 1fr;
  }

  .flow-node,
  .transmission-step,
  .chain-step,
  .gov-phase > div {
    border-right: 0;
  }

  .table-wrap,
  .model-table-wrap,
  .memo-scroll {
    margin-inline: 0;
  }

  .table-wrap::before,
  .model-table-wrap::before {
    display: block;
    padding: var(--space-2) var(--space-3);
    background: var(--ui-subtle);
    color: var(--ui-muted);
    border-bottom: 1px solid var(--ui-line);
    content: "左右滑动查看完整内容";
    font-size: var(--text-note);
    font-weight: var(--weight-medium);
  }

  .model-table-wrap:has(+ .mobile-model-cards)::before,
  .model-table-wrap:has(.mobile-model-cards)::before {
    content: "手机端已转换为分组卡片";
  }

  th,
  td {
    padding: 10px;
    font-size: 13px;
  }

  .table-wrap th:first-child,
  .table-wrap td:first-child,
  .model-table-wrap th:first-child,
  .model-table-wrap td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    background: var(--ui-document);
    box-shadow: 1px 0 0 var(--ui-line);
  }

  .table-wrap th:first-child,
  .model-table-wrap th:first-child {
    background: var(--ui-subtle);
  }

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

  .gov-inline-list,
  .model-read-guide,
  .assumption-grid,
  .check-grid,
  .valuation-layout,
  .step-inputs,
  .step-results,
  .path-options,
  .scenario-compare-grid,
  .decision-grid,
  .insight,
  .input-grid,
  .controls,
  .case-fields {
    grid-template-columns: 1fr;
  }

  .model-workbook,
  #capital-ops .capital-library > .wrap {
    margin-inline: -4px;
    border-radius: 0;
    box-shadow: none;
  }

  .model-cover {
    display: block;
  }

  .model-cover-main {
    padding: var(--space-4);
  }

  .model-cover-meta {
    display: none;
  }

  .model-cover-main p {
    display: none;
  }

  .model-toolbar {
    display: block;
    padding: var(--space-2) 0 0;
  }

  .model-tabs,
  .model-audit {
    padding-inline: var(--space-3);
  }

  .model-tabs {
    padding-right: 34px;
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent 100%);
    mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent 100%);
  }

  .model-audit {
    display: none;
  }

  .model-tabs button,
  .mode-tab {
    flex: 0 0 auto;
    min-width: 94px;
  }

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

  .gov-tabs button {
    min-width: 0;
    padding-inline: 4px;
    font-size: 11px;
    white-space: normal;
  }

  .model-dashboard {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  #data[data-model-group="transaction"] .model-dashboard {
    display: none;
  }

  .model-dash {
    min-width: 158px;
    flex: 0 0 158px;
    scroll-snap-align: start;
  }

  .model-sheet {
    padding: var(--space-3);
  }

  .model-block-title {
    display: block;
  }

  .model-block-title span {
    display: block;
    margin-top: var(--space-1);
    text-align: left;
  }

  .model-table-wrap:has(table.ib-table) table,
  .model-table-wrap table.sens-table,
  .entry-table-desktop,
  .cost-table-desktop {
    display: none;
  }

  #model-pl .model-table-wrap table.ib-table,
  #model-wc .model-table-wrap table.ib-table,
  #model-cf .model-table-wrap table.ib-table,
  #model-bs .model-table-wrap table.ib-table {
    display: table;
  }

  #model-pl .mobile-model-cards,
  #model-wc .mobile-model-cards,
  #model-cf .mobile-model-cards,
  #model-bs .mobile-model-cards {
    display: none;
  }

  .mobile-model-cards,
  .mobile-entry-cards,
  .vehicle-mobile-card {
    display: grid;
  }

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

  .mobile-model-cell {
    padding: var(--space-2);
    background: var(--ui-subtle);
    border-radius: var(--radius-control);
  }

  .mobile-model-cell span,
  .mobile-model-cell strong {
    display: block;
  }

  .mobile-model-cell span {
    color: var(--ui-muted);
    font-size: 11px;
  }

  .mobile-model-cell strong {
    margin-top: var(--space-1);
    font-size: 13px;
  }

  .entry-summary-grid {
    position: sticky;
    top: calc(var(--nav-height) + var(--toc-height));
    z-index: 20;
    display: flex;
    overflow-x: auto;
    box-shadow: 0 8px 18px rgba(29, 26, 23, .10);
  }

  .entry-summary-card {
    min-width: 156px;
    flex: 0 0 156px;
    background: var(--ui-document);
  }

  .old-pool-row,
  .step-card,
  .case-card.compact,
  .playbook {
    grid-template-columns: 1fr;
  }

  .old-pool-head,
  .step-head,
  .case-top,
  .case-tags {
    border-right: 0;
    border-bottom: 1px solid var(--ui-line);
  }

  #capital-ops .capital-library header,
  #capital-ops .workspace-section {
    padding: var(--space-4);
  }

  #capital-ops .metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #capital-ops .mode-tabs {
    position: static;
    flex-wrap: nowrap;
  }

  .case-main,
  .case-detail {
    grid-column: auto;
  }

  .profile-panel {
    position: static;
  }

  .footer {
    padding: var(--space-5) var(--space-4) var(--space-7);
  }

  .report-meta {
    padding-block: var(--space-6) var(--space-5);
  }

  .version-details > summary {
    align-items: flex-start;
  }

  .version-details > summary > small {
    max-width: 150px;
    line-height: 1.35;
    text-align: right;
  }

  .version-item {
    grid-template-columns: 1fr;
    gap: var(--space-1);
  }

  .version-item.current {
    padding-left: var(--space-3);
  }

  .source-heading {
    display: block;
  }

  .source-heading span {
    display: block;
    margin-top: var(--space-1);
  }

  .source-groups {
    grid-template-columns: 1fr;
  }

  .source-groups > div,
  .source-groups > div:first-child,
  .source-groups > div:last-child {
    padding: var(--space-3) 0;
    border-right: 0;
    border-bottom: 1px solid var(--ui-line);
  }
}

/* 16. Print */
@media print {
  @page {
    size: A4;
    margin: 14mm 12mm 16mm;
  }

  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .toc-wrap,
  .toc-wrap.is-fixed,
  .model-toolbar {
    position: static;
    inset: auto;
  }

  body {
    --text-body: 10pt;
    --text-small: 8.5pt;
    --text-note: 8pt;
  }

  html,
  body {
    background: #ffffff;
    color: #000000;
  }

  body {
    overflow: visible;
  }

  .topbar,
  .skip-link,
  .noscript-notice,
  .toc-wrap,
  .toc-spacer,
  .toc-edge,
  button,
  .mobile-model-cards,
  .mobile-entry-cards,
  .case-toolbar,
  .controls {
    display: none;
  }

  #tools {
    display: none;
  }

  .model-tabs {
    display: none;
  }

  main,
  body > section.shell,
  body > .footer,
  .shell {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-inline: 0;
    background: #ffffff;
    box-shadow: none;
  }

  .hero-layout {
    display: block;
    padding: 0 0 10mm;
  }

  .decision-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 62mm;
    gap: 8mm;
  }

  .decision-header__result {
    position: static;
  }

  .decision-thesis,
  .decision-gates,
  .gate-list,
  .valuation-ladder,
  .scenario-list,
  .evidence-list,
  .tool-links {
    break-inside: avoid;
  }

  .tool-link {
    box-shadow: none;
    transform: none;
  }

  .hero-image {
    margin-top: 6mm;
  }

  .exec-card,
  .model-cover,
  #capital-ops .capital-library header,
  .scenario-summary > div:first-child {
    background: #ffffff;
    color: #000000;
    border: 1px solid #777777;
  }

  .exec-card *,
  .model-cover *,
  #capital-ops .capital-library header *,
  .scenario-summary > div:first-child * {
    color: #000000;
  }

  main > section.shell,
  body > section.shell {
    padding-block: 8mm;
  }

  #summary {
    display: block;
  }

  #summary .decision-ribbon,
  .profile-panel,
  .entry-summary-grid {
    position: static;
  }

  .visual-panel,
  .focus-exhibit,
  .transmission-flow,
  .financial-snapshot,
  .investment-plan,
  .execution-grid,
  .risk-register-wrap,
  .gov-switcher,
  details,
  .model-block,
  .step-card,
  .compare-card,
  .decision-card,
  .recommend-card,
  .case-card,
  .insight-card {
    break-inside: avoid;
    box-shadow: none;
  }

  details,
  details > .detail-body,
  details > .advanced-body {
    break-inside: auto;
  }

  #financial,
  #market,
  #execution {
    break-before: page;
  }

  #data .data-appendix {
    break-before: auto;
    break-inside: auto;
  }

  #data,
  #data .gov-switcher,
  #data .gov-summary {
    break-inside: auto;
  }

  #data .gov-card {
    break-inside: avoid;
  }

  .report-meta {
    break-before: page;
    padding-block: 4mm 2mm;
  }

  .version-item,
  .source-groups > div {
    break-inside: avoid;
  }

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

  .source-groups > div {
    padding: 4pt 6pt;
    border-bottom: 1px solid #aaaaaa;
  }

  .version-item {
    padding-block: 3pt;
  }

  .report-footer {
    padding-block: 3mm 4mm;
  }

  .source-boundary {
    margin-top: 3pt;
    padding-top: 3pt;
  }

  .report-footer > .shell > small {
    display: none;
  }

  p,
  li {
    orphans: 3;
    widows: 3;
  }

  .plan-item,
  .valuation-ladder > article {
    break-inside: avoid;
  }

  .plan-item {
    padding: 5pt 6pt;
  }

  .plan-item strong {
    font-size: 10pt;
    line-height: 1.2;
  }

  .plan-item small {
    margin-top: 2pt;
    font-size: 7pt;
    line-height: 1.3;
  }

  details > .detail-body,
  details > .advanced-body {
    display: block;
  }

  summary::after {
    display: none;
  }

  .table-wrap,
  .model-table-wrap,
  .memo-scroll,
  .model-workbook,
  #capital-ops .capital-library > .wrap {
    overflow: visible;
    border-color: #999999;
    box-shadow: none;
  }

  table,
  .ib-table,
  .entry-calc-table,
  .sens-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  th,
  td,
  .ib-table th,
  .ib-table td,
  .entry-calc-table th,
  .entry-calc-table td,
  .sens-table th,
  .sens-table td {
    padding: 4pt;
    color: #000000;
    border-color: #aaaaaa;
    font-size: 8pt;
    white-space: normal;
  }

  input,
  select,
  textarea {
    min-height: 0;
    padding: 2pt;
    border: 0;
    background: transparent;
  }

  a {
    color: #000000;
    text-decoration: none;
  }

  section,
  .model-panel.active,
  .workspace-section.active {
    break-before: auto;
  }

  h2,
  h3,
  h4 {
    break-after: avoid;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto;
    transition-duration: .01ms;
    animation-duration: .01ms;
    animation-iteration-count: 1;
  }
}


/* Source: post-investment-v4.css */
:root {
  --v4-ink: #16202b;
  --v4-ink-strong: #0a1624;
  --v4-muted: #586575;
  --v4-subtle: #7b8794;
  --v4-navy: #102a43;
  --v4-navy-2: #183b56;
  --v4-red: #9f2f2f;
  --v4-red-soft: #f8ecea;
  --v4-green: #2d6a4f;
  --v4-green-soft: #ebf5ef;
  --v4-amber: #8a5a14;
  --v4-amber-soft: #faf3e3;
  --v4-line: #d7dee5;
  --v4-line-dark: #b8c2cc;
  --v4-wash: #f3f6f8;
  --v4-paper: #ffffff;
  --v4-page: #edf1f4;
  --v4-shell: 1280px;
  --v4-topbar: 48px;
  --v4-toc: 48px;
}

html {
  scroll-padding-top: 116px !important;
  background: var(--v4-page) !important;
}

html,
body,
button,
input,
select,
textarea {
  font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif !important;
  letter-spacing: 0 !important;
}

body {
  margin: 0 !important;
  color: var(--v4-ink) !important;
  background: var(--v4-page) !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: tabular-nums;
}

a {
  color: inherit;
}

.shell {
  width: min(calc(100% - 64px), var(--v4-shell)) !important;
  max-width: var(--v4-shell) !important;
  margin-inline: auto !important;
}

.topbar {
  height: var(--v4-topbar) !important;
  min-height: var(--v4-topbar) !important;
  background: var(--v4-paper) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v4-line) !important;
  box-shadow: none !important;
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 80 !important;
  transition: transform .18s ease !important;
}

body { padding-top: calc(var(--v4-topbar) + var(--v4-toc)) !important; }
main#top { padding-top: 0 !important; }

.topbar .nav {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 !important;
}

.brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--v4-ink-strong) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.brand::before {
  content: "";
  width: 24px;
  height: 3px;
  background: var(--v4-red);
}

main#top {
  width: min(calc(100% - 64px), var(--v4-shell)) !important;
  margin: 0 auto !important;
  background: var(--v4-paper) !important;
  border-inline: 1px solid var(--v4-line) !important;
  box-shadow: none !important;
}

.report-section,
#data.shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 64px 48px !important;
  background: var(--v4-paper) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v4-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  scroll-margin-top: 110px !important;
}

.hero.report-section {
  padding-top: 56px !important;
}

.decision-header {
  display: grid !important;
  grid-template-columns: minmax(0, 8fr) minmax(300px, 4fr) !important;
  gap: 48px !important;
  align-items: stretch !important;
  margin: 0 0 40px !important;
  padding: 0 !important;
}

.decision-header__copy {
  min-width: 0 !important;
  padding: 2px 0 4px !important;
}

.kicker,
.decision-header__copy .kicker,
.section-head > .kicker,
.section-head--compact .kicker {
  display: block !important;
  margin: 0 0 12px !important;
  color: var(--v4-red) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.decision-header__copy h1 {
  max-width: 760px !important;
  margin: 0 0 20px !important;
  color: var(--v4-ink-strong) !important;
  font-size: clamp(36px, 4.1vw, 52px) !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  text-wrap: balance;
}

.decision-header__copy > p {
  max-width: 780px !important;
  margin: 0 !important;
  padding: 14px 0 0 !important;
  color: var(--v4-ink) !important;
  border: 0 !important;
  border-top: 1px solid var(--v4-line) !important;
  background: transparent !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.decision-header__result {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-self: stretch !important;
  border: 1px solid var(--v4-line-dark) !important;
  border-top: 4px solid var(--v4-navy) !important;
  border-radius: 2px !important;
  background: var(--v4-paper) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.decision-metric,
.decision-metric--primary {
  min-height: 0 !important;
  padding: 22px 24px !important;
  color: var(--v4-ink) !important;
  background: var(--v4-paper) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v4-line) !important;
  border-radius: 0 !important;
}

.decision-metric:last-child {
  border-bottom: 0 !important;
}

.decision-metric span {
  color: var(--v4-muted) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.decision-metric strong {
  display: block !important;
  margin: 5px 0 6px !important;
  color: var(--v4-ink-strong) !important;
  font-size: 25px !important;
  line-height: 1.2 !important;
}

.decision-metric p {
  margin: 0 !important;
  color: var(--v4-muted) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.toc-wrap {
  width: min(calc(100% - 64px), var(--v4-shell)) !important;
  height: var(--v4-toc) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: var(--v4-navy) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  z-index: 70 !important;
}

.toc-wrap {
  position: fixed !important;
  top: var(--v4-topbar) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  height: var(--v4-toc) !important;
  min-height: var(--v4-toc) !important;
  z-index: 75 !important;
  transition: top .18s ease !important;
}

.toc-spacer { display: none !important; height: 0 !important; }

html.header-collapsed {
  scroll-padding-top: calc(var(--v4-toc) + 20px) !important;
}

html.header-collapsed .topbar {
  transform: translateY(-100%) !important;
}

html.header-collapsed .toc-wrap {
  top: 0 !important;
}

.toc-wrap.is-fixed {
  top: var(--v4-topbar) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  position: fixed !important;
}

.toc {
  height: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  padding: 0 !important;
  overflow: hidden !important;
  scrollbar-width: none;
}

.toc a {
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  color: #dce6ef !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.toc a:last-child {
  border-right: 0 !important;
}

.toc a:hover,
.toc a.active {
  color: #fff !important;
  background: var(--v4-red) !important;
}

.toc-edge {
  display: none !important;
}

.toc-spacer {
  max-height: var(--v4-toc) !important;
}

.valuation-ladder,
.scenario-list,
.evidence-list,
.tool-links,
.source-groups {
  display: grid !important;
  gap: 0 !important;
  margin: 0 !important;
  border: 1px solid var(--v4-line) !important;
  border-radius: 2px !important;
  background: var(--v4-paper) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.valuation-ladder article,
.scenario-list article,
.evidence-list article,
.source-groups > div {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 22px 24px !important;
  background: var(--v4-paper) !important;
  border: 0 !important;
  border-right: 1px solid var(--v4-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.valuation-ladder article:last-child,
.scenario-list article:last-child,
.evidence-list article:nth-child(even),
.source-groups > div:last-child {
  border-right: 0 !important;
}

.scenario-list article > span,
.valuation-ladder article > span {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--v4-red) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

.scenario-list h4,
.evidence-list h4 {
  margin: 0 0 8px !important;
  color: var(--v4-ink-strong) !important;
  font-size: 18px !important;
  line-height: 1.38 !important;
  font-weight: 700 !important;
}

.scenario-list p,
.evidence-list p {
  margin: 0 !important;
  color: var(--v4-muted) !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.decision-gates {
  margin: 38px 0 0 !important;
  padding: 30px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--v4-line-dark) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.decision-gates .section-head--compact {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--v4-navy) !important;
}

.decision-gates .section-head--compact .kicker {
  display: block !important;
  margin: 0 0 7px !important;
}

.decision-gates .section-head--compact h2 {
  font-size: 26px !important;
  line-height: 1.25 !important;
}

.section-head,
.report-section > .section-head,
.section-head--compact {
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
  margin: 0 0 36px !important;
  padding: 0 0 20px !important;
  border: 0 !important;
  border-bottom: 2px solid var(--v4-navy) !important;
}

.section-head--compact {
  grid-template-columns: 190px minmax(0, 1fr) !important;
  margin-bottom: 20px !important;
  padding-bottom: 14px !important;
  border-bottom-width: 1px !important;
}

.section-head > .kicker,
.section-head--compact > .kicker {
  margin-top: 8px !important;
}

.section-head h2,
.section-head--compact h2 {
  margin: 0 !important;
  color: var(--v4-ink-strong) !important;
  font-size: clamp(27px, 2.6vw, 34px) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

.section-head p {
  max-width: 800px !important;
  margin: 10px 0 0 !important;
  color: var(--v4-muted) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.gate-list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 1px solid var(--v4-line) !important;
  counter-reset: gate-item !important;
}

.gate-list li {
  display: block !important;
  min-height: 178px !important;
  padding: 20px 18px 18px !important;
  background: var(--v4-paper) !important;
  border: 0 !important;
  border-right: 1px solid var(--v4-line) !important;
  border-bottom: 0 !important;
  counter-increment: gate-item !important;
}

.gate-list li:last-child { border-right: 0 !important; }
.gate-list li::before {
  content: "0" counter(gate-item) !important;
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  color: var(--v4-red) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-align: left !important;
  transform: none !important;
}
.gate-list strong {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--v4-ink-strong) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}
.gate-list span {
  display: block !important;
  color: var(--v4-muted) !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
}

.stop-rule,
.evidence-note,
.source-boundary {
  margin: 18px 0 0 !important;
  padding: 14px 16px !important;
  color: var(--v4-muted) !important;
  background: var(--v4-wash) !important;
  border: 0 !important;
  border-left: 3px solid var(--v4-navy) !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
}

.stop-rule {
  border-left-color: var(--v4-red) !important;
}

.deal-snapshot {
  display: grid !important;
  grid-template-columns: 7fr 5fr !important;
  gap: 0 !important;
  margin: 0 0 32px !important;
  border: 1px solid var(--v4-line-dark) !important;
  border-top: 4px solid var(--v4-navy) !important;
  border-radius: 2px !important;
  background: var(--v4-paper) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.deal-snapshot-main {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 0 !important;
  background: var(--v4-paper) !important;
}

.deal-snapshot-main > div {
  min-width: 0 !important;
  padding: 18px 20px !important;
  border: 0 !important;
  border-right: 1px solid var(--v4-line) !important;
  border-bottom: 1px solid var(--v4-line) !important;
}

.deal-snapshot-main > div:nth-child(even) { border-right: 0 !important; }
.deal-snapshot-main > div:nth-last-child(-n+2) { border-bottom: 0 !important; }
.deal-snapshot-main span { color: var(--v4-muted) !important; font-size: 11px !important; }
.deal-snapshot-main strong { display: block !important; margin-top: 4px !important; color: var(--v4-ink-strong) !important; font-size: 16px !important; line-height: 1.35 !important; }

.deal-snapshot-notes {
  padding: 18px 22px !important;
  background: var(--v4-wash) !important;
  border-left: 1px solid var(--v4-line-dark) !important;
}

.deal-snapshot-notes p {
  margin: 0 !important;
  padding: 8px 0 !important;
  color: var(--v4-muted) !important;
  border-bottom: 1px solid var(--v4-line) !important;
  font-size: 12px !important;
}

.deal-snapshot-notes p:last-child { border-bottom: 0 !important; }

.valuation-ladder {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  margin-bottom: 32px !important;
}

.valuation-ladder article { padding: 18px !important; }
.valuation-ladder strong { display: block !important; margin: 4px 0 6px !important; color: var(--v4-ink-strong) !important; font-size: 20px !important; }
.valuation-ladder p { margin: 0 !important; color: var(--v4-muted) !important; font-size: 11px !important; line-height: 1.55 !important; }

.visual-panel,
.customer-proof,
.financial-quality,
.risk-priority,
.post-close-plan {
  margin: 32px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.visual-panel > h3,
.financial-quality > h3,
.risk-priority > h3,
.post-close-plan > h3 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
  padding: 0 0 10px !important;
  color: var(--v4-ink-strong) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v4-line-dark) !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
}

.tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  height: 20px !important;
  padding: 0 6px !important;
  color: var(--v4-red) !important;
  background: var(--v4-red-soft) !important;
  border: 1px solid #e8c4c0 !important;
  border-radius: 2px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}

.table-wrap {
  width: 100% !important;
  margin: 0 !important;
  overflow-x: auto !important;
  background: var(--v4-paper) !important;
  border: 1px solid var(--v4-line) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}

table {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: var(--v4-paper) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

caption {
  padding: 12px 14px !important;
  color: var(--v4-ink-strong) !important;
  background: var(--v4-wash) !important;
  border-bottom: 1px solid var(--v4-line) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-align: left !important;
}

th,
td {
  padding: 11px 12px !important;
  color: var(--v4-ink) !important;
  background: var(--v4-paper) !important;
  border: 0 !important;
  border-right: 1px solid var(--v4-line) !important;
  border-bottom: 1px solid var(--v4-line) !important;
  text-align: left !important;
  vertical-align: top !important;
}

th:last-child,
td:last-child { border-right: 0 !important; }
tbody tr:last-child td { border-bottom: 0 !important; }

thead th {
  color: #fff !important;
  background: var(--v4-navy) !important;
  border-color: rgba(255,255,255,.15) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.highlight-row td,
tr.highlight-row td {
  background: #edf3f7 !important;
}

td strong,
th strong {
  color: inherit !important;
}

.chart-footnote {
  margin: 10px 0 0 !important;
  color: var(--v4-subtle) !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
}

.scenario-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.scenario-list article.is-base {
  background: #edf3f7 !important;
}

.evidence-list,
.source-groups {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.evidence-list article,
.source-groups > div {
  border-bottom: 1px solid var(--v4-line) !important;
}

.evidence-list article:nth-last-child(-n+2),
.source-groups > div:nth-last-child(-n+2) {
  border-bottom: 0 !important;
}

.financial-snapshot {
  display: grid !important;
  grid-template-columns: minmax(0, 8fr) minmax(280px, 4fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

.finance-callout {
  padding: 22px !important;
  background: var(--v4-wash) !important;
  border: 0 !important;
  border-left: 4px solid var(--v4-red) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.finance-callout span { color: var(--v4-muted) !important; font-size: 11px !important; }
.finance-callout strong { display: block !important; margin: 7px 0 !important; color: var(--v4-ink-strong) !important; font-size: 18px !important; line-height: 1.4 !important; }
.finance-callout p { margin: 0 !important; color: var(--v4-muted) !important; font-size: 12px !important; }
.financial-snapshot > .chart-footnote { grid-column: 1 / -1 !important; }

.risk-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 1px solid var(--v4-line) !important;
}

.risk-list li {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 15px 18px !important;
  background: var(--v4-paper) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v4-line) !important;
}

.risk-list li:last-child { border-bottom: 0 !important; }
.risk-list strong { color: var(--v4-ink-strong) !important; font-size: 13px !important; }
.risk-list p { margin: 3px 0 0 !important; color: var(--v4-muted) !important; font-size: 12px !important; }

details.compact-details,
.data-appendix,
.version-details {
  margin: 28px 0 0 !important;
  background: var(--v4-paper) !important;
  border: 1px solid var(--v4-line) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

details.compact-details > summary,
.data-appendix > summary,
.version-details > summary {
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 !important;
  padding: 0 16px !important;
  color: var(--v4-ink-strong) !important;
  background: var(--v4-wash) !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

details.compact-details[open] > summary {
  border-bottom: 1px solid var(--v4-line) !important;
}

.detail-body {
  padding: 20px !important;
  background: var(--v4-paper) !important;
}

.post-close-plan .timeline {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--v4-line) !important;
  list-style: none !important;
}

.post-close-plan .timeline li {
  min-width: 0 !important;
  display: block !important;
  padding: 20px !important;
  background: var(--v4-paper) !important;
  border: 0 !important;
  border-right: 1px solid var(--v4-line) !important;
}

.post-close-plan .timeline li:last-child { border-right: 0 !important; }
.post-close-plan .timeline li > strong { display: block !important; margin-bottom: 8px !important; color: var(--v4-red) !important; font-size: 13px !important; }
.post-close-plan .timeline span { color: var(--v4-ink) !important; font-size: 12px !important; }
.post-close-plan .timeline small { display: block !important; margin-top: 8px !important; color: var(--v4-subtle) !important; font-size: 10px !important; }

.tool-links {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.tool-link {
  display: block !important;
  min-height: 0 !important;
  padding: 24px !important;
  color: var(--v4-ink) !important;
  background: var(--v4-paper) !important;
  border: 0 !important;
  border-right: 1px solid var(--v4-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.tool-link:last-child { border-right: 0 !important; }
.tool-link span { color: var(--v4-red) !important; font-size: 10px !important; font-weight: 700 !important; }
.tool-link strong { display: block !important; margin: 5px 0 8px !important; color: var(--v4-ink-strong) !important; font-size: 18px !important; }
.tool-link p { margin: 0 !important; color: var(--v4-muted) !important; font-size: 12px !important; }
.tool-link b { display: inline-block !important; margin-top: 12px !important; color: var(--v4-navy) !important; font-size: 11px !important; }

#data.shell {
  background: var(--v4-wash) !important;
}

.model-workbook {
  margin: 0 !important;
  background: var(--v4-paper) !important;
  border: 1px solid var(--v4-line-dark) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.model-cover {
  display: grid !important;
  grid-template-columns: minmax(0, 8fr) minmax(320px, 4fr) !important;
  min-height: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  background: var(--v4-navy) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.2) !important;
}

.model-cover-main {
  padding: 28px 30px !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
}

.model-cover-main span { color: #b9ccdc !important; font-size: 10px !important; }
.model-cover-main h3 { margin: 6px 0 8px !important; color: #fff !important; font-size: 25px !important; line-height: 1.25 !important; }
.model-cover-main p { margin: 0 !important; color: #d5e1ea !important; font-size: 12px !important; }

.model-cover-meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  background: transparent !important;
  border-left: 1px solid rgba(255,255,255,.2) !important;
}

.model-meta-cell {
  padding: 18px !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid rgba(255,255,255,.15) !important;
  border-bottom: 1px solid rgba(255,255,255,.15) !important;
}

.model-meta-cell:nth-child(even) { border-right: 0 !important; }
.model-meta-cell:nth-last-child(-n+2) { border-bottom: 0 !important; }
.model-meta-cell span { color: #b9ccdc !important; font-size: 10px !important; }
.model-meta-cell strong { display: block !important; margin-top: 4px !important; color: #fff !important; font-size: 13px !important; }

.model-command,
.model-tabs,
.model-panel {
  border-color: var(--v4-line) !important;
  box-shadow: none !important;
}

.model-command {
  background: var(--v4-paper) !important;
}

.model-command-card {
  background: var(--v4-paper) !important;
  border-color: var(--v4-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.model-command-card span,
.model-command-card small { color: var(--v4-muted) !important; }
.model-command-card strong { color: var(--v4-ink-strong) !important; }

.model-tabs {
  padding: 10px 14px !important;
  background: var(--v4-wash) !important;
  border-radius: 0 !important;
}

.model-tabs button {
  min-height: 34px !important;
  padding: 0 12px !important;
  color: var(--v4-muted) !important;
  background: var(--v4-paper) !important;
  border: 1px solid var(--v4-line-dark) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.model-tabs button.active {
  color: #fff !important;
  background: var(--v4-navy) !important;
  border-color: var(--v4-navy) !important;
}

.model-panel {
  background: var(--v4-paper) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

input,
select,
textarea {
  color: var(--v4-ink) !important;
  background: var(--v4-paper) !important;
  border: 1px solid var(--v4-line-dark) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}

button {
  border-radius: 2px !important;
  box-shadow: none !important;
}

.report-meta,
.report-footer {
  width: min(calc(100% - 64px), var(--v4-shell)) !important;
  max-width: var(--v4-shell) !important;
  margin: 0 auto !important;
  padding: 32px 48px !important;
  background: var(--v4-paper) !important;
  border-inline: 1px solid var(--v4-line) !important;
  box-shadow: none !important;
}

/* Decision-first visual layer */
.management-pulse {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  margin: 38px 0 0 !important;
  border: 1px solid var(--v4-line) !important;
  background: var(--v4-paper) !important;
}

.management-pulse article {
  position: relative !important;
  min-height: 126px !important;
  padding: 18px 16px 16px !important;
  border-right: 1px solid var(--v4-line) !important;
}

.management-pulse article:last-child { border-right: 0 !important; }
.management-pulse article::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 3px !important;
  background: var(--v4-navy) !important;
}
.management-pulse .pulse-positive::before { background: var(--v4-green) !important; }
.management-pulse .pulse-caution::before { background: #ad7a20 !important; }
.management-pulse .pulse-negative::before { background: var(--v4-red) !important; }
.management-pulse .pulse-progress::before { background: #477497 !important; }
.management-pulse span,
.management-pulse small {
  display: block !important;
  color: var(--v4-muted) !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
}
.management-pulse strong {
  display: block !important;
  margin: 10px 0 8px !important;
  color: var(--v4-ink-strong) !important;
  font-size: 22px !important;
  line-height: 1.1 !important;
  font-variant-numeric: tabular-nums !important;
}
.management-pulse .pulse-negative strong { color: var(--v4-red) !important; }

.revenue-scenarios {
  padding: 22px 24px !important;
  background: var(--v4-wash) !important;
  border: 1px solid var(--v4-line) !important;
}
.scenario-axis {
  display: flex !important;
  justify-content: space-between !important;
  margin: 0 190px 8px 104px !important;
  color: var(--v4-muted) !important;
  font-size: 9px !important;
}
.revenue-scenarios article {
  display: grid !important;
  grid-template-columns: 88px minmax(180px, 1fr) 110px 170px !important;
  gap: 16px !important;
  align-items: center !important;
  min-height: 46px !important;
  border-top: 1px solid var(--v4-line) !important;
}
.revenue-scenarios article:first-of-type { border-top: 0 !important; }
.revenue-scenarios article > strong { color: var(--v4-ink-strong) !important; font-size: 12px !important; }
.revenue-scenarios article > b { color: var(--v4-ink-strong) !important; font-size: 13px !important; font-variant-numeric: tabular-nums !important; }
.revenue-scenarios article > small { color: var(--v4-muted) !important; font-size: 10px !important; }
.scenario-bar {
  height: 12px !important;
  background: #dfe5ea !important;
  overflow: hidden !important;
}
.scenario-bar i {
  display: block !important;
  width: var(--bar) !important;
  height: 100% !important;
  background: #7c8e9e !important;
}
.revenue-scenarios .is-down .scenario-bar i { background: var(--v4-red) !important; }
.revenue-scenarios .is-base .scenario-bar i { background: var(--v4-navy) !important; }
.revenue-scenarios .is-up .scenario-bar i { background: var(--v4-green) !important; }
.revenue-scenarios .is-target .scenario-bar i { background: #9da9b3 !important; }
.revenue-scenarios .is-base { background: rgba(18,41,63,.045) !important; }

.operating-signals {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 0 0 18px !important;
  border: 1px solid var(--v4-line) !important;
}
.operating-signals article {
  min-height: 174px !important;
  padding: 20px !important;
  border-right: 1px solid var(--v4-line) !important;
}
.operating-signals article:last-child { border-right: 0 !important; }
.operating-signals span,
.operating-signals small { display: block !important; }
.operating-signals span { margin-top: 13px !important; color: var(--v4-ink-strong) !important; font-size: 12px !important; font-weight: 700 !important; }
.operating-signals small { margin-top: 5px !important; color: var(--v4-muted) !important; font-size: 10px !important; }
.signal-donut > div {
  display: grid !important;
  width: 76px !important;
  height: 76px !important;
  place-items: center !important;
  background: conic-gradient(var(--v4-red) calc(var(--signal) * 1%), #e1e6ea 0) !important;
  border-radius: 50% !important;
}
.signal-donut.is-positive > div { background: conic-gradient(var(--v4-green) calc(var(--signal) * 1%), #e1e6ea 0) !important; }
.signal-donut > div::before {
  content: "" !important;
  grid-area: 1 / 1 !important;
  width: 56px !important;
  height: 56px !important;
  background: var(--v4-paper) !important;
  border-radius: 50% !important;
}
.signal-donut strong {
  z-index: 1 !important;
  grid-area: 1 / 1 !important;
  color: var(--v4-ink-strong) !important;
  font-size: 16px !important;
}
.signal-gauge > strong,
.signal-duration > strong {
  display: block !important;
  margin: 20px 0 17px !important;
  color: var(--v4-ink-strong) !important;
  font-size: 24px !important;
  font-variant-numeric: tabular-nums !important;
}
.signal-gauge > i {
  display: block !important;
  height: 8px !important;
  background: #e1e6ea !important;
}
.signal-gauge > i b { display: block !important; height: 100% !important; background: #477497 !important; }
.signal-duration > div { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 4px !important; }
.signal-duration > div i { height: 8px !important; background: #dbe2e7 !important; }
.signal-duration > div i:nth-child(-n+3) { background: #477497 !important; }

.report-meta {
  border-bottom: 1px solid var(--v4-line) !important;
}

.report-footer {
  color: var(--v4-muted) !important;
  border-bottom: 1px solid var(--v4-line) !important;
}

.report-footer .shell {
  width: 100% !important;
}

.source-heading {
  display: flex !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--v4-navy) !important;
}

.source-heading strong { color: var(--v4-ink-strong) !important; }
.source-heading span { color: var(--v4-muted) !important; font-size: 11px !important; }

/* Compact operating-report rhythm */
.report-section:not(.hero),
#data.shell {
  padding-block: 52px !important;
}

.visual-panel,
.customer-proof,
.financial-quality,
.risk-priority,
.post-close-plan {
  margin-top: 24px !important;
}

.valuation-ladder { margin-bottom: 24px !important; }
.decision-gates { margin-top: 30px !important; padding-top: 24px !important; }

#data.shell {
  padding: 20px 32px 28px !important;
}

.model-cover-main {
  padding: 18px 22px !important;
}
.model-cover-main h3 {
  margin: 4px 0 5px !important;
  font-size: 22px !important;
}
.model-cover-main p { font-size: 11px !important; }
.model-meta-cell { padding: 11px 14px !important; }

.enh-model-state {
  min-height: 0 !important;
  padding: 7px 14px !important;
}
.enh-state-copy { min-height: 0 !important; }
.enh-state-copy small { margin-top: 0 !important; }
.enh-state-actions { height: auto !important; min-height: 0 !important; }
.enh-plan-manager { height: auto !important; }
.enh-plan-manager summary,
.enh-state-actions > button {
  min-height: 32px !important;
  height: 32px !important;
  padding: 4px 10px !important;
}

.model-toolbar {
  padding: 6px 10px !important;
}
.enh-model-groups {
  height: 36px !important;
  padding: 0 !important;
}
.enh-model-groups button {
  min-height: 34px !important;
  padding: 4px 14px !important;
}
.model-tabs {
  padding: 5px 8px !important;
}
.model-tabs button {
  min-height: 30px !important;
  height: 30px !important;
  padding-inline: 10px !important;
}

.model-dash {
  padding: 11px 14px !important;
}
.model-dash strong { margin-block: 3px !important; }
.model-sheet { padding: 10px 14px !important; }
.model-block { margin-bottom: 14px !important; }
.model-block-title { padding-block: 7px !important; }
.model-note,
.model-footnote,
.model-quality { padding: 10px 14px !important; }
.ib-table th,
.ib-table td,
.sens-table th,
.sens-table td {
  padding: 8px 10px !important;
  line-height: 1.35 !important;
}

.report-meta,
.report-footer { padding-block: 24px !important; }

@media (max-width: 1120px) {
  .shell,
.toc-wrap,
main#top,
.report-meta,
.report-footer {
    width: min(calc(100% - 32px), var(--v4-shell)) !important;
  }

  .report-section,
#data.shell,
.report-meta,
.report-footer {
    padding-inline: 32px !important;
  }

  .decision-header {
    grid-template-columns: minmax(0, 7fr) minmax(280px, 5fr) !important;
    gap: 32px !important;
  }

  .valuation-ladder {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .valuation-ladder article:nth-child(3) { border-right: 0 !important; }
  .valuation-ladder article:nth-child(-n+3) { border-bottom: 1px solid var(--v4-line) !important; }

  .gate-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .gate-list li {
    min-height: 156px !important;
    border-bottom: 1px solid var(--v4-line) !important;
  }

  .gate-list li:nth-child(even) { border-right: 0 !important; }
  .gate-list li:nth-last-child(-n+2) { border-bottom: 0 !important; }

  .management-pulse {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .management-pulse article:nth-child(3n) { border-right: 0 !important; }
  .management-pulse article:nth-child(-n+3) { border-bottom: 1px solid var(--v4-line) !important; }

  .revenue-scenarios article {
    grid-template-columns: 76px minmax(160px, 1fr) 100px 140px !important;
  }
  .scenario-axis { margin-right: 160px !important; margin-left: 92px !important; }
}

@media (max-width: 760px) {
  :root {
    --v4-topbar: 42px;
    --v4-toc: 42px;
  }

  main#top {
    padding-top: 46px !important;
  }

  html {
    scroll-padding-top: 96px !important;
  }

  body {
    font-size: 13px !important;
  }

  .shell,
main#top,
.report-meta,
.report-footer {
    width: 100% !important;
    border-inline: 0 !important;
  }

  .topbar .nav {
    width: calc(100% - 32px) !important;
  }

  .brand {
    font-size: 12px !important;
  }

  .report-section,
#data.shell,
.report-meta,
.report-footer {
    padding: 38px 16px !important;
    scroll-margin-top: 94px !important;
  }

  .hero.report-section {
    padding-top: 34px !important;
  }

  .decision-header {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    margin-bottom: 24px !important;
  }

  .decision-header__copy h1 {
    font-size: 34px !important;
    line-height: 1.16 !important;
  }

  .decision-header__result {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .decision-metric {
    padding: 16px !important;
    border-bottom: 0 !important;
    border-right: 1px solid var(--v4-line) !important;
  }

  .decision-metric:last-child { border-right: 0 !important; }
  .decision-metric strong { font-size: 21px !important; }

  .toc-wrap,
.toc-wrap.is-fixed {
    width: 100% !important;
    left: 0 !important;
    transform: none !important;
  }

  .toc {
    display: flex !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain;
  }

  .toc a {
    flex: 0 0 auto !important;
    min-width: 108px !important;
    padding: 0 14px !important;
  }

  .section-head,
.report-section > .section-head,
.section-head--compact {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    margin-bottom: 24px !important;
    padding-bottom: 14px !important;
  }

  .section-head > .kicker,
.section-head--compact > .kicker {
    margin: 0 !important;
  }

  .section-head h2,
.section-head--compact h2 {
    font-size: 26px !important;
  }

  .scenario-list,
.evidence-list,
.tool-links,
.source-groups,
.valuation-ladder,
.post-close-plan .timeline {
    grid-template-columns: 1fr !important;
  }

  .scenario-list article,
.evidence-list article,
.tool-link,
.source-groups > div,
.valuation-ladder article,
.post-close-plan .timeline li {
    border-right: 0 !important;
    border-bottom: 1px solid var(--v4-line) !important;
  }

  .scenario-list article:last-child,
.evidence-list article:last-child,
.tool-link:last-child,
.source-groups > div:last-child,
.valuation-ladder article:last-child,
.post-close-plan .timeline li:last-child {
    border-bottom: 0 !important;
  }

  .gate-list {
    grid-template-columns: 1fr !important;
  }

  .gate-list li,
.gate-list li:nth-child(even),
.gate-list li:nth-last-child(-n+2) {
    min-height: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--v4-line) !important;
  }

  .gate-list li:last-child { border-bottom: 0 !important; }

  .management-pulse {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-top: 26px !important;
  }
  .management-pulse article,
.management-pulse article:nth-child(3n) {
    min-height: 112px !important;
    border-right: 1px solid var(--v4-line) !important;
    border-bottom: 1px solid var(--v4-line) !important;
  }
  .management-pulse article:nth-child(even) { border-right: 0 !important; }
  .management-pulse article:nth-last-child(-n+2) { border-bottom: 0 !important; }
  .management-pulse strong { font-size: 19px !important; }

  .revenue-scenarios { padding: 14px 12px !important; }
  .scenario-axis { display: none !important; }
  .revenue-scenarios article {
    grid-template-columns: 66px minmax(80px, 1fr) 76px !important;
    gap: 9px !important;
    min-height: 52px !important;
  }
  .revenue-scenarios article > small {
    grid-column: 2 / -1 !important;
    margin-top: -9px !important;
  }

  .operating-signals {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .operating-signals article:nth-child(even) { border-right: 0 !important; }
  .operating-signals article:nth-child(-n+2) { border-bottom: 1px solid var(--v4-line) !important; }

  .deal-snapshot,
.financial-snapshot,
.model-cover {
    grid-template-columns: 1fr !important;
  }

  .deal-snapshot-main {
    grid-template-columns: 1fr !important;
  }

  .deal-snapshot-main > div,
.deal-snapshot-main > div:nth-child(even),
.deal-snapshot-main > div:nth-last-child(-n+2) {
    border-right: 0 !important;
    border-bottom: 1px solid var(--v4-line) !important;
  }

  .deal-snapshot-main > div:last-child { border-bottom: 0 !important; }
  .deal-snapshot-notes { border-left: 0 !important; border-top: 1px solid var(--v4-line-dark) !important; }

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

  .table-wrap::before {
    display: none !important;
    content: none !important;
  }

  table {
    min-width: 720px !important;
    font-size: 11px !important;
  }

  .model-cover-meta {
    border-left: 0 !important;
    border-top: 1px solid rgba(255,255,255,.2) !important;
  }

  .model-tabs {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }

  .model-tabs button {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .source-heading {
    display: block !important;
  }

  .source-heading span {
    display: block !important;
    margin-top: 6px !important;
  }
}

@media print {

  .timeline li::before,
.timeline-row::before {
    display: none !important;
    content: none !important;
  }

  @page {
    size: A4;
    margin: 12mm 10mm 14mm;
  }

  html,
body {
    background: #fff !important;
  }

  .topbar,
.toc-wrap,
.toc-spacer,
.skip-link,
.toc-edge {
    display: none !important;
  }

  main#top,
.report-meta,
.report-footer {
    width: 100% !important;
    border: 0 !important;
  }

  .report-section,
#data.shell,
.report-meta,
.report-footer {
    padding: 10mm 0 !important;
    break-inside: auto !important;
  }

  .decision-header__copy h1 {
    font-size: 28pt !important;
  }

  .section-head h2,
.section-head--compact h2 {
    font-size: 19pt !important;
  }

  .model-cover {
    color: var(--v4-ink) !important;
    background: #fff !important;
    border-top: 3px solid var(--v4-navy) !important;
  }

  .model-cover-main,
.model-cover-meta,
.model-meta-cell {
    color: var(--v4-ink) !important;
    background: #fff !important;
    border-color: var(--v4-line) !important;
  }

  .model-cover-main h3,
.model-cover-main span,
.model-cover-main p,
.model-meta-cell span,
.model-meta-cell strong {
    color: var(--v4-ink) !important;
  }

  thead {
    display: table-header-group !important;
  }

  tr,
.visual-panel,
.financial-quality,
.risk-priority,
.post-close-plan,
.scenario-list article {
    break-inside: avoid !important;
  }

  details > * {
    display: block !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
*::before,
*::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

@media screen and (max-width: 760px) {
  .report-section:not(.hero) {
    padding-block: 34px !important;
  }

  #data.shell {
    padding: 16px !important;
  }

  .visual-panel,
.customer-proof,
.financial-quality,
.risk-priority,
.post-close-plan {
    margin-top: 20px !important;
  }
}

@media screen {
  .report-section:not(.hero) {
    padding: 40px 40px !important;
  }

  .hero.report-section {
    padding: 42px 40px !important;
  }

  .decision-header {
    gap: 36px !important;
    margin-bottom: 28px !important;
  }

  .decision-header h1 {
    margin-block: 9px 14px !important;
    line-height: 1.16 !important;
  }

  .management-pulse {
    margin-top: 26px !important;
  }

  .management-pulse article {
    min-height: 106px !important;
    padding: 14px !important;
  }

  .management-pulse strong { margin-block: 7px 5px !important; }

  .valuation-ladder article,
.scenario-list article,
.evidence-list article,
.source-groups > div {
    padding: 16px 18px !important;
  }

  .scenario-list article > span,
.valuation-ladder article > span {
    margin-bottom: 6px !important;
  }

  .scenario-list h4,
.evidence-list h4 {
    margin-bottom: 6px !important;
  }

  .decision-gates {
    margin-top: 24px !important;
    padding-top: 20px !important;
  }

  .decision-gates .section-head--compact {
    margin-bottom: 14px !important;
    padding-bottom: 11px !important;
  }

  .gate-list li {
    min-height: 150px !important;
    padding: 15px 16px !important;
  }

  .gate-list li::before { margin-bottom: 17px !important; }

  .section-head,
.report-section > .section-head,
.section-head--compact {
    gap: 24px !important;
    margin-bottom: 24px !important;
    padding-bottom: 14px !important;
  }

  .section-head p {
    margin-top: 7px !important;
    line-height: 1.55 !important;
  }

  .visual-panel,
.customer-proof,
.financial-quality,
.risk-priority,
.post-close-plan {
    margin-top: 18px !important;
  }

  .visual-panel > h3,
.financial-quality > h3,
.risk-priority > h3,
.post-close-plan > h3 {
    gap: 8px !important;
    margin-bottom: 11px !important;
    padding-bottom: 8px !important;
  }

  .deal-snapshot-main > div { padding: 13px 16px !important; }
  .deal-snapshot-notes { padding: 12px 17px !important; }
  .deal-snapshot-notes p { padding-block: 6px !important; }

  .valuation-ladder { margin-bottom: 18px !important; }
  .valuation-ladder article { padding: 14px !important; }
  .valuation-ladder strong { font-size: 18px !important; }

  .revenue-scenarios { padding: 16px 20px !important; }
  .revenue-scenarios article { min-height: 40px !important; }

  .operating-signals article {
    min-height: 150px !important;
    padding: 15px !important;
  }

  .signal-gauge > strong,
.signal-duration > strong { margin-block: 14px 12px !important; }

  .financial-snapshot { gap: 14px !important; }
  .finance-callout { padding: 16px !important; }

  .risk-list li {
    gap: 11px !important;
    padding: 11px 15px !important;
  }

  details.compact-details,
.data-appendix,
.version-details {
    margin-top: 18px !important;
  }

  details.compact-details > summary,
.data-appendix > summary,
.version-details > summary {
    min-height: 40px !important;
    padding-inline: 14px !important;
  }

  .detail-body { padding: 15px !important; }

  .post-close-plan .timeline li { padding: 15px 17px !important; }
  .tool-link { padding: 17px 19px !important; }
  .tool-link b { margin-top: 8px !important; }

  #data.shell {
    padding: 14px 26px 20px !important;
  }

  .model-cover-main { padding: 15px 19px !important; }
  .model-meta-cell { padding: 9px 12px !important; }
  .enh-model-state { padding: 5px 12px !important; }
  .model-dash { padding: 9px 12px !important; }
  .model-sheet { padding: 8px 12px !important; }
  .model-block { margin-bottom: 10px !important; }

  .report-meta,
.report-footer { padding: 18px 40px !important; }
}

@media screen and (max-width: 760px) {
  .report-section:not(.hero),
.hero.report-section {
    padding: 28px 16px !important;
  }

  .decision-header { margin-bottom: 20px !important; }
  .management-pulse { margin-top: 20px !important; }

  .section-head,
.report-section > .section-head,
.section-head--compact {
    margin-bottom: 18px !important;
    padding-bottom: 11px !important;
  }

  .gate-list li { min-height: 0 !important; padding: 13px 15px !important; }
  .gate-list li::before { margin-bottom: 11px !important; }

  #data.shell { padding: 12px !important; }
  .report-meta,
.report-footer { padding: 16px !important; }
}

/* Viewport-responsive composition */
@media screen and (min-width: 1600px) {
  :root { --v4-shell: 1440px; }

  .report-section:not(.hero) { padding-inline: 52px !important; }
  .hero.report-section { padding-inline: 52px !important; }
  .decision-header { grid-template-columns: minmax(0, 9fr) minmax(340px, 3fr) !important; }
  .decision-header__copy h1 { font-size: 52px !important; }
}

@media screen and (min-width: 1121px) and (max-width: 1599px) {
  .shell,
main#top,
.toc-wrap,
.report-meta,
.report-footer { width: min(calc(100% - 48px), var(--v4-shell)) !important; }
}

@media screen and (min-width: 761px) and (max-width: 1024px) {
  :root { --v4-topbar: 46px; --v4-toc: 46px; }

  html { scroll-padding-top: 108px !important; }

  .shell,
main#top,
.toc-wrap,
.report-meta,
.report-footer { width: calc(100% - 24px) !important; }

  .report-section:not(.hero),
.hero.report-section { padding: 34px 28px !important; }

  .topbar .nav { width: calc(100% - 48px) !important; }

  .decision-header {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .decision-header__copy h1 {
    max-width: 820px !important;
    font-size: 40px !important;
  }

  .decision-header__result { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .decision-metric { border-right: 1px solid var(--v4-line) !important; border-bottom: 0 !important; }
  .decision-metric:last-child { border-right: 0 !important; }

  .toc { display: flex !important; overflow-x: auto !important; overscroll-behavior-x: contain; }
  .toc a { flex: 0 0 auto !important; min-width: 118px !important; padding-inline: 14px !important; }

  .section-head,
.report-section > .section-head,
.section-head--compact { grid-template-columns: 150px minmax(0, 1fr) !important; gap: 20px !important; }

  .management-pulse { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .scenario-list,
.source-groups { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  .scenario-list article:nth-child(2n) { border-right: 0 !important; }

  .financial-snapshot,
.valuation-layout,
.tool-links { grid-template-columns: 1fr !important; }

  .operating-signals { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  .revenue-scenarios article { grid-template-columns: 72px minmax(120px, 1fr) 90px 120px !important; }
  .scenario-axis { margin-left: 88px !important; margin-right: 140px !important; }

  .table-wrap { max-width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  #data.shell { padding-inline: 18px !important; }
  .model-sheet { padding-inline: 10px !important; }
  .assumption-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media screen and (max-width: 480px) {
  .report-section:not(.hero),
.hero.report-section { padding-inline: 14px !important; }

  .decision-header__copy h1 { font-size: 30px !important; }
  .section-head h2,
.section-head--compact h2 { font-size: 23px !important; }

  .management-pulse article { min-height: 104px !important; padding: 12px !important; }
  .management-pulse strong { font-size: 18px !important; }

  .operating-signals { grid-template-columns: 1fr !important; }

  .operating-signals article { border-right: 0 !important; border-bottom: 1px solid var(--v4-line) !important; }

  .operating-signals article:last-child { border-bottom: 0 !important; }

  #data.shell { padding-inline: 8px !important; }
  .model-cover-main,
.model-block,
.model-sheet { padding-inline: 10px !important; }
}

/* Unified typography and semantic color system */
:root {
  --v4-font: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  --v4-type-display: 52px;
  --v4-type-section: 28px;
  --v4-type-panel: 18px;
  --v4-type-title: 14px;
  --v4-type-body: 14px;
  --v4-type-small: 12px;
  --v4-type-label: 11px;
  --v4-positive: #2d6a4f;
  --v4-caution: #8a5a14;
  --v4-negative: #9f2f2f;
  --v4-progress: #477497;
}

html,
body,
button,
input,
select,
textarea,
table {
  font-family: var(--v4-font) !important;
  letter-spacing: 0 !important;
}

body {
  color: var(--v4-ink) !important;
  font-size: var(--v4-type-body) !important;
  line-height: 1.62 !important;
}

.decision-header__copy h1 {
  color: var(--v4-ink-strong) !important;
  font-size: var(--v4-type-display) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
}

.section-head h2,
.section-head--compact h2 {
  color: var(--v4-ink-strong) !important;
  font-size: var(--v4-type-section) !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
}

.visual-panel > h3,
.financial-quality > h3,
.risk-priority > h3,
.post-close-plan > h3,
.model-block-title h4,
.source-heading h3 {
  color: var(--v4-ink-strong) !important;
  font-size: var(--v4-type-panel) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.scenario-list h4,
.evidence-list h4,
.risk-list strong,
.post-close-plan h4,
.assumption-section-title h5 {
  color: var(--v4-ink-strong) !important;
  font-size: var(--v4-type-title) !important;
  font-weight: 700 !important;
  line-height: 1.42 !important;
}

.section-head p,
.scenario-list p,
.evidence-list p,
.finance-callout p,
.model-note,
.model-quality p,
.detail-body {
  color: var(--v4-muted) !important;
  font-size: var(--v4-type-body) !important;
  line-height: 1.62 !important;
}

.risk-list p,
.tool-link p,
.valuation-ladder p,
.chart-footnote,
.assumption-memo,
.model-footnote,
.deal-snapshot-notes p {
  color: var(--v4-muted) !important;
  font-size: var(--v4-type-small) !important;
  line-height: 1.58 !important;
}

.kicker,
.tag,
.decision-header__copy .kicker,
.section-head > .kicker,
.section-head--compact .kicker,
.decision-metric span,
.management-pulse span,
.deal-snapshot-main span,
.valuation-ladder span,
.finance-callout span,
.tool-link span,
.model-meta-cell span,
.model-command-card span,
.entry-summary-card span {
  font-size: var(--v4-type-label) !important;
  line-height: 1.35 !important;
}

.kicker,
.tag,
.decision-header__copy .kicker,
.section-head > .kicker,
.section-head--compact .kicker {
  color: var(--v4-negative) !important;
  font-weight: 700 !important;
}

.decision-metric span,
.management-pulse span,
.deal-snapshot-main span,
.valuation-ladder span,
.finance-callout span,
.model-command-card span,
.entry-summary-card span {
  color: var(--v4-muted) !important;
}

table,
.ib-table,
.sens-table,
.entry-calc-table {
  color: var(--v4-ink) !important;
  font-size: var(--v4-type-small) !important;
  line-height: 1.45 !important;
}

th {
  color: var(--v4-muted) !important;
  font-size: var(--v4-type-label) !important;
  font-weight: 700 !important;
}

input,
select,
button,
.model-tabs button {
  color: var(--v4-ink) !important;
  font-size: var(--v4-type-small) !important;
}

.decision-metric strong,
.management-pulse strong,
.deal-snapshot-main strong,
.valuation-ladder strong,
.entry-summary-card strong {
  font-family: var(--v4-font) !important;
  color: var(--v4-ink-strong) !important;
  font-variant-numeric: tabular-nums !important;
  font-weight: 700 !important;
}

.pulse-positive strong { color: var(--v4-positive) !important; }

.pulse-negative strong,
.is-negative strong { color: var(--v4-negative) !important; }

.pulse-caution strong { color: var(--v4-caution) !important; }

.pulse-progress strong { color: var(--v4-progress) !important; }

.model-cover,
.model-cover h3,
.model-cover strong { color: #ffffff !important; }
.model-cover p,
.model-cover span { color: #cfd8e0 !important; }

@media screen and (min-width: 761px) and (max-width: 1024px) {
  :root { --v4-type-display: 40px; --v4-type-section: 26px; }
}

@media screen and (max-width: 760px) {
  :root {
    --v4-type-display: 34px;
    --v4-type-section: 24px;
    --v4-type-panel: 17px;
    --v4-type-body: 13px;
    --v4-type-small: 12px;
    --v4-type-label: 11px;
  }
}

@media screen and (max-width: 480px) {
  :root { --v4-type-display: 30px; --v4-type-section: 23px; }
}

/* Keep late-injected model styles on the same scale. */
html body main#top .report-section > .section-head h2,
html body main#top .section-head--compact h2 {
  font-family: var(--v4-font) !important;
  font-size: var(--v4-type-section) !important;
  line-height: 1.28 !important;
}

body table th,
body table td,
body .ib-table th,
body .ib-table td,
body .sens-table th,
body .sens-table td,
body .entry-calc-table th,
body .entry-calc-table td {
  font-family: var(--v4-font) !important;
}

body .model-cover h3,
body .model-cover-main h3 {
  font-family: var(--v4-font) !important;
  font-size: var(--v4-type-panel) !important;
  line-height: 1.35 !important;
}

body main#top { padding-top: 0 !important; }
html { scroll-behavior: auto !important; }
.brand { cursor: pointer !important; }
.brand:focus-visible {
  outline: 3px solid rgba(159, 47, 47, .24) !important;
  outline-offset: 5px !important;
}

@media print {
  body { padding-top: 0 !important; }
}

/* v6 visualization and density pass */
@media screen {
  .report-section:not(.hero),
.hero.report-section { padding-block: 28px !important; }

  .report-section > .section-head,
.section-head--compact { margin-bottom: 16px !important; padding-bottom: 10px !important; }

  .visual-panel,
.financial-quality,
.risk-priority,
.post-close-plan,
.deal-snapshot,
.valuation-ladder,
.compact-details { margin-top: 14px !important; }

  .visual-panel,
.financial-quality,
.risk-priority,
.post-close-plan { padding: 16px 18px !important; }

  .visual-panel > h3,
.financial-quality > h3,
.risk-priority > h3,
.post-close-plan > h3 { margin-bottom: 12px !important; padding-bottom: 9px !important; }

  .management-pulse article { min-height: 112px !important; padding: 14px 15px 12px !important; }
  .management-pulse strong { margin-block: 5px 4px !important; }
  .management-pulse article > i,
.valuation-ladder article > i {
    display: block;
    height: 4px;
    overflow: hidden;
    background: #e4e9ed;
  }
  .management-pulse article > i { margin: 4px 0 7px; }
  .management-pulse article > i > b,
.valuation-ladder article > i > b {
    display: block;
    width: var(--pulse, var(--valuation, 0%));
    height: 100%;
    background: var(--v4-progress);
  }
  .management-pulse .pulse-positive i > b { background: var(--v4-positive); }
  .management-pulse .pulse-caution i > b { background: var(--v4-caution); }
  .management-pulse .pulse-negative i > b { background: var(--v4-negative); }

  .gate-list { gap: 0 !important; }
  .gate-list li { min-height: 0 !important; padding: 12px 14px !important; }
  .gate-list li::before { margin-bottom: 8px !important; }

  .valuation-ladder { gap: 0 !important; border: 1px solid var(--v4-line); }
  .valuation-ladder article { min-height: 142px !important; padding: 14px !important; border: 0 !important; border-right: 1px solid var(--v4-line) !important; }
  .valuation-ladder article:last-child { border-right: 0 !important; }
  .valuation-ladder article > i { margin: 7px 0 8px; }
  .valuation-ladder article > i > b { background: #8093a2; }
  .valuation-ladder article.is-current { background: #f3f8f5 !important; box-shadow: inset 0 3px 0 var(--v4-positive); }
  .valuation-ladder article.is-current i > b { background: var(--v4-positive); }
  .valuation-ladder article.is-reference { background: #faf3f3 !important; box-shadow: inset 0 3px 0 var(--v4-negative); }
  .valuation-ladder article.is-reference i > b { background: var(--v4-negative); }

  .revenue-scenarios { padding: 12px 16px !important; }
  .revenue-scenarios article { min-height: 34px !important; }
  .scenario-list article,
.evidence-list article { padding: 13px 15px !important; }

  .operating-signals article { min-height: 150px !important; padding: 14px !important; }
  .financial-snapshot { gap: 14px !important; }
  .finance-callout { padding: 15px !important; }
  .risk-list li { padding: 11px 13px !important; }

  .post-close-plan .timeline li { padding: 12px 15px !important; }
  .compact-details summary { min-height: 42px !important; padding: 10px 14px !important; }
  .detail-body { padding: 14px !important; }

  #data.shell { padding-block: 18px !important; }
  .model-cover-main { padding-block: 16px !important; }
  .model-block { margin-top: 10px !important; }
  .model-block-title { padding-block: 9px !important; }
  .model-sheet { padding-block: 10px !important; }
  .assumption-cell { padding: 10px !important; }
}

@media screen and (max-width: 760px) {
  .report-section:not(.hero),
.hero.report-section { padding-block: 22px !important; }
  .visual-panel,
.financial-quality,
.risk-priority,
.post-close-plan { padding: 13px !important; }
  .valuation-ladder { grid-template-columns: 1fr !important; }
  .valuation-ladder article { min-height: 0 !important; border-right: 0 !important; border-bottom: 1px solid var(--v4-line) !important; }
  .valuation-ladder article:last-child { border-bottom: 0 !important; }
  .management-pulse article { min-height: 98px !important; }
}

/* v7 consulting-system refinements, adapted to the Hongliang light theme */
.topbar .nav { justify-content: space-between !important; gap: 16px !important; }
.report-context {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-left: auto;
  color: #6f7b84;
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
}
.report-context strong {
  padding-left: 13px;
  border-left: 1px solid #cfd7dd;
  color: var(--v4-negative);
  font-size: 10px;
}

.decision-header__copy > p.decision-status {
  position: relative;
  max-width: 820px !important;
  margin-top: 13px !important;
  padding: 12px 14px 12px 18px !important;
  border-top: 1px solid var(--v4-line) !important;
  border-left: 3px solid var(--v4-caution) !important;
  background: #faf7ef !important;
}

.order-path {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 62px minmax(0, 1fr) 62px minmax(0, 1fr) 62px minmax(0, 1fr);
  align-items: stretch;
  margin-top: 14px;
  background: transparent;
}
.order-path article {
  position: relative;
  min-width: 0;
  min-height: 126px;
  padding: 15px 16px;
  border: 1px solid var(--v4-line);
  background: #fff;
  box-shadow: inset 0 3px 0 #8998a4;
}
.order-path article.is-confirmed { background: #f2f7f4; box-shadow: inset 0 3px 0 var(--v4-positive); }
.order-path article.is-pending { box-shadow: inset 0 3px 0 var(--v4-progress); }
.order-path__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.order-step {
  color: var(--v4-red);
  font-size: 25px;
  font-weight: 800;
  line-height: 1;
}
.order-path > i {
  display: grid;
  place-items: center;
  color: var(--v4-navy);
  background: #e8edf1;
  border-block: 1px solid var(--v4-line);
  font-size: 0;
  font-style: normal;
}
.order-path > i::before {
  content: "→";
  font-size: 38px;
  font-weight: 700;
  line-height: 1;
}
.order-path strong,
.order-path small { display: block; }
.order-path strong { margin-top: 12px; color: var(--v4-ink-strong); font-size: 17px; line-height: 1.25; }
.order-path small { margin-top: 5px; color: var(--v4-muted); font-size: 11px; line-height: 1.45; }

@media screen and (max-width: 820px) {
  .order-path { grid-template-columns: 1fr; gap: 0; }
  .order-path > i {
    min-height: 48px;
    border: 0;
    border-inline: 1px solid var(--v4-line);
  }
  .order-path > i::before { content: "↓"; font-size: 34px; }
  .order-path article { min-height: 110px; }
}

@media screen and (max-width: 760px) {
  .report-context span { display: none; }
  .report-context strong { padding-left: 0; border-left: 0; }
  .decision-header__copy > p.decision-status { padding: 11px 12px 11px 14px !important; }
  .order-path { grid-template-columns: 1fr; gap: 0; }
  .order-path > i { min-height: 44px; transform: none; }
  .order-path article { min-height: 104px; }
}

@media print {
  .report-context { display: none !important; }
  .order-path { break-inside: avoid; }
}

/* P0 components: management semantics, decision summary and control registers. */
.state-tag {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  gap: 6px;
  padding: 3px 7px;
  border: 1px solid currentColor;
  border-radius: 2px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.state-tag::before {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border: 1px solid currentColor;
  content: "";
}

.state-execution.is-complete { color: var(--v4-positive); background: #f2f7f4; }
.state-execution.is-complete::before { border-radius: 50%; background: currentColor; }
.state-execution.is-in-progress { color: var(--v4-caution); background: #fff8e9; }
.state-execution.is-in-progress::before { transform: rotate(45deg); background: currentColor; }
.state-execution.is-conditional { color: var(--v4-progress); background: #f1f5f8; }
.state-execution.is-not-started { color: var(--v4-muted); background: #f4f5f6; }
.state-execution.is-delayed { color: var(--v4-negative); background: #faf1f1; }
.state-execution.is-delayed::before { background: currentColor; clip-path: polygon(50% 0, 100% 100%, 0 100%); }

.state-evidence { border-style: dashed; }
.state-evidence.is-obtained { color: #39715c; background: #f3f8f5; }
.state-evidence.is-obtained::before { background: currentColor; }
.state-evidence.is-to-supplement { color: var(--v4-caution); background: #fff9ec; }
.state-evidence.is-to-verify { color: var(--v4-progress); background: #f2f6f8; }
.state-evidence.is-verified { color: var(--v4-positive); background: #edf6f1; border-style: solid; }
.state-evidence.is-verified::before { border-radius: 50%; background: currentColor; }

.risk-level { justify-content: center; min-width: 42px; border-style: solid; }
.risk-level::before { width: 3px; height: 12px; flex-basis: 3px; border: 0; background: currentColor; }
.risk-level.is-p0 { color: var(--v4-negative); background: #faf1f1; }
.risk-level.is-p1 { color: var(--v4-caution); background: #fff8e9; }
.risk-level.is-p2 { color: var(--v4-progress); background: #f1f5f8; }

.model-state.is-default { color: var(--v4-muted); background: #f4f5f6; }
.model-state.is-modified { color: var(--v4-caution); background: #fff8e9; }
.model-state.is-saved { color: var(--v4-positive); background: #edf6f1; }
.model-state.is-error { color: var(--v4-negative); background: #faf1f1; }

.state-stack {
  display: flex;
  min-height: 24px;
  flex-wrap: wrap;
  gap: 5px;
  align-items: flex-start;
}

/* 01: compact decision summary without incomparable progress bars. */
.management-pulse article {
  min-height: 96px !important;
  padding-bottom: 13px !important;
}
.management-pulse article > i { display: none !important; }
.management-pulse strong { margin: 7px 0 6px !important; }

.period-judgment {
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  margin-top: 14px;
  border: 1px solid var(--v4-line-dark);
  border-left: 4px solid var(--v4-navy);
  background: var(--v4-paper);
}
.period-judgment__label {
  display: flex;
  align-items: center;
  padding: 13px 16px;
  color: var(--v4-ink-strong);
  background: var(--v4-wash);
  border-right: 1px solid var(--v4-line);
  font-size: 12px;
  font-weight: 700;
}
.period-judgment p {
  margin: 0;
  padding: 12px 16px;
  color: var(--v4-muted);
  font-size: 12px;
  line-height: 1.65;
}
.period-judgment p strong { color: var(--v4-ink-strong); }
.decision-gates .gate-list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.decision-gates .gate-list li { min-height: 118px !important; }
.decision-gates .gate-list li::before { margin-bottom: 9px !important; }

/* 03: one execution matrix is the source of operational status. */
.execution-matrix-wrap {
  margin-top: 10px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  outline: none;
  scrollbar-gutter: stable;
}
.execution-matrix-wrap:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(18, 41, 63, .22);
}
.execution-matrix { min-width: 980px; }
.execution-matrix caption {
  padding: 8px 10px;
  color: var(--v4-muted);
  background: var(--v4-wash);
  border: 1px solid var(--v4-line);
  border-bottom: 0;
  font-size: 10px;
  text-align: left;
}
.execution-matrix th,
.execution-matrix td { vertical-align: top !important; }
.execution-matrix tbody th {
  color: var(--v4-ink-strong) !important;
  background: #f8f9fa !important;
  font-weight: 700 !important;
  text-align: left !important;
}
.execution-matrix .is-missing {
  color: var(--v4-muted);
  background: #f6f7f8;
  font-style: normal;
}

/* 04: zero-axis bridge and action-ready control registers. */
.cash-bridge {
  margin: 0 0 18px;
  border: 1px solid var(--v4-line);
  background: var(--v4-paper);
}
.cash-bridge__scale,
.cash-bridge__row {
  display: grid;
  grid-template-columns: 170px minmax(240px, 1fr) 100px;
  gap: 14px;
  align-items: center;
}
.cash-bridge__scale {
  padding: 7px 14px 6px;
  color: var(--v4-muted);
  background: var(--v4-wash);
  border-bottom: 1px solid var(--v4-line);
  font-size: 9px;
}
.cash-bridge__scale span:first-child { grid-column: 2; text-align: left; }
.cash-bridge__scale strong { grid-column: 2; grid-row: 1; text-align: center; color: var(--v4-ink-strong); }
.cash-bridge__scale span:last-child { grid-column: 2; grid-row: 1; text-align: right; }
.cash-bridge__row {
  min-height: 46px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--v4-line);
}
.cash-bridge__row > span { color: var(--v4-muted); font-size: 11px; }
.cash-bridge__row > strong { color: var(--v4-ink-strong); font-size: 13px; text-align: right; font-variant-numeric: tabular-nums; }
.cash-bridge__row.is-negative > strong { color: var(--v4-negative); }
.cash-bridge__row.is-result { background: #fafbfb; }
.cash-bridge__plot {
  position: relative;
  height: 16px;
  background: linear-gradient(to right, #f2f4f5 0 49.75%, #9ba8b1 49.75% 50.25%, #f2f4f5 50.25% 100%);
}
.cash-bridge__plot i {
  position: absolute;
  top: 3px;
  height: 10px;
  width: calc(var(--bridge) / 2);
  background: var(--v4-positive);
}
.cash-bridge__row.is-positive .cash-bridge__plot i { left: 50%; }
.cash-bridge__row.is-negative .cash-bridge__plot i { right: 50%; background: var(--v4-negative); }
.cash-bridge > p {
  margin: 0;
  padding: 10px 14px;
  color: var(--v4-muted);
  background: var(--v4-wash);
  font-size: 10px;
  line-height: 1.5;
}

.risk-item { min-width: 0; }
.risk-meta {
  display: grid;
  grid-template-columns: minmax(130px, .8fr) minmax(90px, .55fr) minmax(260px, 1.65fr);
  gap: 0;
  margin: 9px 0 0;
  border: 1px solid var(--v4-line);
  background: #f8f9fa;
}
.risk-meta > div { min-width: 0; padding: 7px 9px; border-right: 1px solid var(--v4-line); }
.risk-meta > div:last-child { border-right: 0; }
.risk-meta dt { color: var(--v4-muted); font-size: 9px; font-weight: 700; }
.risk-meta dd { margin: 3px 0 0; color: var(--v4-ink); font-size: 10px; line-height: 1.45; }

.closing-control { overflow: hidden; }
.closing-chain { margin-top: 13px; }
.closing-chain > article {
  display: grid;
  grid-template-columns: minmax(170px, .72fr) minmax(0, 1.42fr) minmax(230px, .96fr);
  min-width: 0;
  border: 1px solid var(--v4-line-dark);
  border-left: 5px solid #8998a4;
  background: var(--v4-paper);
}
.closing-chain > article.is-complete { border-left-color: var(--v4-positive); }
.closing-chain > article.is-current {
  border-left-color: var(--v4-caution);
  background: #fffcf5;
}
.closing-chain > article.is-pending { border-left-color: var(--v4-progress); }
.closing-chain > article.is-not-started { border-left-color: #8998a4; }
.closing-chain > article.has-evidence-gap .closing-chain__gate { background: #fffaf0; }
.closing-chain__stage,
.closing-chain__core,
.closing-chain__gate { min-width: 0; }
.closing-chain__stage {
  padding: 14px 15px;
  background: #f7f8f9;
}
.closing-chain__stage > span {
  display: block;
  color: var(--v4-red);
  font-size: 29px;
  font-weight: 750;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.closing-chain__stage > strong {
  display: block;
  margin: 7px 0 10px;
  color: var(--v4-ink-strong);
  font-size: 15px;
  line-height: 1.3;
}
.closing-chain__core {
  padding: 15px 18px;
  border-left: 1px solid var(--v4-line);
}
.closing-chain__core > strong {
  display: block;
  color: var(--v4-ink-strong);
  font-size: 14px;
  line-height: 1.45;
}
.closing-chain__core > p {
  margin: 7px 0 0;
  color: var(--v4-muted);
  font-size: 11px;
  line-height: 1.6;
}
.closing-chain__gate {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-left: 1px solid var(--v4-line);
  background: var(--v4-wash);
}
.closing-chain__gate > div {
  padding: 10px 13px;
}
.closing-chain__gate > div + div { border-top: 1px solid var(--v4-line); }
.closing-chain__gate dt {
  color: var(--v4-muted);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.3;
}
.closing-chain__gate dd {
  margin: 3px 0 0;
  color: var(--v4-ink);
  font-size: 10px;
  line-height: 1.45;
}
.closing-chain > i {
  --closing-rail: #8998a4;
  position: relative;
  display: block;
  min-height: 36px;
  font-style: normal;
}
.closing-chain > i::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: var(--closing-rail);
  content: "";
  opacity: .78;
  transform: translateX(-50%);
}
.closing-chain > i::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border: 3px solid var(--v4-paper);
  border-radius: 50%;
  background: var(--closing-rail);
  box-shadow: 0 0 0 1px var(--closing-rail);
  content: "";
  transform: translate(-50%, -50%);
}
.closing-chain > i.is-complete { --closing-rail: var(--v4-positive); }
.closing-chain > i.is-complete::after {
  width: 12px;
  height: 12px;
  box-shadow: 0 0 0 1px var(--v4-positive), 0 0 0 5px var(--v4-green-soft);
}
.closing-chain > i.is-current { --closing-rail: var(--v4-caution); }
.closing-chain > i.is-current::after {
  width: 14px;
  height: 14px;
  border: 3px solid var(--v4-caution);
  border-radius: 3px;
  background: var(--v4-paper);
  box-shadow: 0 0 0 5px var(--v4-amber-soft);
  transform: translate(-50%, -50%) rotate(45deg);
}
.closing-chain > i.is-pending { --closing-rail: var(--v4-progress); }
.closing-chain > i.is-pending::after {
  background: var(--v4-paper);
  box-shadow: 0 0 0 1px var(--v4-progress);
}
.closing-chain > i.is-inactive { --closing-rail: #8998a4; }
.closing-chain > i.is-inactive::before { opacity: .46; }
.closing-chain > i.is-inactive::after {
  width: 8px;
  height: 8px;
  background: var(--v4-paper);
  box-shadow: 0 0 0 1px #8998a4;
}
.closing-chain__boundary {
  margin-top: 12px;
  padding: 10px 13px;
  color: var(--v4-muted);
  border-left: 4px solid var(--v4-red);
  background: var(--v4-wash);
  font-size: 10px;
  line-height: 1.55;
}
.closing-chain__boundary strong { color: var(--v4-ink-strong); }

.post-close-plan .timeline em {
  display: block;
  margin-top: 8px;
  padding-top: 8px;
  color: var(--v4-ink);
  border-top: 1px solid var(--v4-line);
  font-size: 10px;
  font-style: normal;
  line-height: 1.5;
}
.post-close-plan .timeline li { padding-left: 48px !important; }

/* P0 responsive: preserve readable ledgers and compact decision components. */
@media screen and (max-width: 1024px) {
  .cash-bridge__scale,
.cash-bridge__row { grid-template-columns: 140px minmax(220px, 1fr) 92px; }
  .risk-meta { grid-template-columns: 1fr 1fr; }
  .risk-meta > div:nth-child(2) { border-right: 0; }
  .risk-meta > div:last-child { grid-column: 1 / -1; border-top: 1px solid var(--v4-line); }
  .closing-chain > article { grid-template-columns: 170px minmax(0, 1fr); }
  .closing-chain__gate {
    grid-column: 1 / -1;
    grid-template: 1fr / repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--v4-line);
    border-left: 0;
  }
  .closing-chain__gate > div + div { border-top: 0; border-left: 1px solid var(--v4-line); }
}

@media screen and (max-width: 760px) {
  .decision-status .state-tag { display: flex; width: max-content; margin: 0 0 4px; }
  .management-pulse article { min-height: 91px !important; }
  .period-judgment { grid-template-columns: 1fr; }
  .period-judgment__label { padding: 9px 12px; border-right: 0; border-bottom: 1px solid var(--v4-line); }
  .period-judgment p { padding: 10px 12px; }
  .decision-gates .gate-list { grid-template-columns: 1fr !important; }
  .decision-gates .gate-list li { min-height: 0 !important; }
  .order-path article { min-height: 84px; }
  .cash-bridge__scale { display: none; }
  .cash-bridge__row {
    grid-template-columns: minmax(0, 1fr) 86px;
    gap: 6px 10px;
    padding: 9px 11px;
  }
  .cash-bridge__plot { grid-column: 1 / -1; grid-row: 2; }
  .cash-bridge__row > strong { grid-column: 2; grid-row: 1; }
  .cash-bridge > p { padding: 9px 11px; }
  .risk-list li { grid-template-columns: 42px minmax(0, 1fr) !important; gap: 9px !important; }
  .risk-meta { grid-template-columns: 1fr; }
  .risk-meta > div,
.risk-meta > div:nth-child(2),
  .risk-meta > div:last-child { grid-column: auto; border-right: 0; border-top: 1px solid var(--v4-line); }
  .risk-meta > div:first-child { border-top: 0; }
  .closing-chain > article { grid-template-columns: 1fr; }
  .closing-chain__stage { padding: 12px 13px; }
  .closing-chain__stage > span { font-size: 26px; }
  .closing-chain__core { padding: 12px 13px; border-top: 1px solid var(--v4-line); border-left: 0; }
  .closing-chain__gate { grid-template: none / 1fr; }
  .closing-chain__gate > div + div { border-top: 1px solid var(--v4-line); border-left: 0; }
  .closing-chain > i { min-height: 32px; }
}

/* P0 print: keep status meaning and avoid splitting management controls. */
@media print {
  .state-tag { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .execution-matrix-wrap { overflow: visible !important; }
  .cash-bridge,
.risk-list li,
.post-close-plan .timeline li,
.closing-chain > article { break-inside: avoid; }
  .closing-chain > i { min-height: 25px; }
  .closing-chain > i::after {
    box-shadow: 0 0 0 1px var(--closing-rail) !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}

/* P1 components: model management entry, evidence register and same-DOM printing. */
.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;
}

.model-read-chain {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: stretch;
  border: 1px solid var(--v4-line-dark);
  border-top: 0;
  background: var(--v4-paper);
}
.model-read-chain > span {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--v4-navy);
  font-size: 10px;
  font-weight: 700;
}
.model-read-chain ol {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
.model-read-chain li { position: relative; min-width: 0; }
.model-read-chain li:not(:last-child)::after {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: -3px;
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--v4-line-dark);
  border-right: 1px solid var(--v4-line-dark);
  background: var(--v4-paper);
  content: "";
  transform: translateY(-50%) rotate(45deg);
}
.model-read-chain button {
  width: 100%;
  min-height: 42px;
  padding: 7px 9px;
  border: 0;
  border-right: 1px solid var(--v4-line);
  background: transparent;
  color: var(--v4-ink);
  font: inherit;
  font-size: 10px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}
.model-read-chain li:last-child button { border-right: 0; }
.model-read-chain button:hover,
.model-read-chain button:focus-visible { background: var(--v4-wash); }
.model-read-chain button:focus-visible { outline: 2px solid var(--v4-navy); outline-offset: -2px; }
.model-read-chain b { display: block; margin-bottom: 1px; color: var(--v4-progress); font-size: 8px; }

.model-update-summary {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid var(--v4-line);
  border-top: 0;
  background: #fbfaf7;
}
.model-update-summary div span,
.model-update-summary div strong { display: block; }
.model-update-summary div span { color: var(--v4-muted); font-size: 9px; font-weight: 700; }
.model-update-summary div strong { margin-top: 2px; color: var(--v4-caution); font-size: 12px; }
.model-update-summary p { margin: 0; color: var(--v4-ink); font-size: 10px; line-height: 1.5; }
.model-update-summary > small { color: var(--v4-muted); font-size: 9px; white-space: nowrap; }

.model-input-register {
  margin: 10px 0 0 !important;
  padding: 0 !important;
  border: 1px solid var(--v4-line) !important;
  background: var(--v4-paper) !important;
}
.model-input-register > summary {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 12px;
  color: var(--v4-ink-strong);
  background: var(--v4-wash);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}
.model-input-register > summary small { color: var(--v4-muted); font-size: 9px; font-weight: 600; }
.model-input-register__body { padding: 10px 12px 12px; }
.model-input-register__body > p { margin: 0 0 8px; color: var(--v4-muted); font-size: 10px; line-height: 1.5; }
.model-input-register__wrap { max-height: 440px; overflow: auto !important; }
#modelInputRegisterTable { min-width: 900px; }
#modelInputRegisterTable th:first-child { width: 210px; }
#modelInputRegisterTable th small { display: block; margin-top: 2px; color: var(--v4-caution); font-size: 8px; }
#modelInputRegisterTable tr.is-modified { background: #fff9ec; }
#modelInputRegisterTable td:nth-child(2) { font-weight: 700; font-variant-numeric: tabular-nums; }

.table-scroll-hint {
  display: none;
  margin: 5px 0 3px;
  color: var(--v4-muted);
  font-size: 9px;
  text-align: right;
}
.model-table-wrap.is-scrollable,
#appendix .table-wrap.is-scrollable { outline: none; scrollbar-gutter: stable; }
.model-table-wrap.is-scrollable:focus-visible,
#appendix .table-wrap.is-scrollable:focus-visible { box-shadow: inset 0 0 0 2px rgba(16, 42, 67, .22); }

.appendix-register {
  margin-bottom: 14px;
  border: 1px solid var(--v4-line-dark);
  background: var(--v4-paper);
}
.appendix-register__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 14px;
  border-bottom: 2px solid var(--v4-navy);
}
.appendix-register__head span { color: var(--v4-red); font-size: 9px; font-weight: 700; }
.appendix-register__head h3 { margin: 2px 0 0; color: var(--v4-ink-strong); font-size: 15px; }
.appendix-register__head p { max-width: 440px; margin: 0; color: var(--v4-muted); font-size: 10px; text-align: right; }
.appendix-index-wrap { margin: 0 !important; border: 0 !important; }
.appendix-index-table { min-width: 920px; }
.appendix-index-table th:first-child { width: 290px; }
.appendix-index-table th[scope="row"] { color: var(--v4-ink-strong); background: #fafbfb; text-align: left; }
.appendix-update-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--v4-line); }
.appendix-update-grid article { padding: 11px 14px; }
.appendix-update-grid article + article { border-left: 1px solid var(--v4-line); }
.appendix-update-grid span { color: var(--v4-positive); font-size: 10px; font-weight: 700; }
.appendix-update-grid .is-missing span { color: var(--v4-caution); }
.appendix-update-grid ul { margin: 6px 0 0; padding-left: 17px; color: var(--v4-ink); font-size: 10px; line-height: 1.55; }

.gov-special-link {
  display: grid;
  grid-template-columns: minmax(170px, .7fr) minmax(240px, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid var(--v4-line-dark);
  border-left: 4px solid var(--v4-navy);
  color: var(--v4-ink);
  background: var(--v4-paper);
  text-decoration: none;
}
.gov-special-link span { color: var(--v4-muted); font-size: 10px; }
.gov-special-link strong { color: var(--v4-ink-strong); font-size: 11px; }
.gov-special-link b { color: var(--v4-navy); font-size: 14px; }

/* P2 table standards: management ledgers, model wide tables and appendix evidence. */
.execution-matrix,
#data .ib-table,
#data .sens-table,
#data .entry-calc-table,
#appendix table {
  font-variant-numeric: tabular-nums;
}

.execution-matrix thead th,
#data .model-table-wrap thead th,
#data .model-table-wrap > table > tbody:first-child > tr:first-child > th,
#appendix table thead th {
  position: sticky;
  z-index: 3;
  top: 0;
}

.execution-matrix tbody th[scope="row"],
#data .ib-table tr > :first-child,
#data .sens-table tr > :first-child,
#data .entry-calc-table tr > :first-child,
#appendix table tr > :first-child {
  position: sticky;
  z-index: 2;
  left: 0;
  box-shadow: 1px 0 0 var(--v4-line);
}

.execution-matrix td:nth-child(2),
#data .ib-table tr > :not(:first-child),
#data .sens-table tr > :not(:first-child),
#data .entry-calc-table tr > :not(:first-child),
.appendix-order-wrap tr > :nth-child(3) {
  text-align: right !important;
}

.execution-matrix tbody tr:nth-child(even) > *,
#appendix table tbody tr:nth-child(even) > * {
  background: #fafbfb !important;
}

#data .ib-table .subtotal > *,
#data .entry-calc-table .total-row > *,
#appendix table .highlight-row > * {
  color: var(--v4-ink-strong) !important;
  background: #edf3f7 !important;
  border-top: 2px solid var(--v4-navy) !important;
  font-weight: 700 !important;
}

.model-table-wrap,
.execution-matrix-wrap,
#appendix .table-wrap {
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

/* P1/P2 responsive: expose horizontal-table affordances without page overflow. */
@media screen and (max-width: 1100px) {
  .model-read-chain { grid-template-columns: 64px minmax(0, 1fr); }
  .model-read-chain button { padding-inline: 7px; }
  .model-update-summary { grid-template-columns: 180px minmax(0, 1fr); }
  .model-update-summary > small { grid-column: 1 / -1; }
  body #data .enh-model-state { position: static; }
}

@media screen and (max-width: 760px) {
  .model-read-chain { display: block; }
  .model-read-chain > span { min-height: 28px; }
  .model-read-chain ol { display: flex; overflow-x: auto; }
  .model-read-chain li { flex: 0 0 116px; }
  .model-read-chain li:not(:last-child)::after { display: none; }
  .model-read-chain button { min-height: 46px; }
  .model-update-summary { grid-template-columns: 1fr; gap: 5px; padding: 9px 11px; }
  .model-update-summary > small { grid-column: auto; white-space: normal; }
  .table-scroll-hint { display: block; }
  .appendix-register__head { display: block; padding: 10px 11px; }
  .appendix-register__head p { margin-top: 5px; text-align: left; }
  .appendix-update-grid { grid-template-columns: 1fr; }
  .appendix-update-grid article + article { border-top: 1px solid var(--v4-line); border-left: 0; }
  .gov-special-link { grid-template-columns: 1fr auto; gap: 3px 10px; }
  .gov-special-link span { grid-column: 1 / -1; }
}

/* Keep transaction notes readable before the mobile breakpoint. */
@media screen and (max-width: 1120px) {
  .deal-snapshot {
    grid-template-columns: 1fr !important;
  }

  .deal-snapshot-notes {
    border-top: 1px solid var(--v4-line-dark) !important;
    border-left: 0 !important;
  }
}

@media screen and (min-width: 761px) and (max-width: 1120px) {
  .deal-snapshot-main {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .deal-snapshot-notes {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    padding: 0 !important;
  }

  .deal-snapshot-notes p {
    min-width: 0 !important;
    padding: 14px 16px !important;
    border-right: 1px solid var(--v4-line) !important;
    border-bottom: 0 !important;
  }

  .deal-snapshot-notes p:last-child {
    border-right: 0 !important;
  }
}

@media screen and (max-width: 760px) {
  .deal-snapshot-main,
  .deal-snapshot-notes {
    grid-template-columns: 1fr !important;
  }
}

/* P1/P2 print: use the same report DOM and neutralize sticky screen table behavior. */
@media print {
  #data {
    break-before: page !important;
    page-break-before: always !important;
  }

  #data > .section-head,
  #data .model-cover {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  #data .model-cover {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
    color: var(--v4-ink) !important;
    background: var(--v4-paper) !important;
  }

  #data .model-cover-main,
  #data .model-cover-meta,
  #data .model-meta-cell {
    color: var(--v4-ink) !important;
    background: var(--v4-paper) !important;
  }

  #data .model-cover-main *,
  #data .model-cover-meta * {
    color: var(--v4-ink) !important;
  }

  #data .model-cover-main {
    padding: 12pt 14pt !important;
  }

  #data .model-meta-cell {
    padding: 8pt !important;
  }

  #data .model-command,
  #data .model-dashboard {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  #data .model-command {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  #data .model-dash,
  #data .model-command-card {
    min-width: 0 !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  #data #summaryTable {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    font-size: 7pt !important;
  }

  #data #summaryTable th,
  #data #summaryTable td {
    padding: 2pt 1.5pt !important;
    font-size: 7pt !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  .execution-matrix thead th,
  .execution-matrix tbody th[scope="row"],
  #data .ib-table tr > :first-child,
  #data .sens-table tr > :first-child,
  #data .entry-calc-table tr > :first-child,
  #appendix table tr > :first-child,
  #data .model-table-wrap thead th,
  #data .model-table-wrap > table > tbody:first-child > tr:first-child > th,
  #appendix table thead th {
    position: static !important;
    box-shadow: none !important;
  }

  body[data-print-mode] .topbar,
body[data-print-mode] .toc-wrap,
body[data-print-mode] .toc-spacer,
body[data-print-mode] .tool-links,
body[data-print-mode] .model-read-chain,
body[data-print-mode] .model-toolbar,
body[data-print-mode] .table-scroll-hint,
body[data-print-mode] .model-input-register,
body[data-print-mode] input,
body[data-print-mode] select,
body[data-print-mode] button { display: none !important; }

  body[data-print-mode="summary"] main > .report-section,
body[data-print-mode="summary"] .report-meta,
body[data-print-mode="summary"] .report-footer { display: none !important; }
  body[data-print-mode="summary"] #summary,
body[data-print-mode="summary"] #execution,
body[data-print-mode="summary"] #data { display: block !important; }

  body[data-print-mode="full"] main > .report-section,
body[data-print-mode="full"] .report-meta,
body[data-print-mode="full"] .report-footer { display: block !important; }

  body[data-print-mode] #data .model-workbook,
body[data-print-mode] #data .model-cover,
body[data-print-mode] #data .model-command,
body[data-print-mode] #data .model-update-summary,
body[data-print-mode] #data .enh-model-state,
body[data-print-mode] #data .model-dashboard,
body[data-print-mode] #data .model-sheet,
body[data-print-mode] #data #model-summary { display: block !important; }
  body[data-print-mode] #data .model-cover,
body[data-print-mode] #data .model-command,
body[data-print-mode] #data .model-dashboard { display: grid !important; }
  body[data-print-mode] #data .model-panel:not(#model-summary),
body[data-print-mode] #data .data-appendix { display: none !important; }
  body[data-print-mode] #data #model-summary[hidden] { display: block !important; }
  body[data-print-mode] #data .model-table-wrap { overflow: visible !important; }
  body[data-print-mode] #data .mobile-model-cards { display: none !important; }
  body[data-print-mode] #data table { display: table !important; }
  body[data-print-mode] .model-update-summary,
body[data-print-mode] .appendix-register,
body[data-print-mode] .enh-model-state { break-inside: avoid; }

  body[data-print-mode] #appendix .data-appendix > .detail-body > .data-grid {
    grid-template-columns: 1fr !important;
  }
}

/* V8 editorial layout: preserve model bindings while consolidating reading layers. */
html body #financial > .decision-header__result { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 0 !important; margin-bottom: 20px !important; }
html body #financial > .decision-header__result .decision-metric { padding: 16px 20px !important; background: #f3f6f8 !important; color: #16202b !important; border: 1px solid #d7dee5 !important; }
html body #financial > .decision-header__result .decision-metric strong { color: #16202b !important; }
html body #summary .decision-status,
html body #summary .stop-rule,
html body #summary .period-judgment p { max-width: none !important; width: auto !important; }
@media (max-width: 640px) {
  html body #data .model-table-wrap { display: block !important; overflow-x: auto !important; max-width: 100% !important; }
  html body #data .model-dashboard { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; overflow: visible !important; }
  html body #data .model-dash { min-width: 0 !important; }
  html body #data .model-table-wrap > .mobile-model-cards { display: none !important; }
  html body #data .model-table-wrap > table { display: table !important; min-width: 980px !important; }
  html body #data .model-table-wrap > table th:first-child,
  html body #data .model-table-wrap > table td:first-child { position: sticky; left: 0; z-index: 2; background: #f3f6f8 !important; color: #16202b !important; min-width: 110px; max-width: 140px; }
  html body #data .model-table-wrap > table thead th:first-child { z-index: 3; }
}
.revenue-history { margin: 24px 0; padding: 18px 0; border-block: 1px solid #d7dee5; }
.revenue-history figcaption { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 18px; }
.revenue-history figcaption strong { font-size: 19px; }
.revenue-history figcaption span { color: #586575; font-size: 12px; }
.history-bar { display: grid; grid-template-columns: 64px minmax(0,1fr) 72px; gap: 14px; align-items: center; margin: 12px 0; font-size: 13px; }
.history-bar > div { background: #f1f4f5; height: 20px; }
.history-bar i { display: block; height: 100%; background: #537787; }
.history-bar strong { text-align: right; font-variant-numeric: tabular-nums; }
.history-bar:nth-last-of-type(1) i { background: #2d6a4f; }
html body .order-path > i { background: transparent !important; }
html body .order-path > i::before { content: "" !important; width: 100%; height: 2px; background: #8998a4; }
html body .order-path > i::after { content: ""; width: 8px; height: 8px; border: 2px solid #8998a4; border-radius: 50%; background: white; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
html body .order-path > i { position: relative; }
@media(max-width:640px) { html body .order-path > i { min-height: 24px !important; } html body .order-path > i::before { width: 2px; height: 24px; } }
html body { background: #fff !important; font-size: 15px !important; line-height: 1.65 !important; }
html body .shell { width: min(calc(100% - 64px), 1320px) !important; }
html body main#top .report-section { padding: 30px 24px !important; border: 0 !important; border-bottom: 1px solid #d7dee5 !important; box-shadow: none !important; background: #fff !important; }
html body main#top #summary { display: flex; flex-direction: column; gap: 18px; padding-top: 24px !important; }
html body #summary .decision-header { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
html body #summary .decision-header__copy { padding: 0 !important; }
html body #summary .decision-header__copy h1 { font-size: 36px !important; line-height: 1.3 !important; margin: 10px 0 16px !important; }
.report-title-sub { display: inline-block; margin-left: 18px; color: #586575; font-size: 24px; font-weight: 500; }
html body #summary .decision-header__result { display: none !important; }
html body #summary .period-judgment { order: 1; margin: 0 !important; padding: 16px 20px !important; background: #f5f7f8 !important; border: 0 !important; border-left: 3px solid #9f2f2f !important; }
html body #summary .management-pulse { order: 2; margin: 0 !important; gap: 0 !important; border-block: 1px solid #d7dee5; }
html body #summary .decision-gates { order: 3; margin: 0 !important; }
html body #summary .evidence-note { order: 4; margin: 0 !important; }
html body .management-pulse article { border: 0 !important; border-right: 1px solid #d7dee5 !important; background: #fff !important; border-radius: 0 !important; padding: 16px !important; }
html body .management-pulse article:last-child { border-right: 0 !important; }
html body .management-pulse strong { font-size: 27px !important; line-height: 1.35 !important; }
html body .management-pulse small { font-size: 12px !important; line-height: 1.5 !important; }
html body main#top .report-section > .section-head { display: block !important; margin: 0 0 24px !important; padding: 0 0 14px !important; border-bottom: 1px solid #b8c2cc !important; }
html body main#top .report-section > .section-head h2 { font-size: 25px !important; line-height: 1.45 !important; margin: 8px 0 0 !important; max-width: 950px; }
html body main#top h3 { font-size: 19px !important; line-height: 1.5 !important; }
html body main#top h4 { font-size: 16px !important; line-height: 1.5 !important; }
html body main#top .visual-panel,
html body main#top .financial-quality,
html body main#top .risk-priority { padding: 0 !important; margin: 24px 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; }
html body main#top p { font-size: 14px !important; line-height: 1.7 !important; }
html body main#top .chart-footnote,
html body main#top .model-footnote { font-size: 12px !important; line-height: 1.6 !important; color: #586575 !important; }
html body main#top th,
html body main#top td { font-size: 13px !important; line-height: 1.55 !important; padding: 10px 12px !important; }
html body main#top th { white-space: normal !important; }
html body main#top caption { font-size: 12px !important; text-align: left; }
html body main#top .risk-meta dt,
html body main#top .risk-meta dd,
html body main#top .closing-chain__gate dt,
html body main#top .closing-chain__gate dd { font-size: 12px !important; line-height: 1.55 !important; }
html body main#top .state-tag { font-size: 11px !important; line-height: 1.4 !important; }
html body main#top .compact-details { margin-block: 16px !important; border-radius: 0 !important; box-shadow: none !important; }
html body main#top .compact-details > summary { min-height: 44px; padding: 12px 14px !important; font-size: 14px !important; }
html body #data .model-read-chain { display: none !important; }
html body #data .model-cover { display: block !important; background: #f5f7f8 !important; color: #16202b !important; margin: 0 0 16px !important; border: 0 !important; box-shadow: none !important; }
html body #data .model-cover-main { display: none !important; }
html body #data .model-cover-meta { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; padding: 12px 16px !important; gap: 16px !important; }
html body #data .model-cover-meta * { color: #16202b !important; background: transparent !important; font-size: 13px !important; }
html body #data .model-command { border-block: 1px solid #d7dee5 !important; padding: 0 !important; gap: 0 !important; }
html body #data .model-command-card { background: #fff !important; border: 0 !important; border-right: 1px solid #d7dee5 !important; padding: 14px !important; border-radius: 0 !important; }
html body #data .model-command-card strong { font-size: 24px !important; }
html body #data .model-command-card small { font-size: 12px !important; line-height: 1.5 !important; }
html body #data .model-update-summary { display: block !important; padding: 10px 14px !important; margin: 12px 0 !important; background: #f5f7f8 !important; border: 0 !important; }
html body #data .model-update-summary > small { display: none; }
html body #data .model-update-summary p { margin: 4px 0 0 !important; font-size: 12px !important; }
html body #data .model-dashboard { gap: 0 !important; margin-block: 12px !important; }
html body #data .model-dash { border-radius: 0 !important; background: #fff !important; padding: 12px !important; border: 0 !important; border-right: 1px solid #d7dee5 !important; }
html body #data .model-workbook,
html body #data .model-sheet,
html body #data .model-block { box-shadow: none !important; border-radius: 0 !important; }
html body #data .model-block { border: 0 !important; padding: 12px 0 !important; }
html body #data .model-tabs button,
html body #data .enh-state-actions button,
html body #data .enh-plan-manager > summary,
html body #data .enh-model-groups button { min-height: 44px !important; font-size: 13px !important; }
html body #data .assumption-memo,
html body #data .model-note { font-size: 12px !important; line-height: 1.6 !important; }
@media (max-width: 900px) {
  html body .shell { width: calc(100% - 24px) !important; }
  html body main#top .report-section { padding: 24px 12px !important; }
  html body .management-pulse { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  html body #data .model-cover-meta { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 640px) {
  html body .shell { width: 100% !important; }
  html body main#top .report-section { padding: 24px 16px !important; }
  html body #summary .decision-header__copy h1 { font-size: 30px !important; }
  .report-title-sub { display: block; margin: 6px 0 0; font-size: 21px; }
  html body main#top .report-section > .section-head h2 { font-size: 22px !important; }
  html body main#top p { font-size: 15px !important; }
  html body .management-pulse { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body .management-pulse article { padding: 12px 10px !important; border-bottom: 1px solid #d7dee5 !important; }
  html body .management-pulse strong { font-size: 25px !important; }
  html body #data .model-command { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #data .model-command-card { padding: 12px 8px !important; }
  html body #data .model-command-card strong { font-size: 22px !important; }
  html body .closing-chain__stage strong { overflow-wrap: break-word; }
}
@media print {
  html body .shell { width: 100% !important; }
  html body main#top .report-section { padding: 12px 0 !important; }
  html body main#top p { font-size: 10pt !important; }
  html body main#top th, html body main#top td { font-size: 8pt !important; padding: 5px !important; }
  html body #data .model-cover-meta { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
  html body main#top h3 { break-after: avoid; }
}


/* Source: report-interactions.css */
/* Interactive report surfaces share the existing financial model and source tables. */
:root {
  --ui-ink: #273332; --ui-muted: #626e6c; --ui-line: #dbe1de; --ui-accent: #366662; --ui-tint: #f0f4f2;
  --palette-charcoal: #293a39; --palette-petrol: #366662; --palette-surface: #f1f4f2;
  --palette-warning: #a04748; --palette-positive: #446b5d;
  --v4-navy: #293a39; --v4-navy-2: #3d5350; --v4-red: #a04748; --v4-red-soft: #f7efef;
  --v4-green: #446b5d; --v4-green-soft: #edf3ef; --v4-amber: #876e40; --v4-amber-soft: #f6f3ec;
  --v4-line: #dbe1de; --v4-wash: #f1f4f2; --v4-page: #f5f6f5;
}
html { scroll-padding-top: 78px !important; }
html body main#top [id] { scroll-margin-top: 78px; }
html body .topbar .nav { gap: 16px; }
html body .report-context { margin-left: auto; }
html body #financial .decision-header__result { position: static !important; top: auto !important; }
.report-search-button { padding: 6px 14px; min-height: 32px; border: 1px solid var(--ui-line); background: white; color: var(--ui-ink); font: inherit; font-size: 13px; cursor: pointer; }
html body .toc-wrap { box-shadow: 0 1px 0 var(--ui-line) !important; }
html body .toc a { transition: background .15s, color .15s; }
html body .toc a:hover { background: #234655 !important; color: white !important; }
.chapter-index { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin: -8px 0 24px; padding: 0 0 14px; border-bottom: 1px solid var(--ui-line); }
.chapter-index a { color: var(--ui-muted); font-size: 13px; text-decoration: none; padding: 5px 0; border-bottom: 2px solid transparent; }
.chapter-index a:hover { color: var(--ui-accent); border-bottom-color: var(--ui-accent); }
html body .management-pulse article { padding: 0 !important; }
.metric-link { display: flex; flex-direction: column; gap: 8px; padding: 16px; height: 100%; text-decoration: none; box-sizing: border-box; transition: background .15s; }
.metric-link:hover { background: #f1f5f6; }
.metric-link > span { color: var(--ui-muted); font-size: 12px; }
html body .metric-link strong { display: block; }
.metric-link small { color: var(--ui-muted); }
.operating-chart-pair { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 32px; margin: 22px 0 30px; }
html body .operating-chart-pair figure { min-width: 0; margin: 0; padding: 18px 0; border-block: 1px solid var(--ui-line); }
.operating-chart-pair figcaption { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; align-items: start; }
.operating-chart-pair figcaption strong { font-size: 19px; line-height: 1.4; }
.operating-chart-pair figcaption span { color: var(--ui-muted); font-size: 12px; }
.chart-segments { display: flex; flex-wrap: wrap; gap: 0; align-items: center; margin: 12px 0 20px; }
.chart-segments button { min-height: 38px; padding: 8px 13px; font: inherit; font-size: 13px; color: var(--ui-muted); border: 1px solid var(--ui-line); background: white; cursor: pointer; }
.chart-segments button + button { border-left: 0; }
.chart-segments button[aria-pressed="true"] { color: #fff !important; background: #315969 !important; border-color: #315969 !important; }
.chart-segments button:hover { box-shadow: inset 0 -2px 0 var(--ui-accent); }
.comparison-plot { min-height: 144px; }
.comparison-row { display: grid; grid-template-columns: minmax(62px,1fr) minmax(80px,3fr) 78px; align-items: center; gap: 12px; min-height: 44px; font-size: 13px; }
.comparison-row > span { overflow-wrap: anywhere; color: var(--ui-muted); }
.comparison-row > strong { text-align: right; font-variant-numeric: tabular-nums; font-weight: 650; color: var(--ui-ink); }
.comparison-track { height: 16px; background: #edf1f2; position: relative; }
.comparison-track i { display: block; height: 100%; background: #537c88; transition: width .2s; }
.comparison-track i.is-negative { background: #a9524c; }
.customer-concentration .comparison-row { grid-template-columns: minmax(76px,1fr) minmax(80px,2.5fr) 66px; }
.customer-concentration .comparison-row:first-of-type .comparison-track i { background: #9f2f2f; }
.figure-source-link { display: inline-block; color: var(--ui-muted); font-size: 12px; margin-top: 14px; text-underline-offset: 3px; }
.filter-count { font-size: 12px; color: var(--ui-muted); margin-left: 14px; }
html body .risk-list > li[hidden] { display: none !important; }
html body .valuation-ladder { display: block !important; padding: 0 !important; border: 0 !important; margin: 24px 0 !important; }
html body .valuation-ladder article { display: grid !important; grid-template-columns: minmax(140px,1fr) minmax(180px,1fr) minmax(180px,2fr); align-items: center; gap: 18px; padding: 14px 0 !important; background: white !important; border: 0 !important; border-bottom: 1px solid var(--ui-line) !important; border-radius: 0 !important; }
html body .valuation-ladder article > strong { font-size: 20px !important; color: var(--ui-ink) !important; white-space: normal !important; }
html body .valuation-ladder article > span { font-size: 13px !important; }
html body .valuation-ladder article > i { display: none !important; }
html body .valuation-ladder article > i > b { display: block; width: var(--valuation); height: 100%; background: #537c88 !important; }
html body .valuation-ladder article.is-current > i > b { background: #9f2f2f !important; }
html body .valuation-ladder article > p { margin: 0 !important; font-size: 12px !important; }
html body .valuation-ladder article { min-height: 0 !important; height: auto !important; }
.scenario-actual-baseline { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 20px; padding: 14px 0; border-block: 1px solid var(--ui-line); margin: 14px 0 20px; }
.scenario-actual-baseline strong { font-size: 20px; }
.scenario-actual-baseline small { color: var(--ui-muted); font-size: 12px; }
html body .risk-list { border: 0 !important; }
html body .risk-list > li { border: 0 !important; border-bottom: 1px solid var(--ui-line) !important; padding: 18px 0 !important; }
html body .risk-meta { background: #f5f7f8 !important; border: 0 !important; }
html body #data .model-toolbar { background: #fff !important; }
html body #data .enh-model-groups { background: #eef3f4 !important; }
html body #data .enh-model-state { border: 1px solid var(--ui-line) !important; border-left: 3px solid #527787 !important; background: #fff !important; border-radius: 0 !important; }
html body #data .model-tabs { background: #fff !important; }
html body #data .model-tabs button { border-radius: 0 !important; }
html body #data .model-table-wrap { scrollbar-color: #95a9b1 #f1f5f6; scrollbar-width: thin; }
html body #data .model-table-wrap:focus-visible { outline: 2px solid #315969; outline-offset: 3px; }
.table-actions { display: flex; gap: 8px; justify-content: flex-end; margin: 12px 0 0; }
.table-actions button, .report-dialog-head button { border: 1px solid var(--ui-line); background: #fff; color: var(--ui-ink); padding: 8px 14px; min-height: 40px; font: inherit; font-size: 13px; cursor: pointer; }
.table-actions button:hover, .report-dialog-head button:hover { background: var(--ui-tint); }
.report-dialog { border: 1px solid var(--ui-line); border-radius: 6px; color: var(--ui-ink); width: min(1100px,calc(100vw - 48px)); max-width: none; max-height: 85dvh; padding: 0; box-shadow: 0 16px 60px #102a4330; }
.report-dialog::backdrop { background: #14202c77; }
.report-dialog-head { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--ui-line); position: sticky; top: 0; background: #fff; z-index: 5; }
.report-dialog-head h2 { font-size: 18px; line-height: 1.4; margin: 0; }
.report-dialog-body { padding: 20px; }
.report-search-input { box-sizing: border-box; width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid #98aab2; background: white; font: inherit; }
.search-count,.table-context { color: var(--ui-muted); font-size: 12px; }
.search-result { display: flex; flex-direction: column; text-align: left; width: 100%; gap: 6px; padding: 16px 4px; border: 0; border-bottom: 1px solid var(--ui-line); background: #fff; color: var(--ui-ink); cursor: pointer; font: inherit; }
.search-result:hover { background: var(--ui-tint); }
.search-result small { color: var(--ui-accent); font-size: 12px; }
.search-result span { font-size: 13px; color: var(--ui-muted); line-height: 1.6; }
.expanded-table { overflow: auto; max-height: 62dvh; }
.expanded-table table { display: table !important; width: 100%; min-width: 920px; border-collapse: collapse; font-size: 13px; }
.expanded-table td,.expanded-table th { padding: 10px 14px; border: 1px solid var(--ui-line); text-align: right; white-space: nowrap; }
.expanded-table tr > :first-child { text-align: left; background: #f1f5f6; position: sticky; left: 0; }
.expanded-table th { background: #eef3f4; }
.back-to-top { position: fixed; bottom: 22px; right: 20px; background: #fff; color: var(--ui-ink); border: 1px solid #95a9b1; box-shadow: 0 3px 12px #102a431a; padding: 10px 14px; min-height: 44px; font: inherit; font-size: 12px; z-index: 70; cursor: pointer; }
.back-to-top[hidden] { display: none; }
button:focus-visible, a:focus-visible { outline: 2px solid #315969; outline-offset: 3px; }
@media(max-width:1000px) {
  html body .valuation-ladder article { grid-template-columns: minmax(0,1fr) minmax(180px,1fr) !important; gap: 12px; }
  html body .valuation-ladder article p { grid-column: 1 / -1; }
}
@media(max-width:640px) {
  html body .topbar .nav { padding-inline: 12px !important; gap: 8px; }
  html body .report-context { display: none !important; }
  .report-search-button { margin-left: auto; }
  html body .toc { display: grid !important; grid-template-columns: repeat(6,minmax(0,1fr)); overflow: visible !important; }
  html body .toc a { min-width: 0 !important; width: auto !important; padding: 12px 0 !important; text-align: center; font-size: 11px !important; }
  html body .toc a::after { font-size: 11px !important; }
  html body .toc-edge { display: none !important; }
  .chapter-index { flex-wrap: nowrap; overflow-x: auto; gap: 16px; margin-top: 0; scrollbar-width: thin; }
  .chapter-index a { flex: 0 0 auto; font-size: 12px; }
  .operating-chart-pair { grid-template-columns: 1fr; gap: 20px; }
  html body .valuation-ladder article { grid-template-columns: minmax(0,1fr) 166px !important; }
  html body .valuation-ladder article > strong { font-size: 18px !important; text-align: right; }
  html body .valuation-ladder article i,html body .valuation-ladder article p { grid-column: 1 / -1; }
  .metric-link { padding: 12px 10px; }
  .chart-segments button { min-height: 44px; padding: 8px 10px; }
  .comparison-row { gap: 8px; grid-template-columns: 62px minmax(70px,1fr) 74px; }
  .customer-concentration .comparison-row { grid-template-columns: 84px minmax(70px,1fr) 62px; }
  .report-dialog { width: calc(100vw - 20px); max-height: 90dvh; }
  .report-dialog-head,.report-dialog-body { padding: 14px; }
  .table-actions { justify-content: flex-start; }
  .table-actions button { min-height: 44px; }
  .back-to-top { bottom: 12px; right: 12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto !important; } *, *::before, *::after { transition: none !important; animation: none !important; } }
@media print {
  html body main#top #data input, html body main#top #data select { display: none !important; }
  html body main#top #data .print-field { display: inline !important; font-size: 10pt !important; font-weight: 600; color: #18242c !important; }
  @page model-wide { size: A4 landscape; margin: 12mm; }
  html body[data-print-mode="full"] main#top #data { page: model-wide; width: 100% !important; max-width: none !important; }
  html body[data-print-mode="full"] main#top #data .model-workbook,
  html body[data-print-mode="full"] main#top #data .model-sheet,
  html body[data-print-mode="full"] main#top #data .model-block,
  html body[data-print-mode="full"] main#top #data .model-panel,
  html body[data-print-mode="full"] main#top #data .model-table-wrap { width: 100% !important; max-width: none !important; min-width: 0 !important; overflow: visible !important; }
  html body[data-print-mode="full"] main#top #data table { width: 100% !important; min-width: 0 !important; max-width: 100% !important; table-layout: fixed !important; }
  html body[data-print-mode="full"] main#top #data th,
  html body[data-print-mode="full"] main#top #data td { min-width: 0 !important; max-width: none !important; overflow-wrap: anywhere !important; }
  html body[data-print-mode="full"] main#top #data .model-cover,
  html body[data-print-mode="full"] main#top #data .model-command,
  html body[data-print-mode="full"] main#top #data .model-update-summary,
  html body[data-print-mode="full"] main#top #data .enh-model-state { display: none !important; }
  html body[data-print-mode="full"] main#top > .report-section { break-before: auto !important; }
  html body[data-print-mode="full"] main#top #summary,
  html body[data-print-mode="full"] main#top #data { break-after: page !important; }
  html body[data-print-mode="full"] #data .model-panel,
  html body[data-print-mode="full"] #data .model-panel[hidden],
  html body[data-print-mode="full"] #data .data-appendix { display: block !important; }
  html body[data-print-mode="full"] #data .model-panel:is(#model-capacity,#model-assumptions,#model-pl,#model-wc,#model-cf,#model-bs,#model-entry,#model-cost) { display: block !important; }
  html body[data-print-mode="full"] #data .model-panel { page: model-wide; break-before: auto; }
  html body[data-print-mode="full"] #data .model-block-title { break-after: avoid !important; }
  html body[data-print-mode="full"] #data table { break-inside: avoid !important; }
  html body[data-print-mode="full"] #data #model-summary { break-before: auto !important; }
  html body[data-print-mode="full"] #data .model-block { break-inside: auto !important; margin: 8pt 0 !important; padding: 6pt !important; }
  html body[data-print-mode="full"] #data .assumption-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 6pt !important; }
  html body[data-print-mode="full"] #data #capMonthlyGrid { grid-template-columns: repeat(6,minmax(0,1fr)) !important; }
  html body[data-print-mode="full"] #data #capAnnualGrid { grid-template-columns: repeat(5,minmax(0,1fr)) !important; }
  html body[data-print-mode="full"] main#top .compact-details .detail-body p { font-size: 9pt !important; margin-block: 6pt !important; }
  html body[data-print-mode="full"] #data .assumption-cell { min-height: 0 !important; padding: 5pt !important; margin: 0 !important; }
  html body[data-print-mode="full"] #data .assumption-memo { font-size: 8pt !important; line-height: 1.4 !important; }
  html body[data-print-mode="full"] #data .model-panel table { min-width: 0 !important; width: 100% !important; font-size: 8pt !important; table-layout: auto !important; }
  html body[data-print-mode="full"] #data .model-panel td,
  html body[data-print-mode="full"] #data .model-panel th { font-size: 8pt !important; padding: 5pt !important; white-space: normal !important; }
  html body[data-print-mode="summary"] main > section:not(#summary):not(#data),
  html body[data-print-mode="summary"] .report-meta,
  html body[data-print-mode="summary"] .site-footer { display: none !important; }
  html body[data-print-mode="summary"] #data .model-cover,
  html body[data-print-mode="summary"] #data .model-command,
  html body[data-print-mode="summary"] #data .model-update-summary,
  html body[data-print-mode="summary"] #data .enh-model-state { display: none !important; }
  html body details > summary { break-after: avoid; }
  html body .gov-panel { display: block !important; }
  .chapter-index,.chart-segments,.table-actions,.report-search-button,.back-to-top,.report-dialog { display: none !important; }
  .operating-chart-pair { grid-template-columns: 1fr 1fr; gap: 18px; break-inside: avoid; }
  .comparison-track i { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  html body .risk-list > li[hidden] { display: grid !important; }
  .metric-link { color: inherit; }
}

/* Editorial hierarchy: neutral content, semantic exceptions, and a single controls row. */
.quality-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 12px 0; }
.quality-comparison > div { display: flex; flex-direction: column; gap: 6px; }
.quality-comparison > div + div { border-left: 1px solid var(--ui-line); padding-left: 20px; }
.quality-comparison strong { font-variant-numeric: tabular-nums; }
.model-command-row { display: flex; align-items: start; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; }
.audit-disclosure { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.audit-disclosure > button { border: 0; background: transparent; color: var(--ui-muted); font: inherit; font-size: 12px; padding: 8px 0; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
@media screen {
  html body .skip-link:not(:focus) { clip-path: inset(100%); width: 1px; height: 1px; overflow: hidden; padding: 0; border: 0; }
  html body { color: #232c32; background: #fff; }
  html body main#top { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; letter-spacing: 0; }
  html body main#top .shell { max-width: 1200px !important; }
  html body main#top #data.shell { max-width: 1440px !important; }
  html body main#top .report-section { border: 0 !important; border-bottom: 1px solid var(--ui-line) !important; padding-block: 36px !important; box-shadow: none !important; }
  html body main#top p { font-size: 15px !important; line-height: 1.65 !important; }
  html body main#top .kicker { color: #66717a !important; font-size: 12px !important; font-weight: 500 !important; }
  html body main#top .tag { color: #66717a !important; background: transparent !important; border: 0 !important; padding-left: 0 !important; font-weight: 500 !important; }
  html body main#top h3 { border-bottom-color: var(--ui-line) !important; }
  html body .toc-wrap, html body .toc { background: var(--palette-charcoal) !important; border-color: var(--ui-line) !important; }
  html body .toc a { background: var(--palette-charcoal) !important; color: #e5ebe8 !important; border: 0 !important; border-bottom: 3px solid transparent !important; }
  html body .toc a strong { color: inherit !important; font-weight: 500 !important; }
  html body .toc a:hover { background: #3d5350 !important; color: #fff !important; }
  html body .toc a.active { color: #fff !important; background: var(--palette-petrol) !important; border-bottom-color: #a8c0b5 !important; }
  html body #summary .decision-status { max-width: none !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--ui-line) !important; padding: 12px 0 !important; font-size: 13px !important; }
  html body #summary .period-judgment { padding: 4px 0 12px !important; background: transparent !important; border: 0 !important; display: block !important; }
  html body #summary .period-judgment__label { display: none !important; }
  html body #summary .period-judgment p { margin: 0 !important; }
  html body #summary .period-judgment p > strong { display: block; font-size: 22px; line-height: 1.45; margin-bottom: 10px; color: #232c32; }
  html body #summary .management-pulse { grid-template-columns: repeat(6,minmax(0,1fr)) !important; border: 0 !important; }
  html body #summary .management-pulse > article { grid-column: span 2; min-height: 0 !important; border: 0 !important; border-bottom: 1px solid var(--ui-line) !important; padding: 0 !important; }
  html body #summary .management-pulse > article::before { display: none !important; }
  html body #summary .management-pulse .metric-link { padding: 16px 20px 18px 0; gap: 6px; }
  html body #summary .management-pulse strong { color: #232c32 !important; font-size: 32px !important; font-weight: 650 !important; margin: 4px 0 !important; }
  html body #summary .management-pulse .pulse-negative strong { color: #a52e32 !important; }
  html body #summary .management-pulse > article:nth-child(n+4) { grid-column: span 3; }
  html body #summary .management-pulse > article:nth-child(n+4) .metric-link { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 4px 16px; padding-block: 12px; }
  html body #summary .management-pulse > article:nth-child(n+4) strong { font-size: 22px !important; }
  html body #summary .management-pulse > article:nth-child(n+4) small { grid-column: 1 / -1; }
  html body .gate-list { border: 0 !important; border-radius: 0 !important; gap: 24px !important; }
  html body .gate-list > li { padding: 12px 0 !important; border: 0 !important; border-top: 1px solid var(--ui-line) !important; }
  html body .gate-list > li::before { color: #66717a !important; }
  html body .evidence-note { background: transparent !important; border: 0 !important; border-top: 1px solid var(--ui-line) !important; padding: 12px 0 !important; color: #5e6972 !important; }
  html body .evidence-list { border: 0 !important; gap: 16px 28px !important; }
  html body .evidence-list > article { background: transparent !important; border: 0 !important; padding: 12px 0 !important; border-top: 1px solid var(--ui-line) !important; }
  html body .operating-signals { grid-template-columns: repeat(3,minmax(0,1fr)) !important; border: 0 !important; border-block: 1px solid var(--ui-line) !important; }
  html body .operating-signals > article { min-width: 0; background: transparent !important; padding: 16px !important; border: 0 !important; border-right: 1px solid var(--ui-line) !important; }
  html body .operating-signals > article:last-child { border-right: 0 !important; }
  html body .operating-signals strong { color: #232c32 !important; font-size: 25px !important; }
  html body .operating-signals small { color: #5e6972 !important; font-size: 12px !important; }
  html body main#top table th { background: #eef2f4 !important; color: #232c32 !important; border-color: #d8dfe3 !important; }
  html body main#top table td { border-color: #e1e6e9 !important; }
  html body #data .model-workbook { border: 0 !important; padding: 0 !important; }
  html body #data .model-dashboard { margin: 0 0 16px !important; border-block: 1px solid var(--ui-line) !important; }
  html body #data .model-dash { padding: 14px 12px !important; }
  html body #data .model-dash strong { font-size: 25px !important; color: #232c32 !important; }
  html body #data .model-dash small { color: #5e6972 !important; }
  html body #data .model-update-summary { background: transparent !important; margin: 0 0 12px !important; padding: 0 !important; }
  html body #data .model-update-summary > div { display: none !important; }
  html body #data .enh-model-state { position: static !important; display: block !important; box-shadow: none !important; padding: 0 0 12px !important; border: 0 !important; }
  html body #data .enh-state-primary { display: grid !important; grid-template-columns: minmax(200px,1fr) minmax(0,2fr) !important; gap: 16px !important; }
  html body #data .enh-state-facts { display: flex !important; gap: 12px; margin: 0 !important; }
  html body #data .enh-state-facts > div:not(.enh-state-unverified) { display: none !important; }
  html body #data .enh-state-unverified { border: 0 !important; padding: 0 !important; }
  html body #data .enh-state-unverified dd { white-space: normal !important; overflow: visible !important; max-width: none !important; }
  html body #data .enh-state-copy small { color: #5e6972 !important; }
  html body #data .model-command-row { padding: 8px 0; border-block: 1px solid var(--ui-line); }
  html body #data .model-command-row .table-actions { margin: 0 !important; }
  html body #data .enh-state-actions { justify-content: flex-start !important; }
  html body #data .enh-model-groups { background: transparent !important; padding: 4px 0 0 !important; }
  html body #data .model-toolbar { padding: 0 !important; }
  html body #data .model-tabs { padding: 0 !important; gap: 0 !important; border-bottom: 1px solid var(--ui-line) !important; }
  html body #data .model-tabs button { color: #5e6972 !important; background: transparent !important; border: 0 !important; border-bottom: 2px solid transparent !important; padding: 8px 12px !important; }
  html body #data .model-tabs button.active { color: #fff !important; background: var(--palette-petrol) !important; border-bottom-color: var(--palette-petrol) !important; font-weight: 650 !important; }
  html body #data #auditPills { display: flex !important; flex-wrap: wrap !important; margin: 0 !important; padding: 0 !important; }
  html body #data .model-command-row button { min-height: 40px !important; border: 1px solid var(--ui-line); background: #fff; color: var(--ui-ink); padding: 8px 12px; font: inherit; font-size: 13px !important; border-radius: 3px; cursor: pointer; }
  html body #data .model-command-row button:hover { background: var(--ui-tint); }
  html body #data .enh-state-actions { align-items: center !important; }
  html body #data .model-table-wrap::before { display: none !important; }
  html body #data .model-tabs { mask-image: none !important; -webkit-mask-image: none !important; }
  html body #data #auditPills .ok { display: none !important; }
  html body #data #auditPills.show-passed .ok { display: inline-flex !important; }
  html body #data .audit-pill { border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #9a6415 !important; }
  html body #data .audit-pill.ok { color: #5e6972 !important; }
  html body #data .model-sheet { margin: 0 !important; padding: 0 !important; border: 0 !important; }
  html body #data .model-block-title { margin: 0 0 12px !important; padding: 0 !important; min-height: 0 !important; }
  html body #data .model-table-wrap { border-radius: 0 !important; }
  html body #summaryTable tr > :nth-child(n+7) { background: #f1f5f6 !important; }
  html body #summaryTable tr > :nth-child(7) { border-left: 2px solid #93a7b0 !important; }
  html body #data table { font-variant-numeric: tabular-nums; }
  html body main#top .chart-footnote, html body main#top .model-note { font-size: 12px !important; }
}
@media screen and (max-width: 800px) {
  html body #data .enh-state-primary { grid-template-columns: 1fr !important; gap: 8px !important; }
  html body #data .model-dashboard { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  html body #data .model-dash strong { font-size: 22px !important; }
}
@media screen and (max-width: 640px) {
  html body main#top .report-section { padding-block: 24px !important; }
  html body #summary .period-judgment p > strong { font-size: 20px; }
  html body #summary .management-pulse { grid-template-columns: 1fr !important; }
  html body #summary .management-pulse > article, html body #summary .management-pulse > article:nth-child(n+4) { grid-column: 1 !important; }
  html body #summary .management-pulse .metric-link, html body #summary .management-pulse > article:nth-child(n+4) .metric-link { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 12px; padding: 10px 0; align-items: baseline; }
  html body #summary .management-pulse strong { font-size: 28px !important; text-align: right; }
  html body #summary .management-pulse small { grid-column: 1 / -1; }
  html body .gate-list { gap: 0 !important; }
  html body .operating-signals { grid-template-columns: 1fr !important; }
  html body .operating-signals > article { padding: 14px 0 !important; border-right: 0 !important; border-bottom: 1px solid var(--ui-line) !important; }
  html body .operating-signals > article:last-child { border-bottom: 0 !important; }
  html body #data .model-dashboard { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #data .model-dash:last-child { grid-column: 1 / -1; }
  html body #data .model-command-row { gap: 6px; }
  html body #data .enh-state-actions { width: 100%; }
  html body #data .enh-plan-manager { flex: 0 1 auto !important; }
  html body #data .table-actions { justify-content: flex-start; }
  html body #data .model-tabs { flex-wrap: wrap !important; }
  html body .toc a { font-size: 11px !important; }
}
@media print {
  .model-command-row, .audit-disclosure > button { display: none !important; }
  html body .operating-signals { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  html body .quality-comparison strong { font-size: 16pt !important; }
  html body #summary .management-pulse { grid-template-columns: repeat(6,minmax(0,1fr)) !important; }
  html body #summary .management-pulse > article { grid-column: span 2; border: 0 !important; border-bottom: 1px solid var(--ui-line) !important; }
  html body #summary .management-pulse > article:nth-child(n+4) { grid-column: span 3; }
  html body #summary .management-pulse > article::before { display: none !important; }
  html body #summary .management-pulse strong { color: #232c32 !important; }
  html body #summary .management-pulse .pulse-negative strong { color: #a52e32 !important; }
  html body #summary .management-pulse > article:nth-child(n+4) .metric-link { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
  html body #summary .management-pulse > article:nth-child(n+4) small { flex-basis: 100%; }
  html body #summary .management-pulse > article:nth-child(n+4) strong { font-size: 15pt !important; }
}

/* One neutral fill system; saturated color is reserved for navigation and exceptions. */
html body main#top table th,
html body main#top #summaryTable tr > th { background: var(--palette-charcoal) !important; color: #fff !important; border-color: #4b5e59 !important; }
html body #summary .management-pulse > .pulse-positive,
html body #summary .management-pulse > .pulse-caution,
html body #summary .management-pulse > .pulse-negative { background: var(--palette-surface) !important; }
html body #summary .management-pulse .pulse-positive strong,
html body #summary .management-pulse .pulse-caution strong { color: var(--ui-ink) !important; }
html body #summary .management-pulse .pulse-negative strong { color: var(--palette-warning) !important; }
html body #summary .management-pulse .metric-link { padding-inline: 14px !important; }
html body #summary .period-judgment { background: #e9efec !important; }
html body #data .model-dash { background: var(--palette-surface) !important; }
html body #data .enh-model-groups { background: #e9efec !important; }
html body .metric-link:hover { background: #e7eeea !important; }
html body .comparison-track { background: #edf0ed; }
html body .comparison-track i { background: #688b83; }
html body .comparison-track i.is-negative,
html body .customer-concentration .comparison-row:first-of-type .comparison-track i { background: var(--palette-warning); }
html body .chart-segments button[aria-pressed="true"] { background: var(--palette-petrol) !important; border-color: var(--palette-petrol) !important; }
html body main#top .tag { color: #647770 !important; }
html body .report-title-sub { color: #626e6c; }
html body .topbar .brand::before { background: var(--palette-petrol) !important; }


/* Source: report-layout.css */
/* Report layout contract; model calculations and historical input bindings are unchanged. */
:root {
  --reading-heading: #243a37; --reading-section: #285f58; --reading-body: #46524f;
  --reading-note: #626e6a; --surface-control: #edf3f0; --line-strong: #adc5ba;
}
.control-icon { display: inline-block; flex: 0 0 18px; width: 18px; height: 18px; vertical-align: middle; }
.control-label { min-width: 0; }
.chapter-number { display: none; }
.model-fee-caution { color: #82452b !important; background: #faf2e8 !important; border-left: 3px solid #967242; padding: 12px 14px; font-size: 13px !important; line-height: 1.6; }
.mobile-period-choice { display: none; }
.return-reading { position: fixed; right: 16px; bottom: 72px; z-index: 40; min-height: 44px; padding: 10px 14px; border: 1px solid var(--ui-line); border-radius: 3px; background: #fff; color: var(--ui-ink); font: inherit; font-size: 14px; box-shadow: 0 2px 8px #00000012; }
.return-reading[hidden] { display: none; }
.return-reading:focus-visible { outline: 2px solid var(--palette-petrol); outline-offset: 3px; }
@media print {
  .model-outlook, .control-icon { display: none !important; }
  .section-thesis { font-size: 10pt !important; font-weight: 400 !important; margin: 5pt 0 !important; }
  .return-reading { display: none !important; }
  html body[data-print-mode] main#top .table-wrap,
  html body[data-print-mode] main#top .model-table-wrap { width: 100% !important; max-width: 100% !important; min-width: 0 !important; overflow: visible !important; }
  html body[data-print-mode] main#top table { width: 100% !important; max-width: 100% !important; min-width: 0 !important; table-layout: fixed !important; }
  html body[data-print-mode] main#top table th,
  html body[data-print-mode] main#top table td { min-width: 0 !important; max-width: none !important; white-space: normal !important; overflow-wrap: anywhere !important; position: static !important; font-size: 8pt !important; padding: 5pt !important; }
  html body[data-print-mode] main#top .financial-snapshot { display: block !important; }
  html body[data-print-mode] main#top .finance-callout { margin-top: 8pt !important; }
  html body[data-print-mode] main#top .deal-snapshot,
  html body[data-print-mode] main#top .deal-snapshot-main,
  html body[data-print-mode] main#top .deal-snapshot-notes { display: block !important; }
  html body[data-print-mode] main#top .deal-snapshot-notes p { padding: 5pt 0 !important; }
  html body[data-print-mode] main#top .valuation-ladder,
  html body[data-print-mode] main#top .model-workbook,
  html body[data-print-mode] main#top .model-sheet,
  html body[data-print-mode] main#top .model-panel,
  html body[data-print-mode] main#top .assumption-section,
  html body[data-print-mode] main#top .model-table-wrap,
  html body[data-print-mode] main#top .table-wrap,
  html body[data-print-mode] main#top table { break-inside: auto !important; }
  html body[data-print-mode] main#top .section-head,
  html body[data-print-mode] main#top .model-block-title,
  html body[data-print-mode] main#top .assumption-section-title { break-inside: avoid !important; break-after: avoid !important; }
  html body[data-print-mode] main#top table tr,
  html body[data-print-mode] main#top .assumption-cell { break-inside: avoid !important; }
  html body[data-print-mode] main#top #data .print-field { font-size: 8pt !important; }
  html body[data-print-mode] main#top #shareholderCalcTable tr > :last-child { width: 26% !important; }
  html body[data-print-mode] main#top #shareholderCalcTable tr > :not(:last-child) { width: auto !important; }
  html body[data-print-mode] main#top #shareholderCalcTable td > div { max-width: none !important; width: auto !important; min-width: 0 !important; }
  html body[data-print-mode] main#top .model-quality { break-inside: avoid !important; }
  html body[data-print-mode] main#top table thead { display: table-header-group !important; }
  html body[data-print-mode] main#top table tbody th { background: #f1f4f2 !important; color: #273332 !important; }
  html body[data-print-mode] main#top .assumption-section-title { margin: 6pt 0 !important; padding: 6pt !important; }
  html body[data-print-mode] main#top .assumption-section { margin: 8pt 0 !important; padding: 0 !important; }
  html body[data-print-mode] main#top .valuation-ladder article { padding-block: 8pt !important; }
  html body[data-print-mode] main#top .data-appendix .detail-body { padding: 8pt !important; }
  html body[data-print-mode] main#top #data .assumption-grid { display: block !important; break-inside: auto !important; font-size: 0; }
  html body[data-print-mode] main#top #data .assumption-cell { display: inline-block !important; width: 33.333% !important; box-sizing: border-box; vertical-align: top; font-size: 9pt; }
  html body[data-print-mode] main#top #data #capMonthlyGrid .assumption-cell { width: 16.666% !important; }
  html body[data-print-mode] main#top #data #capAnnualGrid .assumption-cell { width: 20% !important; }
  html body[data-print-mode] main#top #data .assumption-section-title { break-after: avoid !important; }
  html body[data-print-mode="summary"] main#top #data .model-context { display: none !important; }
  html body[data-print-mode="full"] main#top #data .model-context .model-update-summary { display: block !important; padding: 6pt !important; }
}
@media screen {
  html.header-collapsed .topbar:focus-within { transform: translateY(0) !important; }
  html:not(.report-app-ready).header-collapsed:has(.topbar:focus-within) .toc-wrap { top: var(--v4-topbar) !important; }
  html body { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif !important; letter-spacing: 0 !important; }
  html body main#top { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  html body main#top .report-section,
  html body main#top #data.shell,
  html body .report-meta,
  html body .report-footer > .shell { width: calc(100% - 48px) !important; max-width: 1320px !important; margin-inline: auto !important; padding: 24px 0 !important; }
  html body .topbar .nav, html body .toc { width: calc(100% - 48px) !important; max-width: 1320px !important; margin-inline: auto !important; padding-inline: 0 !important; }
  html body main#top .report-section > .section-head { display: grid !important; grid-template-columns: 60px minmax(0,1fr) !important; align-items: start; gap: 16px !important; margin: 0 0 16px !important; padding: 0 0 16px !important; }
  html body main#top .chapter-number { display: block; color: #78958b; font-size: 40px; font-weight: 500; line-height: 1.2; font-variant-numeric: tabular-nums; padding-top: 2px; }
  .chapter-heading { min-width: 0; }
  html body main#top .section-thesis { max-width: 980px; color: #46524f !important; font-size: 15px !important; font-weight: 400 !important; margin: 8px 0 0 !important; }
  html body main#top .section-head, html body main#top h3,
  html body main#top .section-head h2, html body #summary .decision-status { width: 100% !important; max-width: none !important; }
  html body main#top .report-section > .section-head h2 { max-width: none !important; font-size: 24px !important; line-height: 1.4 !important; margin: 4px 0 0 !important; }
  html body main#top .section-head h2::after { display: none !important; }
  html body main#top h3 { margin: 0 0 12px !important; padding: 0 0 8px !important; font-size: 18px !important; line-height: 1.4 !important; }
  html body main#top h4 { font-size: 15px !important; margin-block: 0 8px !important; }
  html body main#top p { font-size: 14px; line-height: 1.65 !important; }
  html body .chapter-index { margin: 0 0 18px !important; padding: 0 0 8px !important; gap: 4px 20px !important; }
  html body main#top .visual-panel,
  html body main#top .financial-quality,
  html body main#top .risk-priority { margin: 20px 0 !important; }
  html body main#top .compact-details { margin-block: 12px !important; }
  html body main#top .compact-details > summary { padding: 10px 12px !important; }
  html body main#top .detail-body { padding: 14px !important; }
  html body main#top .chart-footnote, html body main#top .model-note { margin-block: 8px !important; line-height: 1.5 !important; }
  html body .figure-source-link { margin-top: 8px !important; }
  html body main#top .table-wrap, html body main#top .model-table-wrap { min-width: 0 !important; max-width: 100% !important; overflow-x: auto !important; }
  html body main#top th, html body main#top td { padding: 8px 10px !important; line-height: 1.45 !important; }
  html body main#top caption { padding: 9px 10px !important; }
  html body main#top .evidence-list { gap: 0 24px !important; }

  /* Overview: conclusion, three primary measures, two secondary measures, actions. */
  html body main#top #summary { gap: 12px !important; }
  html body #summary .decision-header { display: grid !important; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 32px !important; align-items: center; padding: 0 0 12px !important; border: 0 !important; }
  html body #summary .decision-header__copy h1 { margin: 4px 0 10px !important; font-size: 32px !important; }
  html body #summary .report-title-sub { font-size: 22px; }
  html body #summary .decision-status { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 12px 16px !important; background: #f1f4f2 !important; border: 0 !important; border-left: 3px solid #819b8e !important; font-size: 13px !important; }
  html body #summary .period-judgment { padding: 16px 20px !important; border-block: 1px solid #b5cbc3 !important; background: #edf3f0 !important; }
  html body #summary .period-judgment p { border: 0 !important; padding: 0 !important; margin: 0 !important; }
  html body #summary .period-judgment p > strong { font-size: 20px !important; margin-bottom: 6px !important; }
  html body #summary .management-pulse { display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important; background: #fff !important; border-block: 1px solid var(--ui-line) !important; margin: 0 0 10px !important; }
  html body #summary .management-pulse > article { grid-column: auto !important; background: #fff !important; border: 0 !important; border-right: 1px solid var(--ui-line) !important; }
  html body #summary .management-pulse > article:last-child { border-right: 0 !important; }
  html body #summary .management-pulse .metric-link { display: flex !important; flex-direction: column !important; align-items: start !important; gap: 6px !important; padding: 14px !important; }
  html body #summary .management-pulse strong { margin: 1px 0 !important; font-size: 29px !important; }
  html body #summary .management-pulse > article:nth-child(n+4) .metric-link { padding-block: 14px !important; }
  html body #summary .management-pulse > article:nth-child(n+4) strong { font-size: 29px !important; }
  html body #summary .decision-gates { padding: 0 !important; border: 0 !important; }
  html body #summary .decision-gates .section-head { margin: 0 0 10px !important; padding: 0 !important; }
  html body #summary .decision-gates h2 { margin: 4px 0 0 !important; font-size: 21px !important; }
  html body .gate-list > li { padding-block: 10px !important; }
  html body .gate-list > li strong { margin-bottom: 6px !important; }
  html body #summary .stop-rule { margin: 10px 0 0 !important; padding: 10px 14px !important; font-size: 13px !important; background: #f8f1f0 !important; border-left: 3px solid #a04748 !important; }
  html body #summary .evidence-note { padding: 10px 0 0 !important; font-size: 12px !important; line-height: 1.5 !important; }

  /* Transaction facts use horizontal rows, never narrow prose columns. */
  html body #financial .decision-header__result { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 !important; margin: 0 !important; }
  html body #financial .decision-metric { padding: 14px !important; min-width: 0 !important; }
  html body #financial .decision-metric strong { font-size: 27px !important; }
  html body #financial .decision-metric p { font-size: 12px !important; margin: 6px 0 0 !important; }
  html body .deal-snapshot { display: block !important; padding: 0 !important; margin: 0 0 16px !important; }
  html body .deal-snapshot-main { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px !important; padding: 12px 14px !important; }
  html body .deal-snapshot-main > div { min-width: 0 !important; padding: 0 !important; border: 0 !important; }
  html body .deal-snapshot-notes { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 20px !important; padding: 12px 14px !important; border-top: 1px solid var(--ui-line) !important; }
  html body .deal-snapshot-notes p { font-size: 12px !important; line-height: 1.55 !important; margin: 0 !important; padding: 0 !important; }
  html body .valuation-ladder { margin: 12px 0 20px !important; }
  html body .valuation-ladder article { grid-template-columns: minmax(150px,1fr) minmax(160px,1fr) minmax(0,2fr) !important; padding: 10px 12px !important; gap: 16px !important; }
  html body .valuation-ladder article strong { font-size: 19px !important; }
  html body .scenario-actual-baseline { margin: 8px 0 !important; padding: 8px 0 !important; }

  /* Evidence and workflow keep a stable label / fact / requirement alignment. */
  html body .financial-snapshot { display: grid !important; grid-template-columns: minmax(0,2fr) minmax(240px,1fr) !important; gap: 12px 20px !important; }
  html body .financial-snapshot .chart-footnote { grid-column: 1 / -1 !important; }
  html body .finance-callout { min-width: 0 !important; padding: 14px !important; }
  html body .finance-callout p { font-size: 13px !important; margin: 8px 0 0 !important; }
  html body .operating-chart-pair { gap: 24px !important; margin: 16px 0 20px !important; }
  html body .operating-chart-pair figure { padding: 16px !important; background: #f5f7f5 !important; border-top: 2px solid #adc5ba !important; border-bottom: 1px solid var(--ui-line) !important; }
  html body .chart-segments { margin: 8px 0 12px !important; }
  html body .risk-list { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 0 28px !important; }
  html body .risk-list > li { display: grid !important; grid-template-columns: 32px minmax(0,1fr) !important; gap: 10px !important; padding: 14px 0 !important; align-items: start !important; }
  html body .risk-list > li[hidden] { display: none !important; }
  html body .risk-copy p { font-size: 13px !important; margin: 6px 0 10px !important; }
  html body .risk-meta { display: grid !important; grid-template-columns: minmax(0,2fr) minmax(80px,1fr) !important; gap: 8px 12px !important; padding: 10px 12px !important; margin: 0 !important; background: #f3f5f3 !important; }
  html body .risk-meta > div { padding: 0 !important; border: 0 !important; }
  html body .risk-meta > div:last-child { grid-column: 1 / -1; }
  html body .closing-chain > article { display: grid !important; grid-template-columns: 220px minmax(0,1.25fr) minmax(0,1fr) !important; gap: 0 !important; min-width: 0 !important; border: 1px solid var(--ui-line) !important; border-left: 3px solid #a7b4ad !important; }
  html body .closing-chain > article.is-complete { border-left-color: #446b5d !important; }
  html body .closing-chain > article.is-current { border-left-color: #876e40 !important; }
  html body .closing-chain__stage, html body .closing-chain__core, html body .closing-chain__gate { padding: 12px !important; min-width: 0 !important; }
  html body .closing-chain__stage strong { font-size: 14px !important; }
  html body .closing-chain__core p { font-size: 13px !important; margin: 6px 0 0 !important; }
  html body .closing-chain__gate { display: grid !important; gap: 8px !important; margin: 0 !important; }
  html body .closing-chain__connector { height: 10px !important; min-height: 10px !important; margin: 0 0 0 24px !important; }
  html body .post-close-plan { margin-top: 20px !important; }
  html body .post-close-plan .timeline small { color: #626e6a !important; font-size: 12px !important; }
  html body main#top #appendix .appendix-index-table tbody th { color: #273332 !important; background: #f1f4f2 !important; }

  /* Model: context, results, scenario controls, grouped sheets, then the active table. */
  html body #data .model-cover { margin: 0 0 10px !important; }
  html body #data .model-cover-meta { padding: 9px 12px !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 12px !important; }
  html body #data .model-meta-cell { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
  html body #data .model-meta-cell > * { margin: 0 !important; font-size: 12px !important; }
  html body #data .model-update-summary { margin: 0 0 10px !important; }
  html body #data .model-dashboard { display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important; margin: 0 0 12px !important; }
  html body #data .model-dash { padding: 10px 12px !important; min-width: 0 !important; grid-column: auto !important; }
  html body #data .model-dash strong { font-size: 23px !important; margin: 4px 0 !important; }
  html body #data .model-dash small { font-size: 12px !important; }
  html body #data .enh-model-state { padding: 0 0 10px !important; }
  html body #data .enh-state-primary { grid-template-columns: minmax(230px,1fr) minmax(0,2fr) !important; }
  html body #data .model-command-row { align-items: center !important; padding-block: 6px !important; }
  html body #data .model-command-row button,
  html body #data .enh-plan-manager > summary { min-height: 36px !important; padding: 7px 10px !important; }
  html body #data .enh-state-actions, html body #data .table-actions { gap: 6px !important; }
  html body #data .model-toolbar { display: grid !important; grid-template-columns: 200px minmax(0,1fr) !important; gap: 0 12px !important; align-items: start !important; }
  html body #data .enh-model-groups { padding: 0 !important; margin: 0 !important; gap: 0 !important; border: 0 !important; }
  html body #data .enh-model-groups button { flex: 1; min-width: 0; padding: 9px 8px !important; min-height: 42px !important; font-size: 13px !important; }
  html body #data .model-tabs { display: flex !important; flex-wrap: wrap !important; gap: 0 !important; margin: 0 !important; padding: 0 !important; }
  html body #data .model-tabs button { padding: 9px 10px !important; min-height: 42px !important; flex: 0 0 auto !important; }
  html body #data .model-tabs button[hidden] { display: none !important; }
  html body #data .audit-disclosure { grid-column: 1 / -1; gap: 4px 12px !important; padding: 2px 0 !important; border-bottom: 1px solid var(--ui-line); }
  html body #data .model-block { margin: 0 0 12px !important; padding: 12px 0 0 !important; }
  html body #data .model-block-title { display: flex !important; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; margin: 0 0 10px !important; }
  html body #data .model-block-title h4 { margin: 0 !important; }
  html body #data .model-panel > .model-block > .model-block { margin-top: 12px !important; }
  html body #data .model-table-wrap table { width: 100% !important; min-width: 950px !important; table-layout: auto !important; }
  html body #data .model-table-wrap th, html body #data .model-table-wrap td { padding: 8px !important; font-size: 13px !important; }
  html body #data .model-table-wrap tr > :first-child { min-width: 130px !important; }
  html body #data .assumption-section { margin: 14px 0 !important; padding: 0 !important; border: 0 !important; }
  html body #data .assumption-section-title { padding: 8px 10px !important; margin: 0 !important; background: var(--palette-surface) !important; }
  html body #data .assumption-section-title h5 { font-size: 14px !important; margin: 0 0 4px !important; }
  html body #data .assumption-section-title p { font-size: 12px !important; margin: 0 !important; }
  html body #data .assumption-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 0 !important; }
  html body #data .assumption-cell { min-width: 0 !important; min-height: 0 !important; padding: 10px 12px !important; border: 0 !important; border-bottom: 1px solid var(--ui-line) !important; border-right: 1px solid var(--ui-line) !important; border-radius: 0 !important; background: #fff !important; }
  html body #data .assumption-cell label { font-size: 13px !important; line-height: 1.4 !important; min-height: 0 !important; margin-bottom: 6px !important; }
  html body #data .assumption-cell .input-line { margin: 0 0 6px !important; min-width: 0 !important; }
  html body #data .assumption-cell input, html body #data .assumption-cell select { min-height: 34px !important; max-width: 100% !important; font-size: 15px !important; }
  html body #data .assumption-memo { font-size: 12px !important; line-height: 1.45 !important; margin: 0 !important; }
  html body #data #capMonthlyGrid { grid-template-columns: repeat(6,minmax(0,1fr)) !important; }
  html body #data #capAnnualGrid { grid-template-columns: repeat(5,minmax(0,1fr)) !important; }
  html body #data .model-input-register { padding: 0 !important; }
  html body #data .model-input-register > summary { padding: 10px 52px 10px 12px !important; min-height: 44px !important; gap: 12px; }
  html body #data .model-input-register > summary small { font-size: 12px !important; white-space: normal !important; }
  html body #data #shareholderCalcTable { width: 100% !important; min-width: 1120px !important; table-layout: fixed !important; }
  html body #data #shareholderCalcTable tr > * { width: auto !important; min-width: 0 !important; white-space: normal !important; overflow-wrap: break-word !important; }
  html body #data #shareholderCalcTable tr > :nth-child(1),
  html body #data #shareholderCalcTable tr > :nth-child(2),
  html body #data #shareholderCalcTable tr > :nth-child(7) { width: 8% !important; }
  html body #data #shareholderCalcTable tr > :nth-child(3) { width: 7% !important; }
  html body #data #shareholderCalcTable tr > :nth-child(4),
  html body #data #shareholderCalcTable tr > :nth-child(8),
  html body #data #shareholderCalcTable tr > :nth-child(9) { width: 6% !important; }
  html body #data #shareholderCalcTable tr > :nth-child(5),
  html body #data #shareholderCalcTable tr > :nth-child(6) { width: 9% !important; }
  html body #data #shareholderCalcTable input[type="number"] { width: 64px !important; min-width: 0 !important; max-width: calc(100% - 14px) !important; min-height: 32px !important; padding: 4px !important; font-size: 13px !important; color: var(--ui-ink) !important; }
  html body #data #shareholderCalcTable td:last-child { text-align: left !important; }
  html body #data #shareholderCalcTable td:last-child > * { max-width: 100% !important; white-space: normal !important; }
  html body #data .enh-entry-toolbar { padding: 8px 10px !important; flex-wrap: wrap !important; }
  html body #data .enh-entry-toolbar button { min-height: 36px !important; }
  html body #data .enh-entry-toolbar button[aria-pressed="true"] { background: var(--palette-petrol) !important; color: #fff !important; }
  html body #data #entrySummaryCards { display: block !important; padding: 0 !important; }
  html body #data .entry-compact-strip { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 0 !important; width: 100% !important; }
  html body #data .entry-compact-item { padding: 12px !important; border: 0 !important; background: var(--palette-surface) !important; }
  html body #data .entry-compact-item strong { display: block; margin-top: 4px; font-size: 15px !important; }
  html body #data .old-pool-total { margin: 12px 0 !important; padding: 12px !important; background: var(--palette-surface) !important; }
  html body #data .old-pool-kpis { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 16px !important; padding: 10px 0 !important; }
  html body #data .old-pool-row { display: grid !important; grid-template-columns: 200px minmax(0,1fr) !important; margin: 0 !important; padding: 12px 0 !important; gap: 16px !important; border-bottom: 1px solid var(--ui-line) !important; }
  html body #data .old-pool-head { padding: 0 !important; background: transparent !important; }
  html body #data .old-pool-head h5 { margin: 0 0 4px !important; font-size: 14px !important; }
  html body #data .old-pool-mini { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 16px !important; padding: 0 !important; }
  html body #data .old-pool-mini strong, html body #data .old-pool-kpis strong { display: block; margin-top: 4px; font-size: 18px !important; }
  html body #data .old-pool-formula-line, html body #data .old-pool-note { padding: 6px 0 !important; font-size: 12px !important; line-height: 1.5 !important; }
  html body #data .valuation-layout { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 20px !important; }
  html body #data .model-table-wrap .sens-table { min-width: 560px !important; }
}
/* Model workspace: a persistent sheet directory and a single reading surface. */
@media screen {
  html body #data .model-workspace { display: grid; grid-template-columns: 156px minmax(0,1fr); gap: 0 20px; border-block: 1px solid var(--ui-line); }
  html body #data .model-workspace > .model-toolbar { display: block !important; padding: 12px 10px !important; border: 0 !important; border-right: 1px solid var(--ui-line) !important; background: #f3f6f3 !important; }
  html body #data .model-workspace .enh-model-groups { display: grid !important; width: 100% !important; height: auto !important; gap: 2px !important; margin-bottom: 12px !important; background: transparent !important; }
  html body #data .model-workspace .enh-model-groups button { text-align: left; border: 0 !important; border-radius: 3px; min-height: 36px !important; padding: 8px 10px !important; }
  html body #data .model-workspace .enh-model-groups button[aria-selected="true"] { color: #fff !important; background: var(--palette-charcoal) !important; }
  html body #data .model-workspace .model-tabs { flex-direction: column !important; align-items: stretch !important; }
  html body #data .model-workspace .model-tabs button { text-align: left !important; border: 0 !important; border-left: 3px solid transparent !important; border-radius: 0 !important; min-height: 44px !important; padding: 9px 10px !important; background: transparent !important; color: var(--ui-muted) !important; white-space: normal !important; }
  html body #data .model-workspace .model-tabs button.active { border-left-color: var(--palette-petrol) !important; background: #dce9e2 !important; color: #244e43 !important; font-weight: 700 !important; }
  html body #data .model-sheet { min-width: 0; padding: 0 !important; border: 0 !important; background: #fff !important; }
  html body #data .model-sheet-tools { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; }
  html body #data .model-unit { font-size: 12px; color: var(--ui-muted); }
  html body #data .model-command-row { display: flex !important; flex-wrap: wrap; justify-content: space-between !important; gap: 8px 16px !important; margin: 0 !important; padding: 12px 0 !important; border: 0 !important; }
  html body #data .enh-model-state { flex: 1 1 320px; padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; }
  html body #data .enh-state-primary { display: block !important; }
  html body #data .enh-state-facts { margin: 4px 0 0 !important; padding: 0 !important; }
  html body #data .enh-state-unverified { padding: 0 !important; border: 0 !important; }
  html body #data .enh-state-copy { gap: 6px !important; }
  html body #data .enh-state-actions { flex: 0 1 auto; align-items: center !important; }
  html body #data .enh-state-actions > button { display: inline-flex; align-items: center; gap: 7px; min-height: 44px !important; }
  html body #data .enh-state-actions > button[hidden] { display: none !important; }
  html body #data .enh-plan-manager > summary { min-width: 112px; padding: 10px 44px 10px 12px !important; min-height: 44px !important; box-sizing: border-box; }
  html body #data .enh-plan-panel { padding: 14px; gap: 10px; border-color: #a8bfb5; }
  html body #data .enh-plan-panel :is(input,select,button) { min-height: 44px; font: inherit; font-size: 14px; }
  html body #data .enh-plan-panel button:disabled { color: #747d77 !important; background: #e9eeea !important; border-color: #ced7d1 !important; cursor: not-allowed; }
  html body #data .enh-state-actions .enh-plan-manager { margin: 0 !important; }
  html body #data .audit-disclosure { margin: 0 0 12px !important; padding: 8px 0 !important; border-block: 1px solid var(--ui-line); font-size: 12px; }
  html body #data .audit-disclosure > button { min-height: 44px !important; padding: 8px 12px !important; border: 1px solid #b5c8be !important; background: #f0f5f2 !important; color: #285f58 !important; border-radius: 3px; text-decoration: none !important; }
  html body #data .audit-disclosure > button[aria-expanded="true"] { background: #dce9e2 !important; }
  html body #data .model-dashboard { margin: 0 0 14px !important; border: 0 !important; border-bottom: 1px solid var(--ui-line) !important; background: var(--ui-tint) !important; }
  html body #data .model-dash { padding: 10px !important; background: transparent !important; border: 0 !important; border-right: 1px solid var(--ui-line) !important; }
  html body #data .model-dash strong { font-size: 21px !important; }
  html body #data .model-context { margin: 12px 0 0; border-block: 1px solid var(--ui-line); }
  html body #data .model-context > summary { padding: 10px 0; font-size: 13px; font-weight: 600; cursor: pointer; }
  html body #data .model-context-body { padding: 0 0 10px; }
  html body #data .assumption-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #data .assumption-cell { display: grid !important; grid-template-columns: minmax(0,1fr) 130px; gap: 6px 12px; align-items: center; padding: 12px !important; }
  html body #data .assumption-cell label { margin: 0 !important; }
  html body #data .assumption-cell .input-line { margin: 0 !important; }
  html body #data .assumption-cell .assumption-memo { grid-column: 1 / -1; }
  html body #data #capMonthlyGrid .assumption-cell, html body #data #capAnnualGrid .assumption-cell { display: block !important; }
  html body #data #capMonthlyGrid .input-line, html body #data #capAnnualGrid .input-line { margin-top: 6px !important; }
  html body #data .assumption-cell :is(input,select) { color: #175f70 !important; background: #f4f9fb !important; border: 1px solid #7d9fab !important; min-height: 44px !important; font-size: 16px !important; border-radius: 3px; }
  html body #data .assumption-cell :is(input,select):focus-visible { outline: 2px solid #176775; outline-offset: 2px; background: #fff !important; }
  html body #data .table-actions { margin: 0 !important; }
  html body .table-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 44px; height: 44px; min-height: 44px !important; padding: 10px !important; border-radius: 3px; }
  .control-label--compact { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  html body .report-search-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px !important; }

  /* Trends read existing model cells; no independent forecast or calculation state. */
  html body #data .model-outlook { margin: 0 0 20px !important; padding: 14px 16px !important; background: #f6f8f6; border-block: 1px solid var(--ui-line); }
  .outlook-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 12px; }
  .outlook-heading figcaption { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; }
  .outlook-heading figcaption strong { font-size: 15px; color: #285f58; }
  .outlook-heading figcaption > span { font-size: 12px; color: #626e6a; }
  .outlook-heading .chart-segments { margin: 0 !important; }
  .outlook-scroll { overflow-x: auto; scrollbar-width: thin; }
  .outlook-plot { display: grid; grid-template-columns: repeat(9,minmax(0,1fr)); gap: 0; min-width: 580px; padding: 4px 0; }
  .outlook-column { display: grid; grid-template-rows: 24px 86px 28px; min-width: 0; text-align: center; font-variant-numeric: tabular-nums; }
  .outlook-column > strong { font-size: 12px; color: #34483f; font-weight: 600; }
  .outlook-column > span { font-size: 12px; color: #626e6a; padding-top: 8px; }
  .outlook-track { position: relative; margin-top: 6px; }
  .outlook-track::after { content: ""; position: absolute; left: 0; right: 0; bottom: var(--zero); border-bottom: 1px solid #a6bbb0; }
  .outlook-track > i { position: absolute; left: 25%; width: 50%; background: #446b5d; min-height: 1px; box-sizing: border-box; }
  .outlook-column.is-forecast .outlook-track > i { background: #d3e2da; border: 1px solid #749b8a; }
  .outlook-column.is-negative > strong { color: #a04748; }
  .outlook-column.is-negative .outlook-track > i { background: #a04748; }
  .outlook-column.is-forecast.is-negative .outlook-track > i { background: #f1dedd; border-color: #a04748; }
  .outlook-column.is-forecast > span { font-weight: 600; color: #285f58; }
  .outlook-legend { display: flex; gap: 20px; margin-top: 8px; color: #626e6a; font-size: 12px; }
  .outlook-legend > span { display: inline-flex; align-items: center; gap: 6px; }
  .outlook-legend > span::before { content: ""; display: inline-block; width: 12px; height: 8px; background: #446b5d; }
  .outlook-legend > .outlook-forecast::before { background: #d3e2da; border: 1px solid #749b8a; }
}
@media screen and (max-width: 1100px) {
  html body #data .model-workspace { grid-template-columns: 136px minmax(0,1fr); gap: 0 14px; }
  html body #data .assumption-cell { grid-template-columns: 1fr; }
}
@media screen and (max-width: 800px) {
  html body #summary .decision-header { grid-template-columns: 1fr !important; gap: 12px !important; }
  html body #data .model-workspace { display: block; }
  html body #data .model-workspace > .model-toolbar { border-right: 0 !important; border-bottom: 1px solid var(--ui-line) !important; padding: 8px 0 !important; }
  html body #data .model-workspace .enh-model-groups { grid-template-columns: 1fr 1fr; margin-bottom: 6px !important; }
  html body #data .model-workspace .enh-model-groups button { text-align: center; }
  html body #data .model-workspace .model-tabs { flex-direction: row !important; flex-wrap: wrap !important; }
  html body #data .model-workspace .model-tabs button { border-left: 0 !important; border-bottom: 2px solid transparent !important; padding: 8px 10px !important; }
  html body #data .model-workspace .model-tabs button.active { border-bottom-color: var(--palette-petrol) !important; }
  html body #data .model-sheet-tools { gap: 6px; flex-wrap: wrap; }
  html body #data .model-dashboard { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #data #model-summary .model-dash { padding: 8px 10px !important; }
  html body #data #model-summary .model-dash strong { font-size: 20px !important; margin: 2px 0 !important; }
  html body #data #model-summary .model-dash small { font-size: 11px !important; }
}
@media screen and (max-width: 359px) {
  html body #data .assumption-grid { grid-template-columns: 1fr !important; }
}
@media print {
  .model-sheet-tools { display: none !important; }
  #data .model-workspace { display: block !important; }
  #data .model-context { display: block !important; }
  #data .model-context > .model-context-body { display: block !important; }
}
@media screen and (max-width: 1100px) {
  html body .financial-snapshot { grid-template-columns: 1fr !important; }
  html body .finance-callout { padding: 12px !important; }
  html body .deal-snapshot-notes { grid-template-columns: 1fr !important; gap: 8px !important; }
  html body #data .model-toolbar { grid-template-columns: 1fr !important; }
  html body #data .enh-model-groups { width: 220px; }
  html body .closing-chain > article { grid-template-columns: 180px minmax(0,1fr) !important; }
  html body .closing-chain__gate { grid-column: 2; grid-template-columns: repeat(2,minmax(0,1fr)) !important; border-top: 1px solid var(--ui-line); }
  html body .closing-chain__stage { grid-row: span 2; }
}
@media screen and (max-width: 800px) {
  html body main#top .report-section, html body main#top #data.shell,
  html body .report-meta, html body .report-footer > .shell { width: calc(100% - 32px) !important; }
  html body .topbar .nav, html body .toc { width: calc(100% - 32px) !important; }
  html body .risk-list { grid-template-columns: 1fr !important; }
  html body #data .model-cover-meta { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #data .model-dashboard { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  html body #data .enh-state-primary { grid-template-columns: 1fr !important; gap: 6px !important; }
  html body #data .enh-state-actions:has(.enh-plan-manager[open]) { flex-basis: 100%; }
  html body #data .enh-plan-manager[open] { flex: 1 1 100%; min-width: 0; }
  html body #data .enh-plan-panel { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; max-width: none; margin-top: 6px; box-shadow: none; }
  html body #data .enh-plan-panel :is(input,select) { width: 100%; min-width: 0; }
  html body #data .assumption-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #data #capMonthlyGrid, html body #data #capAnnualGrid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  html body .valuation-ladder article { grid-template-columns: minmax(0,1fr) auto !important; gap: 4px 12px !important; }
  html body .valuation-ladder article p { grid-column: 1 / -1 !important; }
}
@media screen and (max-width: 640px) {
  html body main#top .report-section > .section-head { grid-template-columns: 38px minmax(0,1fr) !important; gap: 12px !important; }
  html body main#top .chapter-number { font-size: 28px; }
  html body main#top .section-thesis { font-size: 14px !important; }
  .outlook-plot { display: block; min-width: 0; }
  .outlook-column { grid-template-columns: 60px minmax(0,1fr) 66px; grid-template-rows: 30px; align-items: center; gap: 8px; text-align: left; }
  .outlook-column > span { grid-column: 1; grid-row: 1; padding: 0; }
  .outlook-column > strong { grid-column: 3; grid-row: 1; text-align: right; }
  .outlook-track { grid-column: 2; grid-row: 1; height: 12px; margin: 0; background: #e8eeea; }
  .outlook-track::after { left: var(--zero); right: auto; top: -9px; bottom: -9px; border: 0; border-left: 1px solid #9cb4a7; }
  .outlook-track > i { left: var(--start); width: var(--extent); height: 100% !important; bottom: 0 !important; }
  html body main#top .report-section { padding: 20px 0 !important; }
  html body .toc { width: 100% !important; }
  html body main#top .report-section > .section-head h2 { font-size: 21px !important; }
  html body .chapter-index { margin-bottom: 14px !important; }
  html body #summary .decision-header__copy h1 { font-size: 28px !important; }
  html body #summary .report-title-sub { font-size: 19px; margin: 4px 0 0; }
  html body #summary .management-pulse { grid-template-columns: repeat(6,minmax(0,1fr)) !important; }
  html body #summary .management-pulse > article { grid-column: span 2 !important; }
  html body #summary .management-pulse > article:nth-child(n+4) { grid-column: span 3 !important; }
  html body #summary .management-pulse .metric-link, html body #summary .management-pulse > article:nth-child(n+4) .metric-link { display: flex !important; flex-direction: column !important; align-items: start !important; padding: 10px 8px !important; }
  html body #summary .management-pulse strong { font-size: 23px !important; text-align: left !important; white-space: nowrap; }
  html body #summary .management-pulse small { font-size: 11px !important; }
  html body #summary .management-pulse > article:nth-child(n+4) strong { font-size: 25px !important; }
  html body #summary .period-judgment p > strong { font-size: 19px !important; }
  html body #financial .decision-header__result { grid-template-columns: 1fr !important; }
  html body #financial .decision-metric { padding: 12px !important; }
  html body #financial .decision-metric strong { font-size: 24px !important; }
  html body .deal-snapshot-main { grid-template-columns: 1fr !important; gap: 10px !important; }
  html body .operating-chart-pair { grid-template-columns: 1fr !important; gap: 14px !important; }
  html body .closing-chain > article { grid-template-columns: 1fr !important; }
  html body .closing-chain__stage { grid-row: auto; display: grid !important; grid-template-columns: 30px minmax(0,1fr) !important; align-items: start !important; gap: 6px 10px !important; }
  html body .closing-chain__stage > span { grid-row: span 2; margin: 0 !important; font-size: 22px !important; line-height: 1.2 !important; white-space: nowrap !important; min-width: 30px !important; }
  html body .closing-chain__stage .state-stack { grid-column: 2; }
  html body .closing-chain__gate { grid-column: 1; }
  html body .closing-chain__core { border-top: 1px solid var(--ui-line); }
  html body #data .model-dashboard { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #data .model-dash { padding: 10px !important; }
  html body #data .model-dash strong { font-size: 22px !important; }
  html body #data .model-dash:last-child { grid-column: 1 / -1 !important; display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; align-items: baseline; }
  html body #data .model-dash:last-child small { grid-column: 1 / -1; }
  html body #data .model-command-row { gap: 6px !important; }
  html body #data .enh-model-groups { width: 100%; }
  html body #data .model-tabs button { padding: 9px 8px !important; font-size: 12px !important; }
  html body #data .assumption-cell { padding: 10px !important; }
  html body #data .model-meta-cell { display: block !important; }
  html body #data .model-table-wrap tr > :first-child { min-width: 110px !important; max-width: 150px !important; }
  html body #data .entry-compact-strip, html body #data .old-pool-row,
  html body #data .valuation-layout { grid-template-columns: 1fr !important; }
  html body #data .old-pool-kpis { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #data .old-pool-mini { gap: 8px !important; }
  html body #data .old-pool-mini strong { font-size: 16px !important; }
}
@media screen and (max-width: 359px) {
  html body #summary .management-pulse { grid-template-columns: 1fr !important; }
  html body #summary .management-pulse > article,
  html body #summary .management-pulse > article:nth-child(n+4) { grid-column: 1 !important; }
  html body #summary .management-pulse .metric-link,
  html body #summary .management-pulse > article:nth-child(n+4) .metric-link { display: grid !important; grid-template-columns: 1fr auto; }
  html body #summary .management-pulse small { grid-column: 1 / -1; }
  html body #data .assumption-grid { grid-template-columns: 1fr !important; }
  html body #data #capMonthlyGrid, html body #data #capAnnualGrid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body .closing-chain__gate { grid-template-columns: 1fr !important; }
}
/* Mobile reading: touch-sized navigation, legible prose and scoped wide tables. */
@media screen and (max-width: 640px) {
  html { scroll-padding-top: 68px !important; }
  html body main#top p, html body main#top li { font-size: 14px !important; line-height: 1.65 !important; }
  html body main#top .chart-footnote, html body main#top .model-note,
  html body main#top .assumption-memo, html body main#top .figure-source-link { font-size: 13px !important; line-height: 1.6 !important; }
  html body main#top h3 { font-size: 18px !important; }
  html body main#top .report-section > .section-head h2 { font-size: 21px !important; line-height: 1.45 !important; }
  html body .toc { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; scroll-padding-inline: 12px; scrollbar-width: none; }
  html body .toc a { flex: 0 0 auto !important; min-width: 104px !important; min-height: 46px !important; padding: 10px 12px !important; font-size: 13px !important; white-space: nowrap !important; }
  html body .chapter-index { flex-wrap: nowrap !important; overflow-x: auto; gap: 4px 16px !important; scrollbar-width: thin; }
  html body .chapter-index a { flex: 0 0 auto; padding-block: 10px; font-size: 13px !important; white-space: nowrap; }
  html body main#top button, html body main#top summary { min-height: 44px !important; }
  html body main#top .compact-details > summary { display: flex; align-items: center; gap: 8px; font-size: 14px !important; }
  html body main#top .compact-details > summary small { font-size: 12px !important; }
  html body #summary .management-pulse { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #summary .management-pulse > article { grid-column: auto !important; }
  html body #summary .management-pulse > article:first-child { grid-column: 1 / -1 !important; }
  html body #summary .management-pulse > article:nth-child(n+4) { grid-column: auto !important; }
  html body #summary .management-pulse .metric-link { padding: 10px 12px !important; }
  html body #summary .management-pulse strong { font-size: 25px !important; }
  html body #summary .management-pulse small { font-size: 12px !important; line-height: 1.45 !important; }
  html body #summary .management-pulse > article:first-child .metric-link { display: grid !important; grid-template-columns: 1fr auto; align-items: baseline !important; }
  html body #summary .management-pulse > article:first-child small { grid-column: 1 / -1; }
  html body .risk-meta, html body .closing-chain__gate { grid-template-columns: 1fr !important; gap: 10px !important; }
  html body .risk-meta > div, html body .closing-chain__gate > div { display: grid; grid-template-columns: 72px minmax(0,1fr); align-items: baseline; gap: 10px; }
  html body .closing-chain__gate dd, html body .risk-meta dd { margin: 0 !important; font-size: 13px !important; }
  html body .closing-chain__core p { font-size: 14px !important; }
  html body .closing-chain__stage strong { font-size: 15px !important; }
  html body main#top .table-wrap, html body main#top .model-table-wrap { overscroll-behavior-x: contain; scrollbar-width: thin; }
  html body main#top .table-wrap tr > :first-child,
  html body main#top .model-table-wrap tr > :first-child { position: sticky; left: 0; z-index: 1; background: #f1f4f2; box-shadow: 1px 0 var(--ui-line); }
  html body #data .model-workspace .model-tabs { flex-wrap: nowrap !important; overflow-x: auto !important; scrollbar-width: thin; }
  html body #data .model-workspace .model-tabs button { flex: 0 0 auto !important; white-space: nowrap !important; font-size: 13px !important; }
  html body #data .assumption-cell input, html body #data .assumption-cell select,
  html body #data .enh-plan-panel input, html body #data .enh-plan-panel select,
  html body #data .mobile-entry-cards input, html body .report-search-input { font-size: 16px !important; min-height: 44px !important; }
  html body #data .assumption-grid { grid-template-columns: 1fr !important; }
  html body #data .assumption-cell { grid-template-columns: minmax(0,1fr) 130px !important; }
  html body #data #capMonthlyGrid, html body #data #capAnnualGrid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #data .enh-state-actions { flex-wrap: wrap !important; }
  html body #data .enh-state-actions > *, html body #data .table-actions > * { min-height: 44px !important; }
  html body #data .model-sheet-tools { align-items: center; }
  html body #data .mobile-period-choice { display: flex; flex-basis: 100%; gap: 0; margin: 4px 0 0; }
  html body #data:not([data-model-tab="summary"]):not([data-model-tab="pl"]):not([data-model-tab="wc"]):not([data-model-tab="cf"]):not([data-model-tab="bs"]) .mobile-period-choice { display: none; }
  html body #data .mobile-period-choice button { font: inherit; font-size: 13px; border: 1px solid var(--ui-line); padding: 8px 16px; background: #fff; color: var(--ui-muted); }
  html body #data .mobile-period-choice button[aria-pressed="true"] { background: var(--palette-petrol) !important; color: #fff !important; }
  html body #data[data-period-view="recent"] .period-table .outside-recent { display: none !important; }
  html body #data[data-period-view="recent"] .model-table-wrap .period-table { min-width: 358px !important; table-layout: fixed !important; }
  html body #data[data-period-view="recent"] .period-table tr > :first-child { width: 110px !important; min-width: 110px !important; max-width: 110px !important; white-space: normal !important; }
  html body #data[data-period-view="recent"] .period-table tr > :not(:first-child) { width: auto !important; min-width: 0 !important; }
  html body #appendix .appendix-index-wrap { overflow: visible !important; }
  html body #appendix .appendix-index-table { display: block; width: 100% !important; min-width: 0 !important; }
  html body #appendix .appendix-index-table caption { display: block; text-align: left; }
  html body #appendix .appendix-index-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  html body #appendix .appendix-index-table tbody { display: block; }
  html body #appendix .appendix-index-table tbody tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--ui-line); }
  html body #appendix .appendix-index-table tbody th { display: block; position: static; color: var(--ui-ink) !important; background: transparent !important; padding: 0 0 8px !important; box-shadow: none; border: 0; font-size: 14px !important; }
  html body #appendix .appendix-index-table tbody td { display: grid; grid-template-columns: 88px minmax(0,1fr); gap: 8px; width: auto !important; padding: 4px 0 !important; border: 0; white-space: normal !important; font-size: 13px !important; }
  html body #appendix .appendix-index-table tbody td::before { content: attr(data-label); color: var(--ui-muted); }
  html body .report-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 32px); padding: 14px; }
  html body .report-dialog-head button { min-height: 44px; }
  html body main#top #appendix .appendix-index-wrap::before,
  html body main#top #appendix .appendix-index-wrap::after { display: none !important; }
  html body main#top #appendix .appendix-index-table tbody th,
  html body main#top #appendix .appendix-index-table tbody td { width: 100% !important; min-width: 0 !important; max-width: none !important; border: 0 !important; box-shadow: none !important; background: transparent !important; overflow-wrap: anywhere; box-sizing: border-box; }
  html body main#top #appendix .appendix-index-table tbody th { color: var(--ui-ink) !important; padding: 0 0 8px !important; }
  html body main#top #appendix .appendix-index-table tbody td { padding: 4px 0 !important; }
  html body #appendix .appendix-index-table .state-tag { justify-self: start; }
  html body main#top .table-scroll-hint { display: none !important; }
  html body main#top #data button,
  html body main#top #data summary,
  html body .report-meta summary,
  html body .topbar .report-search-button { min-height: 44px !important; height: auto !important; }
}
/* Editorial hierarchy: headings carry structure; semantic warnings retain their colors. */
@media screen {
  html body main#top { --reading-heading: #243a37; --reading-section: #285f58; --reading-body: #46524f; --reading-note: #626e6a; }
  html body main#top p { color: var(--reading-body) !important; font-weight: 400 !important; }
  html body main#top .report-section > .section-head h2 { color: var(--reading-heading) !important; font-size: 26px !important; font-weight: 750 !important; line-height: 1.4 !important; }
  html body main#top .report-section > .section-head { border-bottom: 2px solid #b5cbc3 !important; padding-bottom: 12px !important; }
  html body main#top h3 { color: var(--reading-section) !important; font-size: 19px !important; font-weight: 700 !important; border-bottom: 1px solid #c9d8d2 !important; padding-bottom: 9px !important; }
  html body main#top h4 { color: var(--reading-heading) !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.5 !important; }
  html body main#top h5 { color: var(--reading-section) !important; font-weight: 700 !important; }
  html body main#top .kicker { color: var(--reading-note) !important; font-size: 12px !important; font-weight: 500 !important; }
  html body main#top .risk-copy > strong,
  html body main#top .evidence-list strong,
  html body main#top .closing-chain__stage strong { color: var(--reading-heading) !important; font-weight: 700 !important; font-size: 15px !important; }
  html body main#top #data .assumption-section-title { background: #edf3f0 !important; border-left: 3px solid #78998c !important; }
  html body main#top #data .assumption-section-title h5 { font-size: 15px !important; }
  html body main#top #data .assumption-cell label { color: var(--reading-heading) !important; font-weight: 600 !important; }
  html body main#top #data .model-block-title { border-bottom: 1px solid #c9d8d2 !important; padding-bottom: 8px !important; }
  html body main#top #data .model-block-title h4 { color: var(--reading-section) !important; font-size: 17px !important; }
  html body main#top .compact-details > summary { color: var(--reading-heading) !important; font-weight: 650 !important; }
  html body main#top .chart-footnote,
  html body main#top .model-note,
  html body main#top .assumption-memo,
  html body main#top .model-block-title > span,
  html body main#top .compact-details > summary small { color: var(--reading-note) !important; font-weight: 400 !important; }
  html body main#top .period-judgment p > strong { color: var(--reading-heading) !important; font-weight: 750 !important; }
}
@media screen and (max-width: 640px) {
  html body main#top .report-section > .section-head h2 { font-size: 23px !important; }
  html body main#top h3 { font-size: 18px !important; }
}
/* Clickable elements remain identifiable without hover, including on touch screens. */
@media screen {
  html body main#top a { color: #176775; cursor: pointer; }
  html body main#top .chapter-index { display: flex !important; align-items: stretch; padding: 0 !important; gap: 0 !important; background: #edf3f0; border-block: 1px solid #c5d4cd; }
  .chapter-index-label { display: flex; align-items: center; flex: 0 0 auto; padding: 10px 14px; color: #5e6e66; font-size: 12px; }
  html body main#top .chapter-index a { display: flex; align-items: center; padding: 10px 14px !important; border: 0; border-left: 1px solid #d0dcd6; color: #285f58; font-size: 13px; font-weight: 600; text-decoration: none; }
  html body main#top .chapter-index a:hover { background: #dceae3; }
  html body main#top #summary .management-pulse > article { display: flex !important; flex-direction: column; }
  html body main#top #summary .metric-link { flex: 1; height: auto; cursor: default; }
  html body main#top #summary .metric-link:hover { background: transparent !important; }
  html body main#top #summary .metric-action { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 6px 14px; border-top: 1px solid #d5e0d9; background: #f0f5f2; color: #285f58; font-size: 12px; font-weight: 600; text-decoration: none; }
  html body main#top #summary .metric-action:hover { background: #d4e5dc; }
  .source-reference { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; padding-top: 8px; border-top: 1px solid #d6dfd9; }
  .source-reference-note { min-width: 0; color: #626e6a; font-size: 12px; line-height: 1.6; }
  html body main#top .figure-source-link { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; min-height: 44px; padding: 5px 12px; margin-top: 0 !important; border: 1px solid #a8bfb5; border-radius: 3px; background: #f0f6f3; color: #285f58; font-weight: 600; text-decoration: none; }
  html body main#top .chapter-index a[aria-current="location"] { background: #dce9e2; box-shadow: inset 0 -2px #366662; }
  html body main#top .figure-source-link:hover { background: #dceae3; }
  html body main#top details > summary,
  html body .report-meta details > summary { position: relative !important; padding-right: 48px !important; border: 1px solid #adc5bf !important; background: #f0f6f3 !important; cursor: pointer; list-style: none !important; }
  html body main#top details > summary::-webkit-details-marker,
  html body .report-meta details > summary::-webkit-details-marker { display: none; }
  html body main#top details > summary::before,
  html body .report-meta details > summary::before { display: none !important; }
  html body main#top details > summary::after,
  html body .report-meta details > summary::after { content: "+" !important; display: grid !important; place-items: center; position: absolute !important; right: 12px !important; top: 50% !important; transform: translateY(-50%) !important; width: 24px !important; height: 24px !important; border: 1px solid #7fa69a !important; border-radius: 3px; background: #fff !important; color: #285f58 !important; font: 600 20px/1 sans-serif !important; margin: 0 !important; }
  html body main#top details[open] > summary::after,
  html body .report-meta details[open] > summary::after { content: "-" !important; background: #366662 !important; color: #fff !important; }
  html body main#top details > summary:hover { border-color: #507e72 !important; background: #e4f0ea !important; }
  html body .table-actions button,
  html body .report-search-button,
  html body #data .enh-state-actions > button,
  html body .chart-segments button:not([aria-pressed="true"]) { border: 1px solid #8faea4 !important; background: #f5f9f7 !important; color: #285f58 !important; font-weight: 600 !important; cursor: pointer; }
  html body #data .model-workspace .model-tabs button:not(.active) { color: #285f58 !important; text-decoration: none; border-left: 3px solid transparent; }
  html body main#top #data .enh-model-groups button:not([aria-selected="true"]) { border: 1px solid #8faea4 !important; background: #f5f9f7 !important; color: #285f58 !important; cursor: pointer; }
  html body :is(a,button,summary):focus-visible { outline: 3px solid #176775 !important; outline-offset: 3px !important; }
  html body :is(a,button,summary):active { filter: brightness(.94); }
}
@media screen and (max-width: 600px) {
  html body main#top #summary .metric-action { min-height: 44px; }
  html body main#top .figure-source-link { min-height: 44px; padding-inline: 10px; }
  .chapter-index-label { padding-inline: 10px; }
}
@media print {
  .metric-action, .source-reference .figure-source-link { display: none !important; }
  .source-reference-note { font-size: 8pt; color: #626e6a; }
}

/* Closing-review records retain all payment conditions on narrow screens. */
@media screen and (max-width: 640px) {
  html body #registration-review .table-wrap { overflow: visible; }
  html body #registration-review :is(table, tbody, tr, th, td) {
    display: block; width: auto !important; min-width: 0 !important; max-width: none;
    white-space: normal !important; position: static !important;
  }
  html body #registration-review table { border: 0; }
  html body #registration-review caption { display: block; width: auto; }
  html body #registration-review thead { display: none; }
  html body #registration-review tr { margin: 0; border-bottom: 1px solid #b8c9c4; }
  html body #registration-review th { padding: 8px 10px; background: #e8f0ed; color: #28534a; }
  html body #registration-review td { padding: 6px 10px; border: 0; text-align: left; }
  html body #registration-review td::before { display: block; color: #56665f; font-size: 12px; font-weight: 600; }
  html body #registration-review .table-wrap:first-child td:nth-child(2)::before { content: "登记出资额（万元）"; }
  html body #registration-review .table-wrap:first-child td:nth-child(3)::before { content: "登记股比"; }
  html body #registration-review .table-wrap:first-child td:nth-child(4)::before { content: "核对结果"; }
  html body #registration-review .table-wrap:nth-child(2) td:nth-child(2)::before { content: "当前金额依据（元）"; }
  html body #registration-review .table-wrap:nth-child(2) td:nth-child(3)::before { content: "付款前处理"; }
}

/* Secondary methods and evidence detail stay adjacent to their conclusions. */
html body main#top .reading-details { margin: 8px 0; padding: 0; border: 0; min-width: 0; background: transparent; }
html body main#top #summary > .reading-details { order: 4; }
html body main#top #summary > #closing-path { order: 5; }
html body main#top .reading-unverified { margin: 0 0 10px; font-size: 12px; }
html body main#top .reading-unverified dt { font-weight: 600; color: #6c593c; }
html body main#top .reading-unverified dd { margin: 4px 0 0; }
html body main#top .reading-details > summary { display: flex; align-items: center; min-height: 40px !important; padding: 8px 46px 8px 10px !important; border: 0 !important; border-block: 1px solid #d4dfd9 !important; border-radius: 0; background: #f5f8f6 !important; color: #3f665b !important; font: 500 12px/1.5 var(--font-sans) !important; letter-spacing: 0; cursor: pointer; }
html body main#top .reading-details > summary:hover { background: #e8f0eb !important; }
html body main#top .reading-details > summary::after { width: 20px !important; height: 20px !important; right: 10px !important; font-size: 17px !important; }
html body main#top .reading-details-body { padding: 10px 12px; background: #fff; border-bottom: 1px solid #d4dfd9; min-width: 0; }
html body main#top .reading-details-body > :is(p,div,article) { margin: 0 !important; }
html body main#top .reading-details-body > :is(.evidence-note,.model-note,.model-quality,.model-footnote,.model-fee-caution) { padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
html body main#top .reading-details-body > p + p { margin-top: 8px !important; }
html body main#top .risk-item .reading-details { margin: 8px 0 0; }
html body main#top .reading-details .risk-meta { margin: 0 !important; }
html body main#top .appendix-update-grid.reading-open-items { grid-template-columns: 1fr !important; }
html body main#top .reading-open-items ul { columns: 2; column-gap: 28px; }
html body main#top .reading-open-items li { break-inside: avoid; }
@media screen and (max-width: 640px) {
  html body main#top .reading-details > summary { min-height: 44px !important; }
  html body main#top .reading-open-items ul { columns: 1; }
}
@media print {
  html body main#top .reading-details { break-inside: auto !important; margin: 4pt 0 !important; }
  html body[data-print-mode="summary"] main#top #closing-path { display: none !important; }
  html body main#top #closing-path :is(.closing-chain__stage,.closing-chain__core,.closing-chain__gate) { padding: 5pt !important; }
  html body main#top #closing-path .closing-chain__core p { margin-top: 4pt !important; font-size: 9pt !important; line-height: 1.45 !important; }
  html body main#top #closing-path .closing-chain__gate :is(dt,dd) { font-size: 8pt !important; line-height: 1.4 !important; }
  html body main#top #closing-path .detail-body { padding: 4pt !important; }
  html body main#top #closing-path .source-reference { margin: 3pt 0 0 !important; padding: 0 !important; }
  html body[data-print-mode="full"] main#top #summary,
  html body[data-print-mode="full"] main#top #closing-path { padding-bottom: 0 !important; margin-bottom: 0 !important; border-bottom: 0 !important; }
  html body main#top .reading-details > summary { display: none !important; }
  html body main#top .reading-details > summary::after { display: none !important; }
  html body main#top .reading-details-body { padding: 0; border: 0; }
}

/* Screen charts share compact rows, aligned values and restrained framing. */
@media screen {
  html body .operating-chart-pair { gap: 20px !important; margin: 12px 0 16px !important; align-items: start; }
  html body .operating-chart-pair figure { padding: 10px 0 0 !important; background: transparent !important; border-top: 1px solid #b9ccc3 !important; border-bottom: 0 !important; }
  html body .operating-chart-pair figcaption { gap: 2px; margin: 0 0 8px; }
  html body .operating-chart-pair figcaption strong { font-size: 16px; color: #263c38; }
  html body .chart-segments { margin: 6px 0 8px !important; }
  html body .chart-segments button { min-height: 34px; padding: 6px 11px; border-radius: 0; font-size: 12px; }
  html body .comparison-plot { min-height: 0; }
  html body .comparison-row { grid-template-columns: 64px minmax(0,1fr) 86px; gap: 10px; min-height: 32px; padding: 4px 0; border-bottom: 1px solid #edf1ee; }
  html body .comparison-row > strong { white-space: nowrap; font-size: 13px; }
  html body .comparison-track { height: 10px; background: #edf1ee; }
  html body .comparison-track i { background: #537b6d; border-radius: 0; }
  html body .customer-concentration .comparison-row { grid-template-columns: 132px minmax(0,1fr) 58px; }
  html body .customer-concentration .comparison-row > span { font-size: 12px; }
  html body .operating-chart-pair .source-reference,
  html body .revenue-scenarios .source-reference { margin-top: 8px; padding-top: 6px; gap: 8px; }
  html body .operating-chart-pair .figure-source-link,
  html body .revenue-scenarios .figure-source-link { min-height: 34px; padding: 4px 9px; }
  html body .operating-chart-pair .reading-details { margin: 8px 0 0; }

  html body #data .model-outlook { padding: 10px 12px !important; margin: 0 0 12px !important; background: #fff; border-top: 1px solid #b9ccc3; border-bottom: 1px solid #dbe4df; }
  html body .outlook-heading { gap: 4px 12px; margin-bottom: 6px; }
  html body .outlook-heading figcaption { gap: 4px 10px; }
  html body .outlook-heading .chart-segments { margin: 0 !important; }
  html body .outlook-plot { padding: 18px 0 0; min-width: 540px; }
  html body .outlook-column { position: relative; grid-template-rows: 72px 24px; }
  html body .outlook-column > strong { position: absolute; left: 0; right: 0; bottom: calc(24px + 72px * var(--label-level) + 4px); line-height: 16px; font-size: 12px; white-space: nowrap; }
  html body .outlook-track { grid-row: 1; height: 72px; margin: 0; }
  html body .outlook-track > i { left: 20%; width: 60%; min-height: 0; }
  html body .outlook-column > span { grid-row: 2; padding-top: 5px; font-size: 11px; }
  html body .outlook-column.is-forecast:nth-child(4) { border-left: 1px dashed #baccc3; }
  html body .outlook-legend { margin-top: 6px; gap: 14px; font-size: 11px; }

  html body .revenue-scenarios { --scenario-label: 88px; --scenario-value: 110px; --scenario-note: 172px; padding: 10px 0 0 !important; background: transparent !important; border: 0 !important; }
  html body .revenue-scenarios article { grid-template-columns: var(--scenario-label) minmax(0,1fr) var(--scenario-value) var(--scenario-note) !important; gap: 12px !important; min-height: 32px !important; padding: 4px 0 !important; }
  html body .revenue-scenarios article > b { text-align: right; white-space: nowrap; }
  html body .revenue-scenarios article > small { font-size: 11px !important; }
  html body .revenue-scenarios .is-base { background: transparent !important; }
  html body .revenue-scenarios .scenario-bar { height: 10px !important; background: #edf1ee !important; }
  html body .scenario-axis { position: relative; display: block !important; height: 16px; margin: 0 calc(var(--scenario-value) + var(--scenario-note) + 24px) 4px calc(var(--scenario-label) + 12px) !important; font-size: 10px !important; }
  html body .scenario-axis span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
  html body .scenario-axis span:nth-child(1) { left: 0; transform: none; }
  html body .scenario-axis span:nth-child(2) { left: 26.178%; }
  html body .scenario-axis span:nth-child(3) { left: 52.356%; }
  html body .scenario-axis span:nth-child(4) { left: 78.534%; }
  html body .scenario-axis span:nth-child(5) { left: 100%; transform: translateX(-100%); }

  html body .cash-bridge { margin-bottom: 12px; border: 0; background: transparent; }
  html body .cash-bridge__scale,
  html body .cash-bridge__row { grid-template-columns: 184px minmax(0,1fr) 96px; gap: 12px; padding: 5px 0; }
  html body .cash-bridge__scale { background: transparent; font-size: 10px; }
  html body .cash-bridge__scale > * { grid-row: 1; }
  html body .cash-bridge__row { min-height: 34px; }
  html body .cash-bridge__row > span { font-size: 12px; }
  html body .cash-bridge__plot { height: 12px; }
  html body .cash-bridge__plot i { height: 8px; top: 2px; }
  html body main#top .cash-bridge > p { padding: 6px 0; margin: 0 !important; background: transparent; font-size: 12px !important; }
}
@media screen and (max-width: 800px) {
  html body .outlook-plot { display: block; min-width: 0; padding: 2px 0; }
  html body .outlook-column { display: grid; grid-template-columns: 52px minmax(0,1fr) 66px; grid-template-rows: 26px; gap: 8px; }
  html body .outlook-column > strong { position: static; grid-column: 3; grid-row: 1; font-size: 12px; text-align: right; }
  html body .outlook-column > span { grid-column: 1; grid-row: 1; padding: 0; }
  html body .outlook-track { grid-column: 2; grid-row: 1; height: 10px; }
  html body .outlook-track > i { left: var(--start); width: var(--extent); }
  html body .outlook-column.is-forecast:nth-child(4) { border-left: 0; border-top: 1px dashed #baccc3; }
  html body .revenue-scenarios { --scenario-note: 118px; --scenario-label: 78px; }
}
@media screen and (max-width: 640px) {
  html body .operating-chart-pair { gap: 14px !important; }
  html body .chart-segments { width: fit-content; max-width: 100%; }
  html body .chart-segments button { min-height: 44px !important; padding: 6px 10px; }
  html body .operating-chart-pair .figure-source-link,
  html body .revenue-scenarios .figure-source-link { min-height: 44px; }
  html body .comparison-row { grid-template-columns: 54px minmax(0,1fr) 80px; min-height: 32px; gap: 8px; }
  html body .customer-concentration .comparison-row { grid-template-columns: 112px minmax(0,1fr) 52px; }
  html body .revenue-scenarios article { grid-template-columns: 76px minmax(0,1fr) 108px !important; gap: 2px 8px !important; min-height: 0 !important; padding: 4px 0 !important; }
  html body .revenue-scenarios article > :is(strong,b,small) { line-height: 1.4 !important; }
  html body .revenue-scenarios article > small { grid-column: 2 / -1 !important; margin: 0 !important; font-size: 11px !important; }
  html body .scenario-axis { display: none !important; }
  html body .cash-bridge__scale { display: none; }
  html body .cash-bridge__row { grid-template-columns: minmax(0,1fr) 94px; gap: 5px 8px; padding: 7px 0; }
  html body .cash-bridge__row > span { grid-column: 1; grid-row: 1; }
  html body .cash-bridge__row > strong { grid-column: 2; grid-row: 1; }
  html body .cash-bridge__plot { grid-column: 1 / -1; grid-row: 2; }
}

/* Visual reading layer: factual states, numeric signs and comparable return bands. */
.viz-heat-legend { display: none; }
@media screen {
  html body main#top .viz-table { border-collapse: separate !important; border-spacing: 0 !important; font-variant-numeric: tabular-nums; }
  html body main#top .viz-table :is(th,td) { border-right: 0 !important; border-bottom: 1px solid #dfe7e2 !important; vertical-align: middle; }
  html body main#top .viz-table td { background: #fff; }
  html body main#top .viz-table :is(td:first-child,th[scope="row"]) { background: #f3f6f4 !important; color: #263c38 !important; font-weight: 600; }
  html body main#top .viz-table :is(td,th) small { display: block; margin-top: 3px; font-weight: 400; color: #66756e; }
  html body main#top .viz-table .viz-number { text-align: right; }
  html body main#top #financial-quality .viz-table .viz-number,
  html body main#top #data .viz-table .viz-number,
  html body main#top .viz-table th.viz-period { text-align: right !important; }
  html body main#top .viz-table .viz-negative,
  html body main#top .viz-table .viz-negative strong { color: #a13940 !important; }
  html body main#top .viz-table .viz-zero { color: #79877f !important; }
  html body main#top .viz-table .viz-missing { color: #7b7567 !important; background: #f8f6f1 !important; font-weight: 400 !important; }
  html body main#top #data .viz-table th.viz-interim,
  html body main#top .viz-table th.viz-interim { background: #6a7066 !important; }
  html body main#top .viz-table td.viz-interim { background: #f7f6ef !important; }
  html body main#top #data .viz-table th.viz-forecast,
  html body main#top .viz-table th.viz-forecast { background: #3b655d !important; }
  html body main#top .viz-table .viz-forecast-start { border-left: 2px solid #8eafa2 !important; }
  html body main#top .viz-table .subtotal > td { background: #eef4f0 !important; font-weight: 600; border-top: 1px solid #c8d9cf !important; }
  html body main#top .viz-table .viz-total > :is(td,th),
  html body main#top .viz-table .total-row > :is(td,th) { background: #e4eee8 !important; color: #263c38 !important; font-weight: 700; border-top: 2px solid #91ac9e !important; }
  html body main#top .viz-table .viz-total > .viz-negative { color: #a13940 !important; }
  html body main#top .viz-table .tx-total > :is(td,th) { background: #304c45 !important; color: #fff !important; }
  html body main#top .viz-table .viz-row-active > :is(td,th) { box-shadow: inset 0 1px #a5bdb155, inset 0 -1px #a5bdb155; }
  html body main#top .viz-table .viz-col-active { box-shadow: inset 1px 0 #91afa266, inset -1px 0 #91afa266; }
  html body main#top .viz-table .viz-cell-active { outline: 1px solid #5e8d7c; outline-offset: -1px; }
  html body main#top .viz-table .viz-sensitive { text-align: right !important; background: #f3f6f5 !important; color: #263c38 !important; border: 2px solid white !important; border-radius: 3px; }
  html body main#top .viz-table .viz-sensitive span { display: block; margin-top: 3px; font-size: 13px !important; color: #315d55 !important; font-weight: 650; }
  html body main#top .viz-table .viz-sensitive br { display: none; }
  html body main#top .viz-table .viz-sensitive[data-irr-band="negative"] { background: #f6e5e2 !important; }
  html body main#top .viz-table .viz-sensitive[data-irr-band="negative"] span { color: #9d343d !important; }
  html body main#top .viz-table .viz-sensitive[data-irr-band="0"] { background: #f1f5f2 !important; }
  html body main#top .viz-table .viz-sensitive[data-irr-band="10"] { background: #e1ece5 !important; }
  html body main#top .viz-table .viz-sensitive[data-irr-band="20"] { background: #c7ddd0 !important; }
  html body main#top .viz-table .viz-sensitive[data-irr-band="30"] { background: #a6c8b7 !important; }
  html body main#top .viz-table .viz-sensitive.base { box-shadow: inset 0 0 0 2px #315e50 !important; }
  html body main#top .viz-table .viz-sensitive:focus-visible { outline: 3px solid #183f55; outline-offset: -3px; }
  .viz-heat-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 7px; font-size: 10px; line-height: 1.6; color: #5f7167; }
  html body #data .valuation-layout > .model-block { min-width: 0 !important; max-width: 100%; }
  .viz-heat-legend strong { color: #334d41; font-size: 11px; }
  .viz-heat-legend > span { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
  .viz-heat-legend > span::before { content: ""; width: 10px; height: 10px; background: #f1f5f2; border: 1px solid #c7d6cc; }
  .viz-heat-legend [data-irr-band="negative"]::before { background: #f6e5e2; }
  .viz-heat-legend [data-irr-band="10"]::before { background: #e1ece5; }
  .viz-heat-legend [data-irr-band="20"]::before { background: #c7ddd0; }
  .viz-heat-legend [data-irr-band="30"]::before { background: #a6c8b7; }
  .viz-heat-legend .viz-base-key::before { border: 2px solid #315e50; background: white; }

  html body :is(.comparison-track,.scenario-bar,.tx-allocation-bar) { border-radius: 2px; }
  html body :is(.comparison-track,.scenario-bar) > i { box-sizing: border-box; border-right: 2px solid #315a50; }
  html body .comparison-track > i.is-zero { border: 0; }
  html body .comparison-track > i.is-negative,
  html body .customer-concentration .comparison-row:first-of-type .comparison-track > i,
  html body .revenue-scenarios .is-down .scenario-bar > i { border-right-color: #8d3c40; }
  html body .comparison-track { position: relative; }
  html body .comparison-track::after { content: ""; position: absolute; inset: -3px 50% -3px auto; border-left: 1px solid #c6d4cc; pointer-events: none; opacity: .55; }
  html body .outlook-column:hover { background: #edf4ef; }
  html body :is(.comparison-row,.cash-bridge__row):hover { background: #edf4ef; }
  html body .revenue-scenarios article:hover { background: #edf4ef !important; }
  html body .outlook-column:hover > strong { color: #1c5145; }
  html body .outlook-column.is-negative:hover > strong { color: #a13940; }
  html body .quality-comparison { gap: 14px; margin: 10px 0; }
  html body .quality-comparison > div { position: relative; padding-bottom: 12px; }
  html body .quality-comparison > div::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: #dce6df; }
  html body .quality-comparison > div::after { content: ""; position: absolute; left: 0; bottom: 0; width: var(--quality-share,0%); height: 6px; background: #597e6d; }
  html body .quality-comparison > div + div { border: 0; padding-left: 0; }
  html body .quality-comparison > div + div::after { background: #315f50; }
  html body .signal-gauge > i { display: block !important; height: 6px !important; margin: 8px 0 !important; background: #dce6df !important; border: 0 !important; border-radius: 0 !important; }
  html body .signal-gauge > i > b { display: block; height: 100%; background: #7b826b; }
  html body .order-path > article { border-top: 3px solid #a9b8af !important; background: #f6f8f6 !important; }
  html body .order-path > article.is-confirmed { border-top-color: #4d7c66 !important; background: #edf4ef !important; }
  html body .order-path > article.is-pending { border-top-style: dashed !important; }
  html body .closing-chain__stage { background: #f0f5f2 !important; }
  html body .closing-chain > article.is-current .closing-chain__stage { background: #f6f1e5 !important; }
  html body .closing-chain > article.is-not-started .closing-chain__stage { background: #f4f5f4 !important; }
}

/* App controls: navigation, view selection and commands have distinct weights. */
@media screen {
  body.app-ui { --app-ink:#293237; --app-muted:#667279; --app-line:#dfe5e7; --app-hover:#f1f4f5; --app-accent:#2c665b; --app-selected:#eaf2ef; --app-control:32px; }
  html body.app-ui :is(button,input,select,summary) { letter-spacing:0; }
  html body.app-ui :is(a,button,summary,input,select):focus-visible { outline:2px solid #438575 !important; outline-offset:2px !important; }
  html body.app-ui :is(a,button,summary):active { filter:none; }
  html body.app-ui .control-icon { flex:0 0 16px; width:16px; height:16px; }
  html body.app-ui .topbar { background:#fff !important; border-bottom:1px solid var(--app-line) !important; }
  html body.app-ui .topbar .brand { color:var(--app-ink) !important; font-size:15px !important; font-weight:650; }
  html body.app-ui .toc-wrap { background:#fff !important; border-bottom:1px solid var(--app-line) !important; box-shadow:none !important; }
  html body.app-ui .toc { display:flex !important; justify-content:space-between; gap:4px; background:#fff !important; padding:0 !important; }
  html body.app-ui .toc a { flex:0 0 auto; min-height:40px !important; height:auto !important; padding:10px 14px !important; color:var(--app-muted) !important; background:transparent !important; border:0 !important; border-bottom:2px solid transparent !important; border-radius:0 !important; box-shadow:none !important; }
  html body.app-ui .toc a strong { font-size:12px !important; font-weight:550; }
  html body.app-ui .toc a:hover { color:var(--app-ink) !important; background:var(--app-hover) !important; }
  html body.app-ui .toc a:is(.active,[aria-current="location"],[aria-current="true"]) { color:var(--app-accent) !important; border-bottom-color:var(--app-accent) !important; background:transparent !important; }
  html body.app-ui main#top .chapter-index { flex-wrap:wrap; align-items:center; gap:2px 4px !important; border:0 !important; border-bottom:1px solid var(--app-line) !important; padding:4px 0 8px !important; background:transparent !important; }
  html body.app-ui .chapter-index-label { padding:6px 8px 6px 0; color:var(--app-muted); font-size:11px; }
  html body.app-ui main#top .chapter-index a { min-height:30px !important; padding:6px 9px !important; border:0 !important; border-radius:4px; color:var(--app-muted); background:transparent; font-size:12px; font-weight:500; box-shadow:none; }
  html body.app-ui main#top .chapter-index a:is(:hover,[aria-current="location"]) { background:var(--app-selected); color:var(--app-accent); }
  html body.app-ui main#top .figure-source-link { min-height:30px !important; padding:4px 8px !important; background:transparent !important; border:0 !important; border-radius:4px; font-size:12px !important; color:var(--app-accent) !important; }
  html body.app-ui main#top .figure-source-link:hover { background:var(--app-selected) !important; }
  html body.app-ui main#top #summary .metric-action { min-height:30px; padding:5px 12px; color:var(--app-accent); background:transparent; font-size:11px; }
  html body.app-ui main#top #summary .metric-action:hover { background:var(--app-selected); }
  html body.app-ui main#top details > summary.app-disclosure,
  html body.app-ui .report-meta details > summary.app-disclosure { display:flex !important; align-items:center; justify-content:flex-start !important; gap:8px; min-height:36px !important; padding:8px 4px !important; border:0 !important; border-bottom:1px solid var(--app-line) !important; border-radius:0; background:transparent !important; color:var(--app-ink) !important; font:500 12px/1.6 var(--font-sans) !important; box-shadow:none !important; }
  html body.app-ui main#top details > summary.app-disclosure::after,
  html body.app-ui .report-meta details > summary.app-disclosure::after { display:none !important; }
  html body.app-ui main#top details > summary.app-disclosure:hover,
  html body.app-ui .report-meta details > summary.app-disclosure:hover { background:var(--app-hover) !important; }
  html body.app-ui .app-disclosure-icon { width:14px; height:14px; flex-basis:14px; color:#738087; transition:transform .14s ease; }
  html body.app-ui details[open] > summary > .app-disclosure-icon { transform:rotate(90deg); color:var(--app-accent); }
  html body.app-ui main#top .reading-details-body { padding:10px 12px 12px 26px; border-color:var(--app-line); }

  html body.app-ui .app-icon-button,
  html body.app-ui main#top #data .app-icon-button { display:inline-flex !important; align-items:center; justify-content:center; flex:0 0 var(--app-control); width:var(--app-control) !important; min-width:var(--app-control) !important; height:var(--app-control) !important; min-height:var(--app-control) !important; padding:7px !important; border:1px solid transparent !important; border-radius:5px !important; color:var(--app-muted) !important; background:transparent !important; box-shadow:none !important; cursor:pointer; transition:background .14s,color .14s; }
  html body.app-ui .app-icon-button[hidden],html body.app-ui main#top #data .app-icon-button[hidden] { display:none !important; }
  html body.app-ui .app-icon-button:hover,html body.app-ui main#top #data .app-icon-button:hover { color:var(--app-ink) !important; background:var(--app-hover) !important; }
  html body.app-ui .back-to-top,html body.app-ui .return-reading { right:16px !important; border:1px solid var(--app-line) !important; background:#fff !important; box-shadow:0 2px 8px #2932370d !important; }
  html body.app-ui .back-to-top { bottom:16px; }
  html body.app-ui .return-reading { bottom:54px; }
  html body.app-ui .app-tooltip { position:fixed; z-index:1000; max-width:calc(100vw - 16px); padding:5px 8px; border-radius:4px; background:#293237; color:#fff; pointer-events:none; font:500 11px/1.5 var(--font-sans); box-shadow:0 2px 6px #2932371a; }
  html body.app-ui .app-tooltip[hidden] { display:none; }

  html body.app-ui main#top #data .model-workspace { display:block !important; border:0 !important; overflow:visible !important; }
  html body.app-ui main#top #data .app-model-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 0; border-block:1px solid var(--app-line); position:relative; z-index:16; }
  html body.app-ui main#top #data .app-model-header .enh-model-groups { display:flex !important; flex:0 0 auto; width:auto !important; height:auto !important; padding:0 !important; margin:0 !important; gap:3px !important; background:transparent !important; }
  html body.app-ui main#top #data .enh-model-groups button { display:inline-flex; align-items:center; gap:7px; min-height:34px !important; padding:6px 10px !important; border:0 !important; border-radius:5px !important; background:transparent !important; color:var(--app-muted) !important; font:550 13px/1.4 var(--font-sans) !important; box-shadow:none !important; cursor:pointer; }
  html body.app-ui main#top #data .enh-model-groups button[aria-selected="true"] { color:var(--app-accent) !important; background:var(--app-selected) !important; }
  html body.app-ui main#top #data .enh-model-groups button:hover { color:var(--app-accent) !important; background:var(--app-hover) !important; }
  html body.app-ui main#top #data .model-command-row { flex:1; display:flex !important; align-items:center !important; flex-wrap:nowrap !important; gap:12px !important; padding:0 !important; min-width:0; border:0 !important; }
  html body.app-ui main#top #data .enh-model-state { min-width:0; flex:1 1 100px; margin:0 !important; }
  html body.app-ui main#top #data .enh-state-copy { justify-content:flex-end; gap:6px !important; }
  html body.app-ui main#top #data .enh-state-copy strong { font-size:11px !important; color:var(--app-muted); font-weight:500; }
  html body.app-ui main#top #data .enh-state-copy small { font-size:10px !important; }
  html body.app-ui main#top #data .enh-state-actions { flex:0 0 auto; width:auto !important; flex-wrap:nowrap !important; gap:3px !important; overflow:visible !important; }
  html body.app-ui main#top #data #enhErrorJump { flex:0 0 auto; min-height:32px !important; padding:6px 8px !important; border:0; border-radius:4px; color:#a13940 !important; background:#fbefee !important; font:500 12px var(--font-sans); cursor:pointer; }
  html body.app-ui main#top #data #enhErrorJump[hidden] { display:none !important; }
  html body.app-ui main#top #data .model-workspace > .model-toolbar { display:flex !important; justify-content:space-between; align-items:center; gap:16px; padding:5px 0 !important; margin:0 !important; border:0 !important; border-bottom:1px solid var(--app-line) !important; background:transparent !important; }
  html body.app-ui main#top #data .model-workspace .model-tabs { display:flex !important; flex:1; flex-direction:row !important; align-items:center !important; flex-wrap:nowrap !important; width:auto !important; padding:0 !important; gap:3px !important; overflow-x:auto !important; min-width:0; border:0 !important; background:transparent !important; scrollbar-width:thin; }
  html body.app-ui main#top #data .model-workspace .model-tabs button { flex:0 0 auto !important; width:auto !important; min-width:0 !important; min-height:32px !important; padding:6px 10px !important; border:0 !important; border-radius:4px !important; background:transparent !important; color:var(--app-muted) !important; text-align:center !important; font:500 12px/1.5 var(--font-sans) !important; white-space:nowrap !important; box-shadow:none !important; cursor:pointer; }
  html body.app-ui main#top #data .model-workspace .model-tabs button.active { color:var(--app-accent) !important; background:#f0f5f3 !important; font-weight:600 !important; }
  html body.app-ui main#top #data .model-workspace .model-tabs button:hover { background:var(--app-hover) !important; color:var(--app-ink) !important; }
  html body.app-ui main#top #data .model-sheet-tools { display:flex; flex:0 0 auto; padding:0; gap:10px; margin:0; border:0; }
  html body.app-ui main#top #data .model-unit { font-size:11px; white-space:nowrap; }
  html body.app-ui main#top #data .table-actions { gap:3px !important; padding:0 !important; }
  html body.app-ui main#top #data .table-action-target { font-size:11px; white-space:nowrap; }
  html body.app-ui main#top #data .table-action-target select { min-height:30px; border-color:var(--app-line); color:var(--app-ink); }
  html body.app-ui main#top #data .audit-disclosure { min-height:30px !important; gap:10px; padding:3px 0 !important; margin:0 0 8px !important; border:0 !important; }
  html body.app-ui main#top #data .audit-disclosure > button { display:inline-flex; align-items:center; gap:5px; min-height:28px !important; padding:4px !important; border:0 !important; border-radius:4px; background:transparent !important; color:var(--app-muted) !important; font-size:11px !important; }
  html body.app-ui main#top #data .audit-disclosure > button:hover { background:var(--app-hover) !important; }
  html body.app-ui main#top #data .audit-disclosure > button[aria-expanded="true"] .control-icon { transform:rotate(180deg); }
  html body.app-ui main#top #data .model-dashboard { margin-bottom:12px !important; background:#f5f7f7 !important; border-block:1px solid var(--app-line) !important; }

  html body.app-ui .app-popover { position:relative; margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; }
  html body.app-ui main#top #data .app-popover > summary { position:relative; list-style:none; }
  html body.app-ui main#top #data .app-popover > summary::after { display:none !important; }
  html body.app-ui main#top #data .app-popover[open] > summary { background:var(--app-selected) !important; color:var(--app-accent) !important; }
  html body.app-ui main#top #data .app-popover-panel,
  html body.app-ui main#top #data .enh-plan-panel { position:absolute !important; top:calc(100% + 6px); right:0; z-index:90; padding:8px !important; margin:0 !important; border:1px solid var(--app-line); border-radius:7px; background:#fff; box-shadow:0 8px 28px #29323718,0 2px 5px #29323708; }
  html body.app-ui main#top #data .app-popover-panel { display:grid; width:190px; gap:2px; }
  html body.app-ui main#top #data .app-popover-panel button { display:flex; align-items:center; justify-content:flex-start; gap:8px; min-height:34px !important; width:100%; padding:6px 8px !important; border:0 !important; border-radius:4px; background:#fff; color:var(--app-ink); font:500 12px var(--font-sans) !important; }
  html body.app-ui main#top #data .app-popover-panel button:hover { background:var(--app-hover); }
  html body.app-ui main#top #data .enh-plan-panel { width:340px; max-width:calc(100vw - 32px); grid-template-columns:1fr 1fr; gap:10px !important; padding:14px !important; }
  html body.app-ui main#top #data .app-plan-field { display:grid; gap:5px; min-width:0; font:500 11px var(--font-sans); color:var(--app-muted); }
  html body.app-ui main#top #data .enh-plan-panel :is(input,select) { box-sizing:border-box; width:100% !important; min-width:0; min-height:34px !important; padding:6px 8px; font:400 13px var(--font-sans); color:var(--app-ink); border:1px solid #c8d1d5; border-radius:4px; background:#fff; }
  html body.app-ui main#top #data .enh-plan-panel button { display:inline-flex; justify-content:center; align-items:center; gap:6px; min-height:32px !important; padding:6px 9px !important; border:1px solid #cad5d1 !important; border-radius:4px; background:#fff; color:var(--app-accent); font:500 12px var(--font-sans) !important; }
  html body.app-ui main#top #data #enhSaveScenario { background:var(--app-accent) !important; color:#fff !important; border-color:var(--app-accent) !important; }
  html body.app-ui main#top #data .enh-plan-panel button:disabled { background:#f5f6f6 !important; color:#899399 !important; border-color:var(--app-line) !important; }

  html body.app-ui main#top .chart-segments,html body.app-ui main#top .mobile-period-choice { gap:2px !important; padding:3px !important; border:0 !important; border-radius:6px; background:#f0f3f4 !important; }
  html body.app-ui main#top .chart-segments button,html body.app-ui main#top .mobile-period-choice button { min-height:28px !important; padding:4px 9px !important; border:0 !important; border-radius:4px; color:var(--app-muted) !important; background:transparent !important; font:500 12px/1.5 var(--font-sans) !important; }
  html body.app-ui main#top .chart-segments button[aria-pressed="true"],html body.app-ui main#top .mobile-period-choice button[aria-pressed="true"] { background:#fff !important; color:var(--app-accent) !important; box-shadow:0 1px 3px #29323716; }
  html body.app-ui main#top #data .assumption-cell { padding:10px !important; border-color:var(--app-line) !important; }
  html body.app-ui main#top #data .assumption-cell :is(input,select) { min-height:34px !important; border:1px solid #bccbd1 !important; color:#315e70 !important; background:#fff !important; padding:6px 8px !important; font-size:14px !important; border-radius:4px; }
  html body.app-ui .report-dialog { width:min(920px,calc(100vw - 32px)); max-height:85dvh; padding:0 !important; border-color:var(--app-line); border-radius:8px; box-shadow:0 16px 64px #202d3233; }
  html body.app-ui .report-dialog:has(.report-search-input) { width:min(680px,calc(100vw - 32px)); }
  html body.app-ui .report-dialog::backdrop { background:#202d3259; }
  html body.app-ui .report-dialog-head { gap:12px; padding:10px 14px; }
  html body.app-ui .report-dialog-head h2 { font-size:15px; font-weight:600; }
  html body.app-ui .report-dialog-body { padding:14px; }
  html body.app-ui .report-search-input { min-height:42px; border:1px solid #bdc8cd; border-radius:5px; font-size:15px; background:#fff; }
  html body.app-ui .search-results { gap:0; }
  html body.app-ui .search-result { padding:10px 8px; margin:0; border:0; border-bottom:1px solid var(--app-line); border-radius:0; background:#fff; }
  html body.app-ui .search-result:hover { background:var(--app-hover); }
}
@media screen and (max-width:1000px) {
  html body.app-ui main#top #data .model-workspace > .model-toolbar { flex-wrap:wrap; gap:4px; }
  html body.app-ui main#top #data .model-tabs { flex-basis:100%; }
  html body.app-ui main#top #data .model-sheet-tools { width:100%; justify-content:space-between; }
}
@media screen and (max-width:640px) {
  body.app-ui { --app-control:40px; }
  html body.app-ui .toc { justify-content:flex-start; gap:2px; }
  html body.app-ui .toc a { min-height:44px !important; padding:11px 12px !important; }
  html body.app-ui main#top #data .app-model-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 6px; }
  html body.app-ui main#top #data .app-model-header .enh-model-groups { grid-column:1; grid-row:1; gap:0 !important; }
  html body.app-ui main#top #data .enh-model-groups button { flex:0 0 auto; gap:4px; padding:7px 6px !important; min-height:40px !important; font-size:12px !important; }
  html body.app-ui main#top #data .enh-model-groups .control-icon { width:14px; height:14px; flex-basis:14px; }
  html body.app-ui main#top #data .model-command-row { display:contents !important; }
  html body.app-ui main#top #data .enh-state-actions { grid-column:2; grid-row:1; gap:0 !important; }
  html body.app-ui main#top #data .enh-model-state { grid-column:1/-1; grid-row:2; padding:0 4px 2px !important; }
  html body.app-ui main#top #data .app-model-header:has(#enhErrorJump:not([hidden])) .enh-model-state { grid-column:1; }
  html body.app-ui main#top #data #enhErrorJump { grid-column:2; grid-row:2; min-height:40px !important; }
  html body.app-ui main#top #data .enh-state-copy { justify-content:flex-start; }
  html body.app-ui main#top #data .enh-state-copy > div { min-width:0; }
  html body.app-ui main#top #data .enh-state-copy :is(strong,small) { white-space:normal !important; overflow-wrap:anywhere; }
  html body.app-ui main#top #data .model-workspace .model-tabs button { min-height:40px !important; padding:8px 10px !important; font-size:13px !important; }
  html body.app-ui main#top #data .model-sheet-tools { gap:6px; }
  html body.app-ui main#top #data .table-action-target select { min-height:40px; }
  html body.app-ui main#top #data .audit-disclosure > button { min-height:40px !important; }
  html body.app-ui main#top #data .enh-plan-panel { width:min(330px,calc(100vw - 40px)); }
  html body.app-ui main#top #data .enh-plan-panel :is(input,select) { min-height:40px !important; font-size:16px !important; }
  html body.app-ui main#top #data .enh-plan-panel button,html body.app-ui main#top #data .app-popover-panel button { min-height:40px !important; }
  html body.app-ui main#top details > summary.app-disclosure,html body.app-ui .report-meta details > summary.app-disclosure { min-height:44px !important; padding-block:9px !important; }
  html body.app-ui main#top .figure-source-link,html body.app-ui main#top #summary .metric-action,html body.app-ui main#top .chapter-index a { min-height:40px !important; }
  html body.app-ui main#top .chart-segments button,html body.app-ui main#top .mobile-period-choice button { min-height:40px !important; }
  html body.app-ui main#top #data .assumption-cell :is(input,select),html body.app-ui .report-search-input { min-height:40px !important; font-size:16px !important; }
  html body.app-ui .back-to-top { right:10px !important; bottom:calc(10px + env(safe-area-inset-bottom)); }
  html body.app-ui .return-reading { right:10px !important; bottom:calc(56px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce) {
  body.app-ui .app-disclosure-icon,body.app-ui .app-icon-button { transition:none !important; }
}
@media print {
  .app-tooltip,.app-disclosure-icon { display:none !important; }
  #data .app-model-header { display:none !important; }
}
@media screen and (max-width: 640px) {
  html body main#top #registration-review .viz-table :is(td,th),
  html body main#top .appendix-index-table.viz-table :is(td,th) { border-bottom: 0 !important; background: transparent !important; }
  html body main#top .viz-table .viz-sensitive { padding: 8px 6px !important; }
}
