:root {
  color-scheme: light;
  --ink: #111820;
  --muted: #50636f;
  --paper: #f4f6f8;
  --paper-strong: #dfe8eb;
  --surface: #ffffff;
  --surface-cool: #f3f8f9;
  --line: #d9e2e6;
  --line-strong: #a8b4ba;
  --neutral: #52636d;
  --neutral-soft: #f4f7f8;
  --neutral-strong: #20313a;
  --green: #0d6f4e;
  --green-soft: #e6f8ef;
  --mint: #28b885;
  --mint-soft: #e9fbf4;
  --amber: #b87514;
  --amber-soft: #fff3df;
  --coral: #d45d49;
  --coral-soft: #fff0ea;
  --red: #b54636;
  --red-soft: #fdf0ed;
  --blue: #145d73;
  --blue-vivid: #0a7ea0;
  --blue-soft: #e7f5f9;
  --slate: #22303a;
  --sidebar-bg: #e7eff2;
  --shadow: 0 14px 34px rgba(17, 24, 32, 0.08);
  --shadow-soft: 0 10px 24px rgba(17, 24, 32, 0.06);
  --radius-lg: 8px;
  --radius-md: 8px;
  --radius-sm: 6px;
  --brand-serif: Georgia, "Times New Roman", serif;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(244, 246, 248, 0) 420px),
    var(--paper);
  color: var(--ink);
  overflow-x: hidden;
  font-family:
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

button,
input,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
  border-radius: var(--radius-sm);
}

button:disabled {
  cursor: wait;
  opacity: 0.6;
}

button:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible,
iframe:focus-visible {
  outline: 3px solid rgba(21, 95, 125, 0.28);
  outline-offset: 3px;
}

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

h1 {
  max-width: 880px;
  margin-bottom: 18px;
  font-family: var(--brand-serif);
  font-size: clamp(44px, 6vw, 84px);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: 0.005em;
  overflow-wrap: anywhere;
}

h1 em {
  color: var(--blue-vivid);
  font-style: normal;
  background: linear-gradient(110deg, var(--blue-vivid), var(--mint));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

h1 span {
  display: block;
}

h2 {
  margin-bottom: 0;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.04;
  letter-spacing: 0.005em;
}

h3 {
  margin-bottom: 6px;
  font-size: 18px;
  line-height: 1.2;
}

code,
.bitmask-readout span {
  font-family:
    "SFMono-Regular",
    Consolas,
    "Liberation Mono",
    monospace;
}

.um-platform {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  min-height: 100vh;
}

.platform-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 24px;
  min-height: 100vh;
  padding: 22px;
  border-right: 1px solid rgba(20, 93, 115, 0.12);
  background: var(--sidebar-bg);
}

.platform-brand span,
.sidebar-status span {
  display: block;
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.platform-brand strong {
  display: block;
  margin-top: 6px;
  font-family: var(--brand-serif);
  font-size: 28px;
  font-weight: 700;
  line-height: 0.98;
}

.platform-nav {
  display: grid;
  align-content: start;
  gap: 8px;
}

.platform-nav a {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 10px 10px 10px 14px;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: var(--ink);
  text-decoration: none;
}

.platform-nav a::before {
  content: "";
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 0;
  width: 3px;
  background: transparent;
}

.platform-nav a:not(.active) {
  color: #18242b;
}

.platform-nav a:hover {
  background: rgba(255, 255, 255, 0.52);
}

.platform-nav a.active {
  border-color: transparent;
  background: rgba(255, 255, 255, 0.7);
}

.platform-nav a.active::before {
  background: var(--blue);
}

.platform-nav span {
  color: #52636d;
  font-size: 12px;
  font-weight: 900;
}

.platform-nav strong {
  min-width: 0;
  color: #17222a;
  font-size: 14px;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.sidebar-status {
  padding: 12px;
  border: 0;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.66);
}

.sidebar-status strong {
  display: block;
  margin-top: 5px;
  color: var(--neutral-strong);
  font-size: 13px;
  line-height: 1.3;
}

.shell {
  width: min(1480px, calc(100vw - 292px));
  margin: 0 auto;
  padding: 28px 16px 54px;
}

body[data-active-page='dashboard'] .shell {
  padding-bottom: 72px;
}

.page-heading {
  margin-bottom: 18px;
  padding: 26px 28px;
  border: 0;
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.page-heading h2 {
  max-width: 820px;
}

.page-heading p:last-child {
  max-width: 760px;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.45;
}

.workflow-stage {
  margin-bottom: 18px;
  padding: 18px;
  border: 0;
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow);
}

body[data-active-page='case'] .shell {
  padding-bottom: 54px;
}

body[data-active-page='case'] .page-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin-bottom: 14px;
  padding: 22px 28px;
}

body[data-active-page='case'] .page-heading h2 {
  font-size: clamp(28px, 2.7vw, 38px);
}

body[data-active-page='case'] .page-heading p:last-child {
  margin-top: 0;
}

body[data-active-page='case'] .workflow-stage {
  display: grid;
  grid-template-columns: minmax(190px, 270px) minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(217, 226, 230, 0.82);
  background: #ffffff;
  box-shadow: var(--shadow-soft);
}

.workflow-topline {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.workflow-topline h3 {
  margin: 0;
  font-size: 18px;
}

body[data-active-page='case'] .workflow-topline {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  margin: 0;
}

body[data-active-page='case'] .workflow-topline .eyebrow {
  margin-bottom: 3px;
  font-size: 10px;
}

body[data-active-page='case'] .workflow-topline h3 {
  font-size: 14px;
  line-height: 1.2;
}

.workflow-topline button {
  color: var(--blue);
  border: 1px solid var(--line-strong);
  background: #fff;
  font-size: 12px;
  font-weight: 850;
  min-height: 34px;
  padding: 0 12px;
}

body[data-active-page='case'] .workflow-topline button {
  width: fit-content;
  min-height: 30px;
  padding: 0 10px;
}

.workflow-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  align-items: start;
  padding-top: 4px;
}

.workflow-step {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  column-gap: 10px;
  row-gap: 4px;
  min-height: 88px;
  padding: 0 16px 0 0;
  border: 0;
  background: transparent;
}

.workflow-step::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 16px;
  left: 32px;
  right: 0;
  height: 2px;
  background: var(--line);
}

.workflow-step:last-child::before {
  display: none;
}

.workflow-step span {
  display: inline-grid;
  position: relative;
  z-index: 1;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.workflow-step strong {
  display: block;
  position: relative;
  z-index: 1;
  width: fit-content;
  padding-top: 1px;
  padding-right: 8px;
  background: var(--surface);
  font-size: 13px;
  line-height: 1.2;
}

.workflow-step p {
  grid-column: 2;
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.workflow-step.complete {
  color: var(--neutral-strong);
}

.workflow-step.complete::before {
  background: var(--neutral);
}

.workflow-step.complete span {
  border-color: var(--blue);
  background: var(--blue);
  color: #ffffff;
  box-shadow: 0 6px 14px rgba(20, 93, 115, 0.16);
}

.workflow-step.active {
  color: var(--amber);
}

.workflow-step.active span {
  border-color: var(--amber);
  background: var(--amber);
  color: #ffffff;
  box-shadow:
    0 0 0 5px var(--amber-soft),
    0 0 22px rgba(184, 117, 20, 0.32),
    0 8px 18px rgba(184, 117, 20, 0.18);
}

.workflow-step.active strong {
  background: var(--surface);
  color: var(--amber);
  border-radius: 999px;
  padding: 3px 9px 4px 6px;
}

.workflow-step.skipped {
  color: var(--muted);
}

.workflow-step.skipped span {
  border-color: var(--line-strong);
  background: #ffffff;
}

body[data-active-page='case'] .workflow-step {
  grid-template-columns: 28px minmax(0, 1fr);
  min-height: 64px;
  column-gap: 9px;
  padding-right: 12px;
}

body[data-active-page='case'] .workflow-step::before {
  top: 14px;
  left: 28px;
}

body[data-active-page='case'] .workflow-step span {
  width: 28px;
  height: 28px;
  font-size: 11px;
}

body[data-active-page='case'] .workflow-step strong {
  padding-left: 6px;
  font-size: 12px;
}

body[data-active-page='case'] .workflow-step p {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.3;
}

.masthead {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(320px, 0.54fr);
  gap: 34px;
  align-items: stretch;
  min-height: 270px;
  padding: 36px 42px;
  background: var(--surface);
  border: 0;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.brand-lockup {
  max-width: 760px;
  align-self: center;
}

.eyebrow {
  margin: 0 0 10px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.lede {
  max-width: 690px;
  margin-bottom: 0;
  color: #435663;
  font-size: 20px;
  line-height: 1.58;
}

.masthead h1 {
  font-size: clamp(42px, 5.2vw, 72px);
}

.runtime-badge,
.corpus-stats {
  border: 1px solid var(--line);
  background: var(--surface-cool);
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
}

.runtime-badge {
  border: 0;
  background: transparent;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.runtime-badge.ready {
  color: var(--neutral-strong);
}

.runtime-badge.error {
  border-color: rgba(181, 70, 54, 0.36);
  background: var(--red-soft);
  color: var(--red);
}

.hero-quickstart {
  display: grid;
  gap: 14px;
  align-self: stretch;
  min-width: 0;
  padding: 18px;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--surface-cool);
  box-shadow: inset 0 0 0 1px rgba(20, 93, 115, 0.06);
}

.hero-status {
  display: grid;
  gap: 5px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line);
}

.hero-status span,
.hero-loop span {
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.hero-status strong {
  color: var(--ink);
  font-size: 20px;
  line-height: 1.15;
}

.hero-loop {
  display: grid;
  gap: 8px;
}

.hero-loop div {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  column-gap: 10px;
  row-gap: 3px;
  align-items: start;
  padding: 10px;
  border: 0;
  border-radius: var(--radius-sm);
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(20, 93, 115, 0.1);
}

.hero-loop span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: var(--blue-soft);
}

.hero-loop strong {
  min-width: 0;
  font-size: 14px;
  line-height: 1.15;
}

.hero-loop p {
  min-width: 0;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.hero-action {
  display: grid;
  min-height: 42px;
  place-items: center;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--blue);
  color: #ffffff;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.case-cockpit {
  display: grid;
  grid-template-columns: minmax(420px, 0.95fr) minmax(460px, 1.05fr);
  gap: 20px;
  margin-top: 18px;
  align-items: start;
}

.case-result-stack {
  display: grid;
  gap: 20px;
  min-width: 0;
}

@media (min-width: 1181px) {
  body[data-active-page='case'] .case-result-stack {
    position: sticky;
    top: 24px;
  }
}

.case-cockpit > article,
.case-result-stack > article {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: var(--shadow-soft);
}

.case-cockpit > article::before,
.case-result-stack > article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--paper-strong);
}

.case-command,
.disposition-zone,
.source-receipt,
.panel,
.rules-panel,
.version-panel,
.browser-panel,
.trust-comparison,
.advanced-drawer {
  min-width: 0;
  background: var(--surface);
  border: 0;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.case-command,
.disposition-zone,
.source-receipt {
  border: 0;
  box-shadow: none;
}

.case-command,
.disposition-zone,
.source-receipt,
.panel,
.rules-panel,
.version-panel,
.browser-panel,
.trust-comparison {
  padding: 22px;
}

.case-cockpit .panel-heading,
.source-receipt > .eyebrow,
.disposition-zone > .eyebrow {
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.disposition-zone > .eyebrow,
.source-receipt > .eyebrow {
  display: block;
}

.panel-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 18px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.panel-heading strong {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--ink);
  text-align: right;
  text-transform: none;
  overflow-wrap: anywhere;
}

.composer {
  display: grid;
  gap: 10px;
}

.case-generator {
  min-width: 0;
  display: grid;
  gap: 12px;
  margin-bottom: 10px;
  padding: 0;
  border: 0;
  border-radius: var(--radius-md);
  background: transparent;
  box-shadow: none;
}

.composer label,
.rewrite-dialog label,
.rewrite-launcher span,
.browser-heading span,
.pdf-meta span,
.comparison-grid span,
.proof-metrics span,
.disposition-actions span,
.receipt-row dt,
.flow-strip span,
.trust-flow span,
.rules-topline span,
.rule-facts dt,
.observer-list span,
.observer-trace span,
.trust-strip span,
.learning-row span,
.rule-update span,
.audit-receipt span,
.gate-tool span,
.gate-outcome span,
.metric span,
.satisfaction-card span,
.satisfaction-card dt {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.composer textarea {
  width: 100%;
  min-height: 148px;
  resize: vertical;
  border: 1px solid rgba(20, 93, 115, 0.14);
  border-radius: var(--radius-sm);
  background: #fbfcfb;
  color: var(--ink);
  padding: 14px;
  line-height: 1.45;
}

.case-generator select,
.case-generator input[type='text'],
.case-generator input[type='search'],
.rewrite-dialog input[type='text'] {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  border: 1px solid rgba(20, 93, 115, 0.14);
  border-radius: var(--radius-sm);
  background: #ffffff;
  color: var(--ink);
  padding: 0 14px;
  font-size: 13px;
  font-weight: 650;
}

#syntheticCaseSelect {
  min-height: 50px;
  appearance: none;
  border-color: rgba(20, 93, 115, 0.34);
  background:
    linear-gradient(45deg, transparent 50%, var(--blue) 50%) right 18px center / 7px 7px no-repeat,
    linear-gradient(135deg, var(--blue) 50%, transparent 50%) right 13px center / 7px 7px no-repeat,
    linear-gradient(90deg, rgba(20, 93, 115, 0.1), rgba(20, 93, 115, 0.1)) right 42px center / 1px 26px no-repeat,
    #ffffff;
  box-shadow:
    inset 0 0 0 1px rgba(20, 93, 115, 0.08),
    0 8px 18px rgba(17, 24, 32, 0.06);
  color: var(--ink);
  font-size: 14px;
  font-weight: 850;
  padding-right: 58px;
}

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

#policySnapshotSelect {
  min-height: 44px;
  appearance: none;
  border-color: rgba(38, 128, 92, 0.32);
  background:
    linear-gradient(45deg, transparent 50%, var(--green) 50%) right 18px center / 7px 7px no-repeat,
    linear-gradient(135deg, var(--green) 50%, transparent 50%) right 13px center / 7px 7px no-repeat,
    linear-gradient(90deg, rgba(38, 128, 92, 0.1), rgba(38, 128, 92, 0.1)) right 42px center / 1px 24px no-repeat,
    #ffffff;
  color: var(--ink);
  font-weight: 850;
  padding-right: 58px;
}

#policySnapshotSelect:disabled {
  border-color: rgba(17, 24, 32, 0.1);
  background: #f4f6f5;
  color: rgba(50, 62, 72, 0.58);
}

.rewrite-launcher {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(20, 93, 115, 0.16);
  border-radius: var(--radius-md);
  background: var(--surface-cool);
}

.rewrite-launcher strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
}

.rewrite-launcher button,
.rewrite-dialog-header button {
  min-height: 38px;
  border: 1px solid rgba(20, 93, 115, 0.18);
  border-radius: var(--radius-sm);
  background: #ffffff;
  color: var(--blue);
  padding: 0 12px;
  font-size: 12px;
  font-weight: 900;
}

.rewrite-launcher button {
  background: var(--blue);
  color: #ffffff;
}

.rewrite-dialog {
  width: min(720px, calc(100vw - 32px));
  max-height: min(780px, calc(100vh - 32px));
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
}

.rewrite-dialog::backdrop {
  background: rgba(17, 24, 32, 0.42);
  backdrop-filter: blur(6px);
}

.rewrite-dialog-panel {
  display: grid;
  gap: 18px;
  max-height: inherit;
  overflow: auto;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: 0 28px 72px rgba(17, 24, 32, 0.28);
}

.rewrite-dialog-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.rewrite-dialog-header h3 {
  margin: 0;
  font-size: 24px;
}

.rewrite-dialog-header p:last-child {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

#syntheticCaseSelect:hover {
  border-color: rgba(20, 93, 115, 0.52);
  box-shadow:
    inset 0 0 0 1px rgba(20, 93, 115, 0.12),
    0 10px 22px rgba(17, 24, 32, 0.08);
}

#syntheticCaseSelect:focus-visible {
  border-color: var(--blue);
  background-color: var(--surface-cool);
}

.messiness-control {
  display: grid;
  gap: 8px;
}

.messiness-control > div,
.llm-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.messiness-control strong {
  color: var(--blue);
  font-size: 13px;
  white-space: nowrap;
}

.messiness-control input[type='range'] {
  width: 100%;
  accent-color: var(--blue);
}

.messiness-factors {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.factor-heading {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
}

.factor-heading span,
.factor-group-heading span,
.factor-group-heading small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.factor-heading strong {
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.factor-list {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.factor-group {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.factor-group-heading {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
}

.factor-group-heading small {
  color: #8a98a1;
  white-space: nowrap;
}

.factor-chip-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  min-width: 0;
}

.factor-count-3 .factor-chip-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.factor-chip {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 34px;
  border: 1px solid rgba(20, 93, 115, 0.13);
  border-radius: var(--radius-sm);
  background: #ffffff;
  color: var(--ink);
  padding: 7px 9px;
  font-size: 12px;
  font-weight: 850;
  text-align: center;
  transition:
    transform 160ms ease,
    border-color 160ms ease,
    background 160ms ease,
    color 160ms ease;
}

.factor-chip:hover {
  transform: translateY(-1px);
}

.factor-chip span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.factor-chip.active {
  border-color: var(--blue);
  background: var(--blue);
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(23, 77, 99, 0.14);
}

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

.llm-row > * {
  min-width: 0;
}

.llm-row label {
  grid-column: 1 / -1;
}

.llm-row button {
  max-width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--blue);
  color: #ffffff;
  font-size: 13px;
  font-weight: 850;
  padding: 0 14px;
  white-space: normal;
}

.rewrite-status {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.case-utility-actions {
  display: flex;
  justify-content: flex-end;
}

.case-utility-actions button,
.apply-update-button {
  min-height: 42px;
  border: 1px solid rgba(20, 93, 115, 0.14);
  border-radius: var(--radius-sm);
  background: #ffffff;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
  padding: 0 14px;
  white-space: normal;
  transition:
    transform 160ms ease,
    border-color 160ms ease,
    background 160ms ease;
}

.case-utility-actions button:hover,
.apply-update-button:hover {
  transform: translateY(-1px);
}

.apply-update-button {
  border-color: transparent;
  background: var(--blue);
  color: #ffffff;
}

.facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  background: var(--line);
  border: 1px solid var(--line);
}

.inline-details {
  margin-top: 14px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.inline-details summary,
.packet-details summary {
  cursor: pointer;
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.inline-details .facts {
  margin-top: 12px;
}

.packet-clinical-summary {
  display: grid;
  gap: 0;
  padding: 4px 0 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.clinical-summary-header {
  display: grid;
  gap: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.clinical-summary-header h3 {
  margin: 3px 0 5px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.15;
}

.clinical-summary-header p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
}

.summary-kicker {
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.summary-status-pills,
.summary-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.summary-status-pills {
  justify-content: flex-start;
  min-width: 0;
}

.summary-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
}

.clinical-summary-accordion {
  display: grid;
  gap: 8px;
  padding-top: 12px;
}

.summary-section {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #ffffff;
  overflow: hidden;
}

.summary-section[open] {
  background: #fbfcfb;
}

.summary-section summary {
  display: grid;
  position: relative;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr) 22px;
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
}

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

.summary-section summary::after {
  content: "+";
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
}

.summary-section[open] summary::after {
  content: "-";
}

.summary-section summary span {
  color: var(--neutral);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.summary-section summary strong {
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.summary-section-body {
  padding: 0 14px 14px;
  border-top: 1px solid var(--line);
}

.clinical-summary-grid,
.clinical-summary-split {
  display: grid;
  gap: 0;
}

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

.clinical-summary-split {
  grid-template-columns: 1fr;
}

.summary-card {
  min-width: 0;
  padding: 14px 0;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
}

.packet-clinical-summary .summary-card:last-child {
  border-bottom: 0;
}

.summary-card > span,
.clinical-doc-meta span {
  display: block;
  margin-bottom: 8px;
  color: var(--neutral);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.summary-card dl,
.summary-section-body dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.summary-card dl > div,
.summary-section-body dl > div {
  min-width: 0;
}

.summary-card dt,
.summary-section-body dt {
  margin-bottom: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.summary-card dd,
.summary-section-body dd {
  min-width: 0;
  margin: 0;
}

.summary-card dd strong,
.summary-section-body dd strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.summary-card dd span,
.summary-section-body dd span,
.source-panel p,
.source-pdf-link small,
.clinical-question-card p,
.structured-event-list,
.clinical-doc-card p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.summary-card dd span,
.summary-section-body dd span {
  display: block;
  margin-top: 2px;
  overflow-wrap: anywhere;
}

.clinical-question-card,
.source-panel {
  display: grid;
  gap: 7px;
}

.clinical-question-card strong,
.source-panel strong,
.source-pdf-link strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.clinical-question-card p,
.source-panel p {
  margin: 0;
  overflow-wrap: anywhere;
}

.source-pdf-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px;
  padding: 11px 12px;
  border: 1px solid rgba(20, 93, 115, 0.16);
  border-radius: var(--radius-sm);
  background: #ffffff;
  color: var(--ink);
  text-decoration: none;
  transition:
    border-color 160ms ease,
    background 160ms ease,
    transform 160ms ease;
}

.source-pdf-link:hover {
  border-color: rgba(20, 93, 115, 0.38);
  background: var(--surface-cool);
  transform: translateY(-1px);
}

.source-pdf-label,
.source-pdf-action {
  display: block;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.source-pdf-label {
  color: var(--blue);
}

.source-pdf-action {
  color: var(--neutral);
}

.source-pdf-link strong,
.source-pdf-link small {
  grid-column: 1 / -1;
}

.source-pdf-link small {
  display: block;
}

.source-pdf-link-missing {
  grid-template-columns: 1fr;
  color: var(--muted);
}

.source-pdf-link-missing .source-pdf-label {
  color: var(--muted);
}

.clinical-documents-panel {
  border-color: var(--line);
  background: transparent;
}

.clinical-doc-list {
  display: grid;
  gap: 9px;
}

.clinical-doc-card {
  display: grid;
  gap: 8px;
  padding: 11px;
  border-radius: var(--radius-sm);
  background: var(--surface-cool);
  box-shadow: inset 0 0 0 1px rgba(217, 226, 230, 0.72);
}

.clinical-doc-meta {
  min-width: 0;
}

.clinical-doc-meta strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.clinical-doc-meta small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.clinical-doc-card p {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
}

.evidence-count-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 10px;
}

.evidence-count {
  padding: 8px;
  border-radius: var(--radius-sm);
  background: var(--neutral-soft);
}

.evidence-count strong {
  display: block;
  color: var(--blue);
  font-size: 18px;
  line-height: 1;
}

.evidence-count span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  line-height: 1.2;
  text-transform: uppercase;
}

.structured-event-list {
  margin: 0;
  padding-left: 17px;
}

.structured-event-list li + li {
  margin-top: 5px;
}

.extraction-status-block {
  display: grid;
  gap: 7px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.extraction-status-block > span {
  display: block;
  color: var(--neutral);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.summary-empty {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.packet-details {
  overflow: hidden;
  border: 1px solid rgba(217, 226, 230, 0.9);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.packet-details summary {
  padding: 10px 12px;
  color: var(--muted);
}

.packet-details[open] summary {
  border-bottom: 1px solid var(--line);
  color: var(--blue);
}

.packet-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  background: #fbfcfb;
}

.packet-editor-toolbar span {
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.packet-editor-toolbar span.dirty {
  color: var(--amber);
}

.packet-editor-toolbar span.applied {
  color: var(--green);
}

.packet-editor-toolbar span.error {
  color: var(--red);
}

.packet-editor-toolbar div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.packet-editor-toolbar button {
  min-height: 34px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
  padding: 0 10px;
}

.packet-editor-toolbar button:last-child {
  border-color: var(--blue);
  background: var(--blue);
  color: #ffffff;
}

.json-editor {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: var(--slate);
}

.json-editor-highlight,
.packet-details textarea {
  width: 100%;
  margin: 0;
  padding: 14px 16px;
  border: 0;
  font-family:
    "SFMono-Regular",
    Consolas,
    "Liberation Mono",
    monospace;
  font-size: 12px;
  line-height: 1.55;
  tab-size: 2;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.json-editor-highlight {
  position: absolute;
  inset: 0;
  z-index: 0;
  height: 100%;
  overflow: hidden;
  color: #d7e2e8;
  pointer-events: none;
}

.packet-details textarea {
  position: relative;
  z-index: 1;
  display: block;
  max-height: 360px;
  min-height: 360px;
  overflow: auto;
  background: transparent;
  color: transparent;
  caret-color: #ffffff;
  resize: vertical;
}

.packet-details textarea::selection {
  background: rgba(255, 208, 138, 0.26);
  color: transparent;
}

.packet-details textarea[aria-invalid='true'] {
  box-shadow: inset 0 0 0 2px rgba(181, 70, 54, 0.55);
}

.json-editor[data-state='dirty'] {
  box-shadow: inset 3px 0 0 var(--amber);
}

.json-editor[data-state='applied'] {
  box-shadow: inset 3px 0 0 var(--green);
}

.json-editor[data-state='error'] {
  box-shadow: inset 3px 0 0 var(--red);
}

.fact-row {
  min-width: 0;
  padding: 10px 12px;
  background: #ffffff;
}

.fact-row dt,
.fact-row dd {
  margin: 0;
}

.fact-row dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.fact-row dd {
  margin-top: 5px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.yes {
  color: var(--green);
}

.no {
  color: var(--red);
}

.disposition-zone {
  display: grid;
  align-content: start;
  gap: 12px;
}

.disposition-card {
  min-height: 128px;
  display: grid;
  align-content: start;
  justify-items: start;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-left: 6px solid var(--slate);
  border-top: 1px solid var(--line);
  background: #ffffff;
  color: var(--ink);
  text-align: left;
}

.disposition-card span {
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.disposition-card strong {
  display: block;
  max-width: none;
  font-size: clamp(24px, 2.4vw, 31px);
  line-height: 1.06;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}

.disposition-card p {
  max-width: 560px;
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.35;
}

.disposition-card.approved {
  border-left-color: var(--green);
  background: #ffffff;
}

.disposition-card.approved span,
.disposition-card.approved strong {
  color: var(--green);
}

.disposition-card.review {
  border-left-color: var(--amber);
  background: #fffaf1;
}

.disposition-card.review span,
.disposition-card.review strong {
  color: var(--amber);
}

.disposition-card.denied {
  border-left-color: var(--red);
  background: #ffffff;
}

.disposition-card.denied span,
.disposition-card.denied strong {
  color: var(--red);
}

.disposition-actions,
.comparison-grid,
.trust-strip,
.audit-receipt {
  display: grid;
  gap: 10px;
  background: transparent;
  border: 0;
}

.disposition-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0;
}

.disposition-actions div,
.comparison-grid div,
.trust-strip div,
.audit-receipt div {
  min-width: 0;
  padding: 10px;
  border-radius: var(--radius-md);
  background: #ffffff;
}

.disposition-actions strong,
.comparison-grid strong,
.trust-strip strong,
.audit-receipt strong {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.audit-receipt small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.source-receipt h2 {
  margin-bottom: 18px;
  font-size: 26px;
  line-height: 1.08;
}

.source-receipt dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.receipt-row {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(217, 226, 230, 0.86);
  border-radius: var(--radius-md);
  background: #ffffff;
}

.receipt-row:first-child {
  padding-top: 12px;
}

.receipt-row dd {
  margin: 0;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.receipt-row dt {
  margin-bottom: 6px;
  color: #71818b;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.045em;
}

.receipt-row:nth-child(3),
.receipt-row:nth-child(4) {
  grid-column: 1 / -1;
}

.story-flow,
.trust-flow,
.flow-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 18px;
  border: 0;
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.story-flow {
  gap: 0;
  background: #ffffff;
}

.story-flow div,
.trust-flow div,
.flow-strip div {
  min-width: 0;
  padding: 20px;
  background: #ffffff;
}

.story-flow div {
  position: relative;
  border-top: 4px solid var(--paper-strong);
  border-right: 1px solid rgba(213, 220, 223, 0.62);
}

.story-flow div::after {
  content: "";
  position: absolute;
  top: 34px;
  left: 56px;
  right: -18px;
  height: 2px;
  background: rgba(10, 126, 160, 0.18);
}

.story-flow div:last-child {
  border-right: 0;
}

.story-flow div:last-child::after {
  display: none;
}

.story-flow div:nth-child(4) {
  border-top-color: var(--amber);
}

.story-flow span,
.trust-flow span,
.flow-strip span {
  color: var(--blue);
}

.story-flow span {
  position: relative;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue-vivid);
  font-weight: 950;
}

.story-flow strong,
.trust-flow strong,
.flow-strip strong {
  display: block;
  margin: 12px 0 7px;
  font-size: 17px;
  letter-spacing: 0.004em;
}

.story-flow p,
.trust-flow p,
.flow-strip p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.workspace {
  display: grid;
  grid-template-columns: 0.86fr 1fr 1.18fr;
  gap: 18px;
  margin-top: 18px;
}

.panel {
  min-height: 620px;
}

.chat-log {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 520px;
  max-height: 680px;
  overflow: auto;
  padding: 14px;
  border-left: 4px solid var(--blue);
  background: var(--surface-cool);
}

.chat-message {
  width: min(94%, 580px);
  padding: 12px 14px;
  border: 1px solid var(--line);
  background: #ffffff;
  line-height: 1.45;
}

.chat-message.user {
  justify-self: end;
}

.chat-message.agent {
  justify-self: start;
  background: #f9fbfa;
}

.chat-role {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.agent-steps {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.agent-step {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.step-index {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  background: var(--neutral-soft);
  color: var(--neutral);
  font-size: 13px;
  font-weight: 900;
}

.agent-step strong {
  display: block;
  margin-bottom: 5px;
}

.agent-step span {
  color: var(--muted);
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.agent-step.running .step-index {
  background: var(--neutral-soft);
  color: var(--neutral);
}

.agent-step.review .step-index {
  background: #ffffff;
  border: 1px solid rgba(154, 101, 18, 0.36);
  color: var(--amber);
}

.agent-step.blocked .step-index {
  background: var(--red-soft);
  color: var(--red);
}

.decision.approved {
  color: var(--green);
}

.decision.review {
  color: var(--amber);
}

.decision.denied {
  color: var(--red);
}

.attempt {
  margin-top: 28px;
  padding: 16px;
  background: var(--slate);
  color: #ffffff;
}

.attempt-label {
  display: block;
  margin-bottom: 10px;
  color: #c8d4d8;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.bitmask-readout {
  padding: 22px;
  margin-bottom: 18px;
  background: var(--slate);
  color: #ffffff;
}

.bitmask-readout span {
  display: block;
  margin-bottom: 9px;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1;
}

.bitmask-readout small {
  color: #c8d4d8;
  line-height: 1.4;
}

.rule-board,
.requirement-stack,
.rule-board-compact,
.observer-trace,
.observer-list,
.rule-facts,
.learning-stack {
  display: grid;
  gap: 10px;
}

.gate-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) 72px minmax(0, 1fr);
  min-height: 116px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.gate-tool,
.gate-outcome {
  display: grid;
  align-content: center;
  gap: 8px;
  min-width: 0;
  padding: 18px;
}

.gate-tool code {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.gate-lock {
  display: grid;
  place-items: center;
  background: var(--neutral-strong);
  color: #ffffff;
  font-size: 13px;
  font-weight: 950;
}

.gate-stage.approved .gate-lock,
.gate-stage.allowed .gate-lock {
  background: var(--green);
}

.gate-stage.review .gate-lock {
  border-left: 1px solid rgba(154, 101, 18, 0.34);
  border-right: 1px solid rgba(154, 101, 18, 0.34);
  background: #ffffff;
  color: var(--amber);
}

.gate-stage.denied .gate-lock,
.gate-stage.blocked .gate-lock {
  background: var(--red);
}

.gate-outcome strong {
  font-size: 20px;
  line-height: 1.1;
}

.gate-stage.approved .gate-outcome strong,
.gate-stage.allowed .gate-outcome strong {
  color: var(--green);
}

.gate-stage.review .gate-outcome strong {
  color: var(--amber);
}

.gate-stage.denied .gate-outcome strong,
.gate-stage.blocked .gate-outcome strong {
  color: var(--red);
}

.trust-strip {
  grid-template-columns: repeat(3, 1fr);
}

.requirement-row {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.requirement-row.missing {
  border-color: rgba(181, 70, 54, 0.5);
  background: var(--red-soft);
}

.requirement-row.met {
  border-color: var(--line);
  border-left: 4px solid var(--neutral);
  background: var(--neutral-soft);
}

.requirement-row.source {
  background: var(--surface-cool);
}

.requirement-status {
  color: var(--blue);
  font-family:
    "SFMono-Regular",
    Consolas,
    "Liberation Mono",
    monospace;
  font-size: 12px;
  font-weight: 900;
}

.requirement-row.missing .requirement-status {
  color: var(--red);
}

.requirement-row.met .requirement-status {
  color: var(--neutral);
}

.requirement-label {
  display: block;
  margin-bottom: 5px;
  font-weight: 850;
  line-height: 1.25;
}

.requirement-hint {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.technical-pill {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  min-height: 22px;
  margin-top: 7px;
  padding: 4px 8px;
  border: 1px solid rgba(217, 226, 230, 0.78);
  border-radius: 999px;
  background: rgba(244, 247, 248, 0.88);
  color: rgba(80, 99, 111, 0.82);
  font-family:
    "SFMono-Regular",
    Consolas,
    "Liberation Mono",
    monospace;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.25;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.audit-receipt {
  grid-template-columns: 0.8fr 1fr 1.2fr;
}

.audit-receipt strong {
  font-family:
    "SFMono-Regular",
    Consolas,
    "Liberation Mono",
    monospace;
  font-size: 12px;
}

.rule-row {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  background: #ffffff;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    transform 160ms ease;
}

.rule-row.fired {
  border-color: rgba(181, 70, 54, 0.5);
  background: var(--red-soft);
  transform: translateX(4px);
}

.rule-bit {
  color: var(--blue);
  font-family:
    "SFMono-Regular",
    Consolas,
    "Liberation Mono",
    monospace;
  font-size: 12px;
  font-weight: 900;
}

.rule-row.fired .rule-bit {
  color: var(--red);
}

.rule-label {
  display: block;
  margin-bottom: 4px;
  font-weight: 850;
  line-height: 1.25;
}

.rule-hint {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.section-title {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: end;
  margin-bottom: 22px;
}

.corpus-stats {
  flex: 0 0 auto;
  max-width: 520px;
  padding: 10px 12px;
}

.rules-view,
.dtr-section,
.learning-loop-section,
.corpus-browser {
  margin-top: 26px;
}

.dtr-panel {
  padding: 0;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(232, 246, 255, 0.92), rgba(255, 255, 255, 0.95) 42%, rgba(244, 250, 247, 0.92)),
    #ffffff;
}

.dtr-hero {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 20px 22px;
  border-bottom: 1px solid rgba(21, 31, 43, 0.09);
}

.dtr-kicker {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.dtr-hero strong {
  display: block;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.dtr-hero-badges {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
}

.fhir-valid-badge {
  display: grid;
  grid-template-columns: 28px auto;
  column-gap: 8px;
  row-gap: 2px;
  align-items: center;
  min-height: 40px;
  padding: 7px 10px;
  border-radius: var(--radius-sm);
  background: #ffffff;
  color: var(--ink);
  box-shadow: inset 0 0 0 1px rgba(38, 128, 92, 0.22), 0 8px 18px rgba(38, 128, 92, 0.08);
}

.fhir-valid-badge i {
  grid-row: span 2;
  position: relative;
  width: 26px;
  height: 30px;
  border: 2px solid var(--green);
  border-radius: 4px;
  background: linear-gradient(180deg, rgba(241, 248, 244, 0.96), #ffffff);
}

.fhir-valid-badge i::before {
  content: "";
  position: absolute;
  top: -2px;
  right: -2px;
  width: 9px;
  height: 9px;
  border-left: 2px solid var(--green);
  border-bottom: 2px solid var(--green);
  border-radius: 0 3px 0 2px;
  background: #ffffff;
}

.fhir-valid-badge i::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 14px;
  width: 10px;
  height: 5px;
  border-left: 2px solid var(--green);
  border-bottom: 2px solid var(--green);
  transform: rotate(-45deg);
}

.fhir-valid-badge span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.fhir-valid-badge strong {
  margin: 0;
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
  line-height: 1.1;
  text-transform: uppercase;
}

.dtr-status {
  flex: 0 0 auto;
  display: inline-grid;
  min-height: 34px;
  place-items: center;
  padding: 0 12px;
  border-radius: var(--radius-sm);
  background: #ffffff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: inset 0 0 0 1px rgba(21, 31, 43, 0.12);
}

.dtr-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  gap: 18px;
  padding: 20px 22px 22px;
}

.dtr-json-pane,
.dtr-outcome {
  min-width: 0;
}

.dtr-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.dtr-flow span,
.dtr-flow strong {
  min-width: 0;
  padding: 9px 10px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dtr-flow span {
  background: rgba(255, 255, 255, 0.74);
  color: var(--muted);
  font-weight: 850;
}

.dtr-flow strong {
  background: #ffffff;
  color: var(--ink);
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(21, 31, 43, 0.1);
}

.code-block.dtr-code {
  max-height: 460px;
  margin: 0;
  overflow: auto;
  white-space: pre;
  overflow-wrap: normal;
}

.dtr-outcome {
  display: grid;
  gap: 12px;
  align-content: start;
}

.dtr-outcome-card {
  padding: 16px;
  border-radius: var(--radius-sm);
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(21, 31, 43, 0.1);
}

.dtr-outcome-card span,
.dtr-meta dt,
.dtr-variable span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.dtr-outcome-card strong {
  display: block;
  margin-top: 7px;
  color: var(--ink);
  font-size: 26px;
  line-height: 1;
}

.dtr-outcome-card p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.dtr-meta {
  display: grid;
  gap: 8px;
  margin: 0;
}

.dtr-meta div,
.dtr-variable {
  display: grid;
  grid-template-columns: minmax(110px, 0.72fr) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.78);
}

.dtr-meta dd,
.dtr-variable strong {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dtr-variable-list {
  display: grid;
  gap: 8px;
}

.dtr-variable.affirmed {
  box-shadow: inset 3px 0 0 var(--green);
}

.dtr-variable.candidate {
  box-shadow: inset 3px 0 0 var(--amber);
}

.dtr-variable.missing,
.dtr-variable.negated {
  box-shadow: inset 3px 0 0 var(--red);
}

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

.learning-loop-section .rules-panel {
  box-shadow: none;
}

.rules-panel.wide {
  grid-column: span 1;
}

.rules-topline strong {
  display: block;
  margin-top: 6px;
  font-size: 18px;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.code-block {
  margin: 14px 0;
  padding: 14px;
  background: var(--slate);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-sm);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -18px 36px rgba(0, 0, 0, 0.14);
  font-family:
    "SFMono-Regular",
    Consolas,
    "Liberation Mono",
    monospace;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.code-block-highlighted {
  line-height: 1.65;
}

.code-token.variable,
.code-token.key {
  color: #b8e5ff;
}

.code-token.operator {
  color: #ffd08a;
  font-weight: 900;
}

.code-token.number {
  color: #a8f3c6;
  font-weight: 850;
}

.code-token.string {
  color: #ffe0a6;
}

.code-token.keyword {
  color: #f7a3a3;
  font-weight: 850;
}

.code-block.atom-code {
  background: #f6f8f8;
  color: var(--ink);
  border: 1px solid var(--line);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.code-block.atom-code .code-token.variable,
.code-block.atom-code .code-token.key {
  color: var(--blue);
}

.code-block.atom-code .code-token.operator,
.code-block.atom-code .code-token.string {
  color: var(--amber);
}

.code-block.atom-code .code-token.number {
  color: var(--green);
}

.code-block.atom-code .code-token.keyword {
  color: var(--red);
}

.rule-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
}

.status-topline {
  margin: -4px -4px 12px;
  padding: 12px;
  border-radius: var(--radius-sm);
}

.status-topline.missing {
  border: 1px solid rgba(181, 70, 54, 0.24);
  border-left: 4px solid var(--red);
  background: var(--red-soft);
}

.status-topline.missing span,
.status-topline.missing strong {
  color: var(--red);
}

.status-topline.supported {
  border: 1px solid rgba(13, 111, 78, 0.18);
  border-left: 4px solid var(--green);
  background: var(--green-soft);
}

.status-topline.supported span,
.status-topline.supported strong {
  color: var(--green);
}

.rule-facts div,
.atom-row dl div,
.satisfaction-card dl div {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 10px;
}

.rule-facts div {
  display: block;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid rgba(217, 226, 230, 0.78);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.rule-facts .metadata-wide {
  grid-column: 1 / -1;
}

.rule-facts dt {
  margin-bottom: 5px;
  color: #71818b;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.045em;
}

.rule-facts dd,
.atom-row dd,
.satisfaction-card dd {
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.observer-trace {
  margin-top: 14px;
}

.observer-trace > div,
.observer-list > div,
.satisfaction-card,
.learning-row,
.rule-update {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  background: var(--surface-cool);
}

.observer-trace strong,
.observer-list strong {
  display: block;
  margin-top: 5px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.observer-trace p,
.observer-list p,
.satisfaction-card p,
.learning-row p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.observer-trace p.technical-pill {
  color: rgba(80, 99, 111, 0.82);
  font-size: 10px;
  line-height: 1.25;
}

.trace-result.found {
  border-color: var(--line);
  border-left: 4px solid var(--neutral);
  background: var(--neutral-soft);
}

.trace-result.missing {
  border-color: rgba(181, 70, 54, 0.42);
  border-left: 4px solid var(--red);
  background: var(--red-soft);
}

.pass-list,
.atom-list {
  display: grid;
  gap: 8px;
}

.pass-row,
.atom-row {
  padding: 12px;
  border: 1px solid var(--line);
  background: #ffffff;
  border-radius: var(--radius-sm);
}

.pass-row.supported {
  border-color: rgba(13, 111, 78, 0.2);
  border-left: 4px solid var(--green);
  background: var(--green-soft);
}

.pass-row.candidate {
  border-color: rgba(154, 101, 18, 0.34);
  border-left: 4px solid var(--amber);
  background: #ffffff;
}

.pass-row.negated {
  border-color: rgba(181, 70, 54, 0.45);
  border-left: 4px solid var(--red);
  background: var(--red-soft);
}

.pass-row.miss {
  border-color: rgba(181, 70, 54, 0.34);
  border-left: 4px solid var(--red);
  background: #fff8f6;
}

.pass-row.not_run {
  border-color: var(--line);
  border-left: 4px solid var(--line-strong);
  background: #ffffff;
}

.atom-row.affirmed {
  border-color: rgba(13, 111, 78, 0.2);
  border-left: 4px solid var(--green);
  background: var(--green-soft);
}

.atom-row.candidate {
  border-color: rgba(154, 101, 18, 0.34);
  border-left: 4px solid var(--amber);
  background: #ffffff;
}

.atom-row.negated,
.atom-row.missing {
  border-color: rgba(181, 70, 54, 0.45);
  border-left: 4px solid var(--red);
  background: var(--red-soft);
}

.status-badge,
.atom-row dt {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.status-badge {
  display: inline-flex;
  width: fit-content;
  min-height: 20px;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--neutral-soft);
  color: var(--neutral);
  line-height: 1;
}

.pass-row.miss .status-badge,
.pass-row.negated .status-badge,
.atom-row.missing .status-badge,
.atom-row.negated .status-badge {
  background: var(--red-soft);
  color: var(--red);
}

.pass-row.candidate .status-badge,
.atom-row.candidate .status-badge {
  background: var(--amber-soft);
  color: var(--amber);
}

.pass-row.supported .status-badge,
.atom-row.affirmed .status-badge {
  background: #ffffff;
  color: var(--green);
}

.pass-row strong,
.atom-row strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

.pass-row p,
.atom-row p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.atom-row dl,
.satisfaction-card dl {
  display: grid;
  gap: 5px;
  margin: 8px 0 0;
}

.improvement-loop {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.improvement-loop > div {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(154, 101, 18, 0.34);
  border-left: 4px solid var(--amber);
  background: #ffffff;
}

.improvement-loop.stable > div {
  border-color: var(--line);
  background: var(--neutral-soft);
}

.improvement-loop span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.improvement-loop strong {
  display: block;
  margin-top: 6px;
  line-height: 1.25;
}

.improvement-loop p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.apply-update-button {
  width: 100%;
  margin-top: 12px;
}

.llm-review-panel,
.learning-diff,
.pearl-regeneration-panel {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.llm-review-panel.ready {
  background: #fff;
}

.learning-diff.pending {
  border-color: rgba(154, 101, 18, 0.34);
  border-left: 4px solid var(--amber);
  background: #ffffff;
}

.learning-diff.saved {
  border-color: var(--line);
  background: var(--neutral-soft);
}

.pearl-regeneration-panel {
  border-color: var(--line);
  background: #ffffff;
}

.pearl-regeneration-panel.error {
  border-color: rgba(181, 70, 54, 0.42);
  background: var(--red-soft);
}

.llm-review-topline {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.llm-review-topline span,
.learning-diff span,
.llm-review-facts dt {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.llm-review-topline strong {
  display: block;
  margin-top: 5px;
}

.llm-review-topline button,
.secondary-review-button {
  min-height: 36px;
  border: 1px solid var(--line-strong);
  background: #fff;
  color: var(--ink);
  font-weight: 800;
}

.pearl-regeneration-panel .llm-review-topline button {
  border-color: var(--blue);
  background: var(--blue);
  color: #ffffff;
}

.pearl-regeneration-panel .llm-review-topline button:disabled {
  border-color: var(--line-strong);
  background: var(--surface-cool);
  color: var(--muted);
}

.llm-review-panel p,
.learning-diff p,
.pending-note {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.mapping-editor-label {
  display: block;
  margin-top: 12px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.mapping-editor {
  width: 100%;
  min-height: 240px;
  margin-top: 8px;
  border: 1px solid var(--line);
  background: #fbfcfb;
  color: var(--ink);
  padding: 12px;
  font-family:
    "SFMono-Regular",
    Consolas,
    "Liberation Mono",
    monospace;
  font-size: 11px;
  line-height: 1.45;
  resize: vertical;
}

.mapping-editor-hint {
  margin-top: 8px;
}

.llm-review-facts,
.diff-grid {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
}

.llm-review-facts div,
.diff-grid div {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.76);
}

.llm-review-facts dd {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.4;
}

.review-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
}

.case-adjudication-panel {
  display: grid;
  gap: 12px;
}

.case-review-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  background: var(--surface-cool);
}

.case-review-flags label {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.case-review-actions {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.case-review-actions button {
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid var(--line-strong);
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.case-review-actions button:first-child {
  border-color: rgba(38, 128, 92, 0.45);
  background: var(--green-soft);
  color: var(--green);
}

.case-review-actions button:last-child {
  border-color: rgba(181, 70, 54, 0.42);
  background: var(--red-soft);
  color: var(--red);
}

.case-review-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

.case-review-summary-grid section {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.78);
}

.case-review-summary-grid h3 {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.case-review-queue,
.case-rule-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
}

.case-rule-list {
  list-style: none;
}

.case-review-row,
.case-rule-list li {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid var(--line);
  background: #fff;
}

.case-review-row strong,
.case-rule-list strong {
  color: var(--ink);
  font-size: 12px;
  line-height: 1.25;
}

.case-review-row span,
.case-rule-list span,
.case-review-row code {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.pearl-split-section,
.cms-delta-section {
  display: grid;
  gap: 22px;
  margin-top: 36px;
}

.point-time-section {
  display: grid;
  gap: 22px;
  margin-top: 36px;
}

.pearl-split-panel,
.cms-delta-panel {
  padding: 0;
  overflow: hidden;
}

.point-time-panel {
  padding: 0;
  overflow: hidden;
}

.pearl-split-layout,
.cms-delta-layout {
  display: grid;
  gap: 20px;
  padding: 26px;
}

.pearl-split-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.pearl-split-card {
  position: relative;
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.84);
}

.pearl-split-card.active {
  border-color: rgba(38, 128, 92, 0.42);
  background: linear-gradient(180deg, rgba(241, 248, 244, 0.94), rgba(255, 255, 255, 0.88));
  box-shadow: 0 12px 26px rgba(28, 91, 63, 0.09);
}

.pearl-split-card::after {
  content: "";
  position: absolute;
  top: 26px;
  right: -12px;
  z-index: 1;
  width: 16px;
  height: 1px;
  background: rgba(120, 132, 145, 0.55);
}

.pearl-split-card:last-child::after {
  display: none;
}

.pearl-split-card-head {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
}

.pearl-split-card-head > span {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid rgba(38, 128, 92, 0.28);
  background: var(--surface-cool);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}

.pearl-split-card-head div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.pearl-split-card small,
.pearl-split-reasoning span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.pearl-split-card strong,
.pearl-split-reasoning strong {
  color: var(--ink);
  line-height: 1.24;
}

.pearl-split-card p,
.pearl-split-reasoning p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.pearl-split-card dl {
  display: grid;
  gap: 6px;
  margin: 0;
}

.pearl-split-card dl div {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  min-width: 0;
}

.pearl-split-card dt {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.pearl-split-card dd {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.35;
}

.pearl-split-card dd span {
  padding: 2px 5px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.76);
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
}

.pearl-split-reasoning {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid rgba(38, 128, 92, 0.22);
  background: linear-gradient(135deg, rgba(241, 248, 244, 0.92), rgba(255, 255, 255, 0.9));
}

.pearl-split-reasoning > div {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.pearl-split-reasoning ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.38;
}

.point-time-layout {
  display: grid;
  gap: 20px;
  padding: 26px;
}

.cms-delta-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.point-time-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.cms-delta-kpis div,
.point-time-kpis div,
.cms-delta-disclaimer,
.cms-delta-classes span,
.cms-delta-card,
.point-time-replay,
.point-time-list li {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.82);
}

.cms-delta-kpis div,
.point-time-kpis div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
}

.cms-delta-kpis span,
.point-time-kpis span,
.point-time-replay span,
.point-time-list a,
.cms-delta-card-head span,
.cms-delta-meta dt,
.cms-delta-signal-list span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cms-delta-kpis strong,
.point-time-kpis strong {
  color: var(--ink);
  font-size: 20px;
  line-height: 1;
}

.cms-delta-disclaimer {
  padding: 12px;
  background: var(--surface-cool);
}

.cms-delta-disclaimer strong,
.point-time-replay strong,
.point-time-list strong,
.cms-delta-card-head strong,
.cms-delta-signal-list strong {
  color: var(--ink);
  line-height: 1.25;
}

.cms-delta-disclaimer p,
.point-time-replay p,
.cms-delta-card p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.point-time-replay {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 12px;
  padding: 14px;
  background: linear-gradient(135deg, rgba(241, 248, 244, 0.92), rgba(255, 255, 255, 0.9));
}

.point-time-replay > div {
  min-width: 0;
}

.point-time-change {
  padding: 12px;
  border: 1px solid rgba(38, 128, 92, 0.2);
  background: rgba(255, 255, 255, 0.7);
}

.point-time-columns {
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 12px;
}

.point-time-columns h3 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
}

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

.point-time-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px;
}

.point-time-list li > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.point-time-list span {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.point-time-list a {
  color: var(--green);
  text-decoration: none;
}

.cms-delta-classes,
.cms-delta-class-row,
.cms-source-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.cms-delta-classes span,
.cms-delta-class-row span,
.cms-source-badges span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.cms-delta-classes strong {
  color: var(--ink);
}

.cms-delta-class-row span,
.cms-source-badges span {
  border: 1px solid var(--line);
  background: #fff;
}

.cms-source-badges .cms-status-a {
  border-color: rgba(38, 128, 92, 0.45);
  background: var(--green-soft);
  color: var(--green);
}

.cms-source-badges .cms-status-r,
.cms-source-badges .cms-status-p {
  border-color: rgba(181, 70, 54, 0.35);
  background: var(--red-soft);
  color: var(--red);
}

.cms-delta-examples {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cms-delta-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
}

.cms-delta-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.cms-delta-card-head > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.cms-delta-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.cms-delta-meta div {
  min-width: 0;
}

.cms-delta-meta dd {
  margin: 3px 0 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.35;
}

.cms-delta-signal-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cms-delta-signal-list li {
  display: grid;
  gap: 3px;
  padding: 8px;
  border: 1px solid var(--line);
  background: #fff;
}

.cms-delta-signal-list small {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.secondary-review-button {
  width: 100%;
  margin-top: 12px;
}

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

.diff-grid code,
.diff-grid strong {
  display: block;
  margin-top: 6px;
  overflow-wrap: anywhere;
  font-size: 12px;
}

.diff-grid code {
  color: var(--red);
  text-decoration: line-through;
}

.diff-grid strong {
  color: var(--green);
}

.trust-comparison {
  display: grid;
  grid-template-columns: minmax(0, 0.84fr) minmax(0, 1.16fr);
  gap: 22px;
  margin-top: 26px;
  border: 0;
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: var(--shadow);
}

.comparison-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.comparison-grid div:first-child {
  background: var(--coral-soft);
  box-shadow: inset 0 0 0 1px rgba(212, 93, 73, 0.14);
}

.comparison-grid div:last-child {
  background: var(--mint-soft);
  box-shadow: inset 0 0 0 1px rgba(40, 184, 133, 0.16);
}

.proof-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 14px;
  border: 0;
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: var(--shadow);
}

.kpi-card {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: start;
  column-gap: 10px;
  row-gap: 7px;
  min-height: 96px;
  padding: 14px;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--surface-cool);
  box-shadow: inset 0 0 0 1px rgba(20, 93, 115, 0.08);
}

.kpi-icon {
  grid-row: span 2;
  display: inline-grid;
  position: relative;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue-vivid);
}

.kpi-icon::before,
.kpi-icon::after {
  content: "";
  position: absolute;
  border-color: currentColor;
}

.kpi-icon-cases::before {
  width: 15px;
  height: 10px;
  border-top: 2px solid;
  border-bottom: 2px solid;
}

.kpi-icon-cases::after {
  width: 15px;
  border-top: 2px solid;
}

.kpi-icon-policy::before {
  width: 13px;
  height: 17px;
  border: 2px solid;
  border-radius: 2px;
}

.kpi-icon-policy::after {
  width: 2px;
  height: 17px;
  left: 14px;
  border-left: 2px solid;
}

.kpi-icon-evidence::before {
  width: 14px;
  height: 14px;
  border: 2px solid;
  transform: rotate(45deg);
}

.kpi-icon-pdf::before {
  width: 14px;
  height: 17px;
  border: 2px solid;
  border-radius: 2px;
}

.kpi-icon-pdf::after {
  top: 9px;
  right: 9px;
  width: 5px;
  height: 5px;
  border-top: 2px solid;
  border-right: 2px solid;
}

.kpi-card strong {
  display: block;
  align-self: end;
  color: var(--ink);
  font-size: 31px;
  line-height: 1;
}

.kpi-card span {
  color: #6d7d87;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.metric-tags {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding-top: 4px;
}

.metric-tag {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  justify-content: flex-start;
  min-height: 30px;
  padding: 6px 10px;
  border: 0;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
  line-height: 1.1;
}

.metric-tag strong {
  flex: 0 0 auto;
  min-width: 18px;
  color: var(--blue);
  font-size: 12px;
}

.metric-tag-conservative-therapy,
.metric-tag-physical-therapy {
  background: var(--mint-soft);
}

.metric-tag-diagnosis-requirement,
.metric-tag-documentation-requirement {
  background: var(--amber-soft);
}

.metric-tag-step-therapy,
.metric-tag-observer {
  background: var(--blue-soft);
}

.advanced-drawer {
  margin-top: 18px;
  padding: 0;
}

.advanced-drawer summary {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  min-height: 68px;
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
}

.advanced-drawer summary::-webkit-details-marker {
  display: none;
}

.advanced-drawer summary::after {
  content: "+";
  flex: 0 0 auto;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--line);
  color: var(--blue);
  font-weight: 900;
}

.advanced-drawer[open] summary::after {
  content: "-";
}

.advanced-drawer summary span {
  color: var(--blue);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.advanced-drawer summary strong {
  display: block;
  margin-top: 4px;
  font-size: 18px;
}

.replay,
.corpus-browser,
.workspace,
.rule-catalog-panel {
  padding: 0 22px 22px;
  margin-top: 0;
}

.audit-summary-grid,
.audit-execution-section {
  display: grid;
  gap: 16px;
}

.audit-summary-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
}

.audit-decision-panel,
.audit-point-time-panel,
.audit-execution-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.audit-panel-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

.audit-panel-heading span,
.audit-disposition span,
.audit-fact-grid dt,
.audit-replay-route span,
.audit-execution-card span,
.audit-feature-table span,
.audit-trace-list span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.audit-panel-heading strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.15;
  text-align: right;
}

.audit-disposition {
  padding: 14px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.audit-disposition.approved {
  border-color: rgba(38, 128, 92, 0.24);
  background: var(--green-soft);
}

.audit-disposition.review {
  border-color: rgba(181, 70, 54, 0.24);
  background: var(--red-soft);
}

.audit-disposition p,
.audit-note,
.audit-replay-route p,
.audit-execution-card p,
.audit-trace-list p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.audit-fact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  border: 1px solid var(--line);
  background: var(--line);
}

.audit-fact-grid div {
  min-width: 0;
  padding: 10px;
  background: #ffffff;
}

.audit-fact-grid dd {
  margin: 5px 0 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.35;
}

.audit-source-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.audit-source-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border: 1px solid rgba(20, 93, 115, 0.16);
  border-radius: var(--radius-sm);
  background: #ffffff;
  color: var(--blue);
  padding: 0 10px;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.audit-replay-stack,
.audit-trace-list {
  display: grid;
  gap: 9px;
}

.audit-replay-route {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.audit-replay-route.active {
  border-color: rgba(38, 128, 92, 0.32);
  background: var(--green-soft);
}

.audit-replay-route strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
}

.audit-replay-route code {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.audit-execution-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.audit-execution-card,
.audit-trace-list div {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.audit-execution-card strong,
.audit-trace-list strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.3;
}

.audit-feature-table {
  display: grid;
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--line);
}

.audit-feature-table > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88px;
  gap: 12px;
  align-items: center;
  padding: 9px 10px;
  background: #ffffff;
}

.audit-feature-table code {
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.35;
}

.audit-feature-table strong {
  color: var(--ink);
  text-align: right;
}

.advanced-drawer .workspace {
  box-shadow: none;
}

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

.version-topline {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
  margin-bottom: 14px;
}

.version-topline .decision {
  flex: 0 0 auto;
  padding: 6px 8px;
  border: 1px solid var(--line);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.version-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: 14px;
  border: 1px solid var(--line);
  background: var(--line);
}

.metric {
  min-width: 0;
  padding: 10px;
  background: #ffffff;
}

.metric strong {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.version-rules,
.catalog-readable-rules {
  display: grid;
  gap: 8px;
}

.empty {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.learning-row strong {
  display: block;
  margin-top: 6px;
  line-height: 1.25;
}

.learning-row.stable {
  border-color: var(--line);
  background: var(--neutral-soft);
}

.decision-note {
  border-color: var(--line);
  background: var(--neutral-soft);
}

.rule-update code {
  display: block;
  margin-top: 8px;
  padding: 10px;
  background: var(--slate);
  color: #ffffff;
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.corpus-grid {
  display: grid;
  grid-template-columns: 0.86fr 1.34fr;
  gap: 18px;
}

.browser-panel {
  min-height: 620px;
}

.browser-heading {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: start;
  margin-bottom: 14px;
}

.browser-heading strong,
.pdf-meta strong {
  display: block;
  margin-top: 6px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.browser-heading input,
.rule-catalog-toolbar input {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--ink);
  padding: 0 12px;
}

.case-list,
.pdf-list,
.catalog-rule-list {
  display: grid;
  gap: 8px;
  overflow: auto;
}

.case-list {
  max-height: 612px;
}

.case-item,
.pdf-item {
  width: 100%;
  min-width: 0;
  text-align: left;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--ink);
  padding: 12px;
}

.case-item.active,
.pdf-item.active {
  border-color: rgba(21, 95, 125, 0.32);
  background: var(--neutral-soft);
}

.case-family,
.case-item small,
.pdf-item span,
.pdf-item small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.case-item strong,
.pdf-item strong {
  display: block;
  margin: 6px 0;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.case-item > span:not(.case-family) {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.pdf-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
  gap: 14px;
}

.pdf-list {
  max-height: 646px;
}

.pdf-preview {
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(420px, 1fr);
  gap: 12px;
}

.pdf-meta {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--line);
  background: var(--surface-cool);
}

.pdf-meta p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.pdf-meta a {
  flex: 0 0 auto;
  color: var(--blue);
  font-size: 13px;
  font-weight: 850;
}

.pdf-preview iframe {
  width: 100%;
  min-height: 560px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.rule-catalog-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 14px;
}

.rule-catalog-toolbar span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.catalog-rule-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: 620px;
  margin-top: 14px;
  padding-right: 4px;
}

.catalog-policy-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.catalog-policy-card.active {
  border-color: rgba(21, 95, 125, 0.32);
  background: var(--neutral-soft);
}

.catalog-policy-head {
  margin-bottom: 12px;
}

.catalog-policy-head span,
.human-rule span,
.audit-predicate small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.catalog-policy-head strong,
.human-rule strong {
  display: block;
  margin-top: 6px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.catalog-policy-head p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.catalog-readable-rule {
  padding: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.75);
}

.audit-predicate {
  margin-top: 10px;
}

.audit-predicate summary {
  cursor: pointer;
  color: var(--blue);
  font-size: 12px;
  font-weight: 850;
}

.audit-predicate code {
  display: block;
  margin-top: 8px;
  padding: 8px;
  background: var(--slate);
  color: #ffffff;
  font-size: 11px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.catalog-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--line);
  background: var(--surface-cool);
  color: var(--muted);
  font-size: 13px;
}

@media (max-width: 1180px) {
  .um-platform {
    grid-template-columns: 1fr;
  }

  .platform-sidebar {
    position: static;
    min-height: auto;
    grid-template-columns: minmax(180px, 0.5fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: start;
    padding: 16px 20px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

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

  .platform-nav a {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .sidebar-status {
    grid-column: 1 / -1;
  }

  .shell {
    width: calc(100vw - 40px);
    padding: 20px 0 42px;
  }

  .masthead,
  .case-cockpit,
  .dtr-grid,
  .workspace,
  .trust-comparison,
  .corpus-grid,
  .pdf-layout {
    grid-template-columns: 1fr;
  }

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

  .case-command,
  .disposition-zone,
  .source-receipt {
    grid-column: auto;
    grid-row: auto;
  }

  .runtime-badge {
    justify-self: start;
  }

  .story-flow,
  .trust-flow,
  .flow-strip,
  .workflow-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .workflow-step {
    min-height: auto;
    padding: 0 0 18px;
  }

  .workflow-step::before {
    top: 32px;
    bottom: 0;
    left: 16px;
    right: auto;
    width: 2px;
    height: auto;
  }

  body[data-active-page='case'] .shell {
    padding-bottom: 42px;
  }

  body[data-active-page='case'] .workflow-stage {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px 16px;
  }

  body[data-active-page='case'] .workflow-topline {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  body[data-active-page='case'] .workflow-steps {
    grid-template-columns: repeat(5, minmax(136px, 1fr));
    overflow-x: auto;
  }

  body[data-active-page='case'] .workflow-step {
    min-height: 58px;
    padding: 0 12px 0 0;
  }

  body[data-active-page='case'] .workflow-step::before {
    top: 14px;
    bottom: auto;
    left: 28px;
    right: 0;
    width: auto;
    height: 2px;
  }

  .replay-grid,
  .catalog-rule-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .um-platform {
    display: block;
  }

  .platform-sidebar {
    display: block;
    padding: 14px;
  }

  .platform-brand strong {
    font-size: 24px;
  }

  .platform-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 14px 0;
    overflow-x: visible;
    padding-bottom: 4px;
  }

  .platform-nav a {
    min-height: 56px;
  }

  .section-title {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: start;
  }

  .section-title .corpus-stats {
    justify-self: start;
    max-width: 100%;
  }

  .dtr-hero,
  .dtr-grid {
    padding: 16px;
  }

  .dtr-hero {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
  }

  .dtr-hero strong {
    font-size: 17px;
  }

  .dtr-status {
    justify-self: start;
  }

  .dtr-flow,
  .dtr-meta div,
  .dtr-variable {
    grid-template-columns: 1fr;
  }

  .code-block.dtr-code {
    max-height: 390px;
  }

  .dtr-outcome-card strong {
    font-size: 22px;
  }

  .um-platform > .shell {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 12px 14px 32px;
  }

  body[data-active-page='case'] .shell {
    padding-bottom: 32px;
  }

  body[data-active-page='case'] .workflow-stage {
    position: static;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
  }

  body[data-active-page='case'] .workflow-topline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  body[data-active-page='case'] .workflow-topline button {
    width: auto;
    min-width: 128px;
  }

  body[data-active-page='case'] .workflow-steps {
    grid-template-columns: repeat(5, minmax(118px, 1fr));
    overflow-x: auto;
    padding: 2px 2px 8px;
    scroll-snap-type: x mandatory;
  }

  body[data-active-page='case'] .workflow-step {
    grid-template-columns: 26px minmax(0, 1fr);
    column-gap: 8px;
    min-height: 48px;
    padding: 0 10px 0 0;
    scroll-snap-align: start;
  }

  body[data-active-page='case'] .workflow-step::before {
    top: 13px;
    bottom: auto;
    left: 26px;
    right: 0;
    width: auto;
    height: 2px;
  }

  body[data-active-page='case'] .workflow-step span {
    width: 26px;
    height: 26px;
    font-size: 10px;
  }

  body[data-active-page='case'] .workflow-step strong {
    padding-top: 0;
    font-size: 12px;
  }

  body[data-active-page='case'] .workflow-step p {
    display: none;
  }

  .masthead,
  .story-flow,
  .case-cockpit,
  .case-command,
  .disposition-zone,
  .source-receipt,
  .dtr-section,
  .rules-view,
  .learning-loop-section,
  .advanced-drawer,
  .panel,
  .rules-panel,
  .version-panel,
  .browser-panel,
  .page-heading,
  .trust-comparison {
    width: 100%;
    max-width: 100%;
    padding: 16px;
    overflow: hidden;
  }

  .dtr-panel {
    padding: 0;
  }

  h1 {
    font-size: 32px;
    line-height: 0.98;
  }

  .masthead h1 {
    max-width: calc(100vw - 74px);
    font-size: 38px;
    line-height: 0.98;
  }

  h2 {
    font-size: 24px;
    line-height: 1.05;
    overflow-wrap: anywhere;
  }

  .lede {
    font-size: 17px;
  }

  .page-heading p:last-child {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .masthead h1,
  .masthead .lede,
  .panel-heading strong,
  .composer,
  .composer textarea {
    max-width: calc(100vw - 54px);
  }

  .masthead .lede,
  .composer textarea {
    width: 100%;
  }

  .story-flow strong,
  .story-flow p {
    max-width: min(270px, calc(100vw - 116px));
  }

  .composer textarea {
    min-height: 224px;
  }

  .panel-heading strong {
    text-align: left;
  }

  .case-utility-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .rewrite-launcher {
    grid-template-columns: 1fr;
  }

  .rewrite-launcher button {
    width: 100%;
  }

  .rewrite-dialog {
    width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
  }

  .rewrite-dialog-panel {
    gap: 14px;
    padding: 16px;
  }

  .rewrite-dialog-header {
    gap: 10px;
    padding-bottom: 12px;
  }

  .rewrite-dialog-header h3 {
    font-size: 22px;
  }

  .rewrite-dialog .messiness-factors,
  .rewrite-dialog .factor-list {
    gap: 8px;
  }

  .rewrite-dialog .factor-chip {
    min-height: 32px;
    padding: 6px 8px;
    font-size: 11px;
  }

  .llm-row,
  .messiness-control > div {
    grid-template-columns: 1fr;
  }

  .factor-count-3 .factor-chip-row {
    grid-template-columns: 1fr;
  }

  .rewrite-dialog .factor-count-3 .factor-chip-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .summary-section summary {
    grid-template-columns: minmax(0, 1fr) 22px;
    row-gap: 4px;
  }

  .summary-section summary span,
  .summary-section summary strong {
    grid-column: 1;
  }

  .summary-section summary::after {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .case-generator,
  .packet-clinical-summary,
  .packet-details {
    width: 100%;
  }

  .llm-row button {
    width: 100%;
  }

  .case-utility-actions button {
    width: 100%;
    min-width: 0;
  }

  .facts,
  .disposition-actions,
  .clinical-summary-grid,
  .clinical-summary-split,
  .rules-grid,
  .comparison-grid,
  .proof-metrics,
  .review-actions,
  .case-review-actions,
  .case-review-summary-grid,
  .audit-summary-grid,
  .audit-fact-grid,
  .audit-execution-grid,
  .pearl-split-flow,
  .pearl-split-reasoning,
  .cms-delta-kpis,
  .cms-delta-examples,
  .cms-delta-meta,
  .point-time-kpis,
  .point-time-replay,
  .point-time-columns,
  .diff-grid,
  .trust-strip,
  .audit-receipt,
  .version-meta,
  .improvement-loop,
  .story-flow,
  .trust-flow,
  .flow-strip,
  .workflow-steps,
  .browser-heading,
  .rule-catalog-toolbar {
    grid-template-columns: 1fr;
  }

  .pearl-split-card::after {
    display: none;
  }

  .disposition-card {
    min-height: 220px;
  }

  .chat-log {
    min-height: 360px;
  }

  .gate-stage {
    grid-template-columns: 1fr;
  }

  .gate-lock {
    min-height: 52px;
  }

  .receipt-row,
  .requirement-row,
  .rule-row,
  .agent-step,
  .rule-facts div,
  .atom-row dl div,
  .satisfaction-card dl div {
    grid-template-columns: 1fr;
  }

  .advanced-drawer summary {
    align-items: start;
  }

  .pdf-preview iframe {
    min-height: 420px;
  }
}

/* ------------------------------------------------------------------------- */
/* Guided golden-path presenter tour                                          */
/* ------------------------------------------------------------------------- */

.hero-action-tour {
  display: grid;
  min-height: 42px;
  place-items: center;
  margin-top: 8px;
  width: 100%;
  border: 1px solid var(--blue);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--blue);
  font-size: 13px;
  font-weight: 850;
}

.page-heading {
  position: relative;
}

.page-heading-tour {
  position: absolute;
  top: 26px;
  right: 28px;
  padding: 9px 14px;
  border: 1px solid var(--blue);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--blue);
  font-size: 12px;
  font-weight: 850;
}

.tour-spotlight {
  position: relative;
  z-index: 5;
  outline: 3px solid var(--blue-vivid);
  outline-offset: 4px;
  border-radius: var(--radius-md);
  box-shadow: 0 0 0 7px rgba(10, 126, 160, 0.16);
  scroll-margin: 130px;
}

.tour-card {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 90;
  width: min(400px, calc(100vw - 44px));
  max-height: min(62vh, 560px);
  overflow-y: auto;
  padding: 18px 20px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-lg);
  background: var(--slate);
  color: #f3f8f9;
  box-shadow: 0 22px 48px rgba(17, 24, 32, 0.35);
}

.tour-card-topline {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.tour-card-topline span {
  color: var(--mint);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tour-card-topline strong {
  color: rgba(243, 248, 249, 0.72);
  font-size: 12px;
  font-weight: 700;
}

.tour-card h3 {
  margin: 0 0 8px;
  font-family: var(--brand-serif);
  font-size: 21px;
  line-height: 1.2;
}

.tour-card p {
  margin: 0 0 10px;
  color: rgba(243, 248, 249, 0.86);
  font-size: 13.5px;
  line-height: 1.5;
}

.tour-card .tour-status {
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  background: rgba(212, 93, 73, 0.22);
  color: #ffd9cf;
  font-size: 12.5px;
}

.tour-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.tour-actions button {
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 800;
}

.tour-primary {
  padding: 10px 16px;
  border: 0;
  background: var(--mint);
  color: #0c2018;
}

.tour-secondary {
  padding: 10px 14px;
  border: 1px solid rgba(243, 248, 249, 0.4);
  background: transparent;
  color: rgba(243, 248, 249, 0.92);
}

.tour-exit {
  margin-left: auto;
  padding: 10px 8px;
  border: 0;
  background: transparent;
  color: rgba(243, 248, 249, 0.55);
  font-weight: 700;
}

/* ------------------------------------------------------------------------- */
/* Packet delta panel: rewrite/manual-edit changes vs the original packet     */
/* ------------------------------------------------------------------------- */

.packet-delta-panel {
  margin-top: 14px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--amber);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.delta-topline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.delta-topline span {
  display: block;
  color: var(--amber);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.delta-topline strong {
  font-size: 14px;
}

.delta-empty {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.delta-doc-list {
  display: grid;
  gap: 10px;
}

.delta-doc {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--neutral-soft);
}

.delta-doc-meta {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 6px;
}

.delta-doc-meta span {
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--amber-soft);
  color: var(--amber);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.delta-doc.added .delta-doc-meta span {
  background: var(--green-soft);
  color: var(--green);
}

.delta-doc.removed .delta-doc-meta span {
  background: var(--red-soft);
  color: var(--red);
}

.delta-doc-meta strong {
  font-size: 13px;
}

.delta-doc-diff {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.delta-doc-diff del {
  padding: 1px 3px;
  border-radius: 3px;
  background: var(--red-soft);
  color: var(--red);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

.delta-doc-diff ins {
  padding: 1px 3px;
  border-radius: 3px;
  background: var(--green-soft);
  color: var(--green);
  text-decoration: none;
}

.delta-structured-list {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}

.delta-structured-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
}

.delta-structured-list li span {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  font-weight: 850;
}

.delta-structured-list li.removed span {
  background: var(--red-soft);
  color: var(--red);
}

.delta-structured-list li.added span {
  background: var(--green-soft);
  color: var(--green);
}

.delta-structured-list li small {
  color: var(--muted);
}

.delta-field-grid {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.delta-field-grid > div {
  display: grid;
  gap: 2px;
  font-size: 12.5px;
}

.delta-field-grid span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.delta-field-grid code {
  color: var(--red);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  overflow-wrap: anywhere;
}

.delta-field-grid strong {
  color: var(--green);
  overflow-wrap: anywhere;
}

.delta-footnote {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.sidebar-admin-reset {
  margin-top: 10px;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--coral);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--coral);
  font-size: 12px;
  font-weight: 800;
}

/* Outcome mix strip inside proof metrics */

.outcome-mix {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.outcome-cell {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 700;
}

.outcome-cell strong {
  font-size: 20px;
  font-weight: 850;
}

.outcome-cell.approved {
  background: var(--green-soft);
  color: var(--green);
}

.outcome-cell.review {
  background: var(--amber-soft);
  color: var(--amber);
}

.outcome-cell.denial {
  background: var(--slate);
  color: var(--mint);
}

/* Case filter: hint line + expanded results list while filtering */

.case-filter-hint {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.case-generator select[size] {
  min-height: 0;
  height: auto;
  padding: 6px;
}

.case-generator select[size] option {
  padding: 8px 10px;
  border-radius: var(--radius-sm);
}

/* Plain-English rule statement above the compiled predicate */

.plain-rule {
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue-vivid);
  border-radius: var(--radius-md);
  background: var(--blue-soft);
}

.plain-rule p {
  margin: 0;
  font-family: var(--brand-serif);
  font-size: 17px;
  line-height: 1.4;
}

.plain-rule p span {
  margin-right: 2px;
  color: var(--blue-vivid);
  font-family:
    ui-sans-serif,
    system-ui,
    sans-serif;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.plain-rule small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
}

.compiled-predicate > span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.compiled-predicate .code-block {
  font-size: 11.5px;
}

/* Learning lanes: lede, lane labels */

.learning-loop-section .section-lede {
  max-width: 860px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

.learning-lane {
  margin-bottom: 16px;
}

.lane-label {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  margin: 0 0 8px;
}

.lane-label span {
  color: var(--blue-vivid);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.lane-label strong {
  font-size: 14px;
}

/* Saved reviewer decision rows: rationale, date, superseded marker */

.case-review-row p {
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.45;
}

.case-review-row small {
  color: var(--muted);
  font-size: 11px;
}

.case-review-row strong em {
  color: var(--amber);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.case-rule-list li strong {
  color: var(--green);
}

/* Case summary card inside the adjudication lane */

.case-decision-summary {
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--amber);
  border-radius: var(--radius-md);
  background: var(--amber-soft);
}

.case-decision-summary.approved {
  border-left-color: var(--green);
  background: var(--green-soft);
}

.case-decision-summary > span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.case-decision-summary > strong {
  display: block;
  font-family: var(--brand-serif);
  font-size: 17px;
  line-height: 1.3;
}

.case-decision-summary > p {
  margin: 2px 0 8px;
  color: var(--muted);
  font-size: 12.5px;
}

.case-decision-summary dl {
  display: grid;
  gap: 4px;
  margin: 0;
}

.case-decision-summary dl div {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 8px;
  font-size: 12.5px;
}

.case-decision-summary dt {
  color: var(--muted);
  font-weight: 700;
}

.case-decision-summary dd {
  margin: 0;
  font-weight: 650;
}

/* ------------------------------------------------------------------------- */
/* Polish pass: editorial headings, micro-interactions, focus, live pulse     */
/* ------------------------------------------------------------------------- */

.page-heading h2,
.section-title h2 {
  font-family: var(--brand-serif);
  font-weight: 700;
  letter-spacing: -0.01em;
}

button {
  transition:
    filter 0.15s ease,
    transform 0.15s ease,
    box-shadow 0.15s ease,
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

button:not(:disabled):hover {
  filter: brightness(0.96);
}

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

a.hero-action {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

a.hero-action:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(20, 93, 115, 0.28);
}

summary {
  cursor: pointer;
}

details.advanced-drawer > summary:hover,
details.summary-section > summary:hover,
details.packet-details > summary:hover,
details.audit-predicate > summary:hover {
  background: var(--surface-cool);
}

.case-item {
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.case-item:hover {
  border-color: var(--blue-vivid);
  box-shadow: var(--shadow-soft);
  transform: translateY(-1px);
}

.platform-nav a {
  transition: background-color 0.15s ease, color 0.15s ease;
}

.platform-nav a:not(.active):hover {
  background: rgba(255, 255, 255, 0.75);
}

:focus-visible {
  outline: 2px solid var(--blue-vivid);
  outline-offset: 2px;
}

.runtime-badge.ready::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--mint);
  animation: live-pulse 2.2s ease infinite;
}

@keyframes live-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(40, 184, 133, 0.45);
  }
  50% {
    box-shadow: 0 0 0 5px rgba(40, 184, 133, 0);
  }
}

.view-clinical-notes {
  margin-top: 10px;
  padding: 8px 12px;
  border: 1px solid var(--amber);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--amber);
  font-size: 12px;
  font-weight: 800;
}

.case-decision-summary.approved .view-clinical-notes {
  border-color: var(--green);
  color: var(--green);
}

/* ------------------------------------------------------------------------- */
/* Evidence pipeline: the cascade visualized left-to-right                     */
/* ------------------------------------------------------------------------- */

.evidence-pipeline {
  margin: 4px 0 2px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, var(--surface-cool), var(--surface));
}

.pl-caption span {
  display: block;
  color: var(--blue-vivid);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pl-caption p {
  margin: 3px 0 14px;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.45;
}

.pl-lane {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pl-stage {
  position: relative;
  flex: 1 1 120px;
  min-width: 112px;
  padding: 10px 11px 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--neutral-soft);
}

.pl-stage .pl-order {
  position: absolute;
  top: 7px;
  right: 9px;
  color: var(--line-strong);
  font-size: 10px;
  font-weight: 850;
}

.pl-stage .pl-dot {
  display: block;
  width: 9px;
  height: 9px;
  margin-bottom: 7px;
  border-radius: 50%;
  background: var(--line-strong);
}

.pl-stage strong {
  display: block;
  font-size: 12.5px;
  line-height: 1.25;
}

.pl-stage .pl-status {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  text-transform: lowercase;
}

/* miss is the expected, de-emphasized default — keep it quiet */
.pl-stage.miss,
.pl-stage.not_run {
  opacity: 0.62;
}

.pl-stage.supported {
  border-color: var(--green);
  background: var(--green-soft);
}
.pl-stage.supported .pl-dot { background: var(--green); }
.pl-stage.supported .pl-status { color: var(--green); }

.pl-stage.candidate {
  border-color: var(--amber);
  background: var(--amber-soft);
  opacity: 1;
}
.pl-stage.candidate .pl-dot { background: var(--amber); }
.pl-stage.candidate .pl-status { color: var(--amber); }

.pl-stage.negated {
  border-color: var(--red);
  background: var(--red-soft);
  opacity: 1;
}
.pl-stage.negated .pl-dot { background: var(--red); }
.pl-stage.negated .pl-status { color: var(--red); }

.pl-stage.selected {
  box-shadow: 0 0 0 3px rgba(10, 126, 160, 0.18);
}

.pl-outcome {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed var(--line-strong);
}

.pl-node {
  flex: 1 1 0;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.pl-node span {
  display: block;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pl-node strong {
  display: block;
  margin: 3px 0 2px;
  font-size: 13.5px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.pl-node em {
  font-size: 11px;
  font-style: normal;
  color: var(--muted);
}

.pl-node.fact.on { border-left: 4px solid var(--green); }
.pl-node.fact.off { border-left: 4px solid var(--amber); }
.pl-node.fact.on em { color: var(--green); font-weight: 700; }
.pl-node.fact.off em { color: var(--amber); font-weight: 700; }

.pl-node.pearl {
  border-left: 4px solid var(--blue-vivid);
}

.pl-node.dispo.approved { border-left: 4px solid var(--green); background: var(--green-soft); }
.pl-node.dispo.review { border-left: 4px solid var(--amber); background: var(--amber-soft); }
.pl-node.dispo.denied { border-left: 4px solid var(--red); background: var(--red-soft); }
.pl-node.dispo strong { font-family: var(--brand-serif); font-size: 15px; }

.pl-arrow {
  align-self: center;
  color: var(--line-strong);
  font-size: 20px;
  font-weight: 700;
}

.evidence-detail {
  margin-top: 12px;
}

.evidence-detail > summary {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.observer-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

@media (max-width: 900px) {
  .pl-outcome { flex-wrap: wrap; }
  .pl-arrow { display: none; }
  .observer-detail-grid { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------------- */
/* Command bar: unified Case Review headline (title + live verdict + steps)    */
/* ------------------------------------------------------------------------- */

.command-bar {
  margin-bottom: 18px;
  padding: 20px 22px;
  border: 0;
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.command-bar-head {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 16px;
  padding-bottom: 18px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.cb-title {
  flex: 1 1 280px;
  min-width: 0;
  align-self: center;
}

.cb-title h2 {
  margin: 2px 0 0;
  font-family: var(--brand-serif);
  font-weight: 700;
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing: -0.01em;
}

.cb-identity {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.cb-verdict {
  flex: 0 1 300px;
  min-width: 200px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-left: 5px solid var(--line-strong);
  border-radius: var(--radius-md);
  background: var(--neutral-soft);
}

.cb-verdict > span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.cb-verdict > strong {
  margin: 3px 0 2px;
  font-family: var(--brand-serif);
  font-size: 22px;
  line-height: 1.1;
}

.cb-verdict > em {
  font-size: 12px;
  font-style: normal;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.cb-verdict.approved { border-left-color: var(--green); background: var(--green-soft); }
.cb-verdict.approved > strong { color: var(--green); }
.cb-verdict.review { border-left-color: var(--amber); background: var(--amber-soft); }
.cb-verdict.review > strong { color: var(--amber); }
.cb-verdict.denied { border-left-color: var(--red); background: var(--red-soft); }
.cb-verdict.denied > strong { color: var(--red); }

.cb-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
}

.cb-actions button {
  padding: 9px 16px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.cb-actions .cb-tour {
  border: 0;
  background: var(--blue);
  color: #fff;
}

.cb-actions button:not(.cb-tour) {
  border: 1px solid var(--line-strong);
  background: var(--surface);
  color: var(--ink);
}

@media (max-width: 720px) {
  .cb-actions { flex-direction: row; flex-wrap: wrap; }
}

/* ------------------------------------------------------------------------- */
/* Hero outcome stat: the headline "0 guessed denials" proof up front          */
/* ------------------------------------------------------------------------- */

.hero-outcome {
  margin-top: 22px;
  max-width: 640px;
}

.hero-outcome-cap {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hero-outcome-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.hero-outcome-row > div {
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.hero-outcome-row strong {
  display: block;
  font-family: var(--brand-serif);
  font-size: 30px;
  line-height: 1;
  color: var(--ink);
}

.hero-outcome-row span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.hero-outcome-row .hero-zero {
  border: 0;
  background: var(--slate);
}

.hero-outcome-row .hero-zero strong {
  color: var(--mint);
}

.hero-outcome-row .hero-zero span {
  color: rgba(243, 248, 249, 0.82);
}

@media (max-width: 720px) {
  .hero-outcome-row { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------------- */
/* Cohesion pass: one consistent label system across every panel header        */
/* Section eyebrows are the accent tier; panel kickers are the muted tier.      */
/* Per-selector colors are left intact — this only unifies the typography.      */
/* ------------------------------------------------------------------------- */

.eyebrow {
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.06em;
}

/* Panel kickers: uniform size, weight, and tracking everywhere */
.rules-topline span,
.observer-trace span,
.observer-list span,
.llm-review-topline span,
.learning-diff span,
.panel-heading span,
.satisfaction-card span,
.metric span,
.audit-panel-heading span,
.audit-disposition span,
.audit-execution-card span,
.audit-replay-route span,
.audit-feature-table span,
.audit-trace-list span,
.pl-caption span,
.pl-node > span,
.lane-label span,
.cb-verdict > span,
.case-decision-summary > span,
.compiled-predicate > span,
.delta-topline span {
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Panel titles share one display treatment (the strong beside a kicker) */
.rules-topline strong,
.llm-review-topline strong,
.audit-panel-heading strong {
  font-weight: 800;
  letter-spacing: -0.005em;
}

/* ------------------------------------------------------------------------- */
/* BCBSMA rule library: source links + reordered policy head                   */
/* ------------------------------------------------------------------------- */

.catalog-policy-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.catalog-policy-id {
  min-width: 0;
}

.catalog-source-link {
  flex: 0 0 auto;
  padding: 7px 12px;
  border: 1px solid var(--blue);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.catalog-source-link:hover {
  background: var(--blue-soft);
}

.browse-rules-link {
  display: inline-block;
  margin-top: 14px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.browse-rules-link:hover {
  text-decoration: underline;
}

.browse-rules-link.active {
  color: var(--blue);
}

/* The rule catalog is now a primary page section, not a drawer */
.rule-catalog-panel[data-page] {
  margin-bottom: 18px;
}

/* ------------------------------------------------------------------------- */
/* Coverage criterion: rules framed as BCBSMA coverage requirements            */
/* ------------------------------------------------------------------------- */

.coverage-criterion {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue-vivid);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.coverage-criterion + .coverage-criterion {
  margin-top: 10px;
}

.cc-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.cc-head strong {
  font-family: var(--brand-serif);
  font-size: 17px;
  line-height: 1.25;
}

.cc-tag {
  flex: 0 0 auto;
  padding: 2px 9px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cc-statement {
  margin: 8px 0 12px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink);
}

.cc-outcomes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.cc-outcome {
  padding: 9px 11px;
  border-radius: var(--radius-sm);
}

.cc-outcome span {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 3px;
}

.cc-outcome strong {
  font-size: 13px;
}

.cc-outcome.met {
  background: var(--green-soft);
}
.cc-outcome.met span { color: var(--green); }
.cc-outcome.met strong { color: var(--green); }

.cc-outcome.unmet {
  background: var(--amber-soft);
}
.cc-outcome.unmet span { color: var(--amber); }
.cc-outcome.unmet strong { color: var(--amber); }

.cc-source {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.coverage-criterion .audit-predicate {
  margin-top: 10px;
}

@media (max-width: 720px) {
  .cc-outcomes { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------------- */
/* Architecture explainer: Observers read vs Pearls decide                     */
/* ------------------------------------------------------------------------- */

.arch-split {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 14px;
  align-items: stretch;
}

.arch-side {
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
}

.arch-side.observer {
  border-top: 4px solid var(--amber);
  background: linear-gradient(180deg, var(--amber-soft), var(--surface) 60%);
}

.arch-side.pearl {
  border-top: 4px solid var(--green);
  background: linear-gradient(180deg, var(--green-soft), var(--surface) 60%);
}

.arch-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.04em;
}

.arch-side.observer .arch-badge {
  background: var(--amber);
  color: #fff;
}

.arch-side.pearl .arch-badge {
  background: var(--green);
  color: #fff;
}

.arch-side h3 {
  margin: 12px 0 6px;
  font-family: var(--brand-serif);
  font-size: 20px;
  line-height: 1.2;
}

.arch-side > p {
  margin: 0 0 12px;
  color: var(--ink);
  font-size: 13.5px;
  line-height: 1.5;
}

.arch-list {
  margin: 0 0 12px;
  padding-left: 18px;
  display: grid;
  gap: 5px;
}

.arch-list li {
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}

.arch-list li strong {
  color: var(--ink);
}

.arch-limit {
  margin: 0 0 14px;
  padding: 9px 12px;
  border-radius: var(--radius-sm);
  background: rgba(184, 117, 20, 0.12);
  font-size: 12.5px;
  line-height: 1.45;
}

.arch-limit.pearl {
  background: rgba(13, 111, 78, 0.12);
}

.arch-artifacts {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.arch-artifacts span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.arch-artifacts strong {
  font-size: 13px;
}

.arch-bridge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--muted);
}

.arch-bridge span {
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.arch-bridge em {
  font-style: normal;
  font-size: 26px;
  color: var(--line-strong);
}

.arch-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-md);
  background: var(--surface-cool);
  font-size: 13px;
}

.arch-flow span {
  color: var(--muted);
  font-weight: 700;
}

.arch-flow span.end {
  color: var(--ink);
  font-weight: 850;
}

.arch-flow em {
  font-style: normal;
  font-weight: 850;
  padding: 4px 10px;
  border-radius: 999px;
}

.arch-flow em.obs {
  background: var(--amber-soft);
  color: var(--amber);
}

.arch-flow em.prl {
  background: var(--green-soft);
  color: var(--green);
}

.arch-flow i {
  color: var(--line-strong);
  font-style: normal;
}

@media (max-width: 880px) {
  .arch-split { grid-template-columns: 1fr; }
  .arch-bridge { flex-direction: row; }
  .arch-bridge em { transform: rotate(90deg); }
}

/* ------------------------------------------------------------------------- */
/* Compiled pearl rule view (Policy Library)                                   */
/* ------------------------------------------------------------------------- */

.catalog-pearl-meta {
  color: var(--blue);
  font-weight: 700;
}

.compiled-rule {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--green);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.compiled-rule + .compiled-rule {
  margin-top: 10px;
}

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

.cr-head strong {
  font-family: var(--brand-serif);
  font-size: 17px;
  line-height: 1.25;
}

.cr-bit {
  flex: 0 0 auto;
  padding: 2px 9px;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cr-ifthen {
  margin: 10px 0 8px;
  font-family: var(--brand-serif);
  font-size: 15px;
  line-height: 1.4;
}

.cr-ifthen span {
  margin-right: 2px;
  color: var(--blue-vivid);
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cr-coverage {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.cr-compiled {
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  background: var(--slate);
}

.cr-compiled span {
  display: block;
  margin-bottom: 5px;
  color: var(--mint);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.cr-compiled code {
  color: #e9f1f4;
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.cr-meta {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 11.5px;
  overflow-wrap: anywhere;
}

/* ------------------------------------------------------------------------- */
/* Recognition detail: how the observer decides a requirement is present       */
/* ------------------------------------------------------------------------- */

.recognition {
  margin: 12px 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--amber-soft);
}

.recognition > summary {
  padding: 9px 12px;
  color: var(--amber);
  font-size: 12.5px;
  font-weight: 850;
  cursor: pointer;
}

.recognition[open] > summary {
  border-bottom: 1px solid rgba(184, 117, 20, 0.25);
}

.recognition > :not(summary) {
  margin-left: 12px;
  margin-right: 12px;
}

.rec-intro {
  margin: 10px 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--ink);
}

.rec-methods {
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.rec-method {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.rec-method-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.rec-num {
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: var(--amber);
  color: #fff;
  font-size: 11px;
  font-weight: 850;
}

.rec-method-head strong {
  font-size: 13px;
}

.rec-method-body {
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--muted);
}

.rec-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

.rec-chips code {
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--neutral-soft);
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 11.5px;
}

.rec-derived {
  color: var(--muted);
  font-style: italic;
}

.rec-list {
  margin: 10px 0;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.rec-list span {
  display: block;
  margin-bottom: 6px;
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.rec-list.rec-pos span { color: var(--green); }
.rec-list.rec-neg span { color: var(--red); }

.rec-list ul {
  margin: 0;
  padding-left: 16px;
  display: grid;
  gap: 3px;
}

.rec-list li {
  font-size: 12.5px;
  line-height: 1.4;
}

.rec-list.rec-pos li::marker { color: var(--green); }
.rec-list.rec-neg li { color: var(--red); }

.rec-note {
  margin: 10px 0;
  padding-bottom: 10px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--muted);
}

/* Auto-approval posture toggle in the command bar */

.cb-posture {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.cb-posture > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cb-posture-toggle {
  display: inline-flex;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  overflow: hidden;
}

.cb-posture-toggle button {
  padding: 6px 14px;
  border: 0;
  background: var(--surface);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.cb-posture-toggle button.active {
  background: var(--blue);
  color: #fff;
}

.cb-posture > em {
  flex: 1 1 280px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.4;
}

/* Deterministic-vs-AI showdown (dashboard headline) */
.showdown-section { margin-top: 8px; }
.showdown-panel { display: block; }
.showdown-empty { color: var(--muted); }
.showdown-grid { display: grid; gap: 16px; }
.sd-case {
  background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px;
}
.sd-case-label { font-size: 12px; font-weight: 850; letter-spacing: 0.03em; color: var(--blue); margin: 0 0 6px; }
.sd-case-note { margin: 0 0 12px; color: var(--ink); line-height: 1.5; font-size: 14px; }
.sd-review-link {
  border: 1px solid var(--line-strong); background: #fff; color: var(--ink);
  font-weight: 800; font-size: 13px; padding: 8px 14px; border-radius: 999px;
}
.sd-review-link:hover { border-color: var(--blue); color: var(--blue); }

.sd-versus { display: grid; grid-template-columns: 1fr 1.2fr; gap: 14px; }
@media (max-width: 900px) { .sd-versus { grid-template-columns: 1fr; } }
.sd-col { border-radius: 14px; padding: 16px 18px; border: 1px solid var(--line); }
.sd-col-pearl { background: rgba(22, 122, 90, 0.06); border-color: rgba(22, 122, 90, 0.35); }
.sd-col-ai { background: rgba(178, 58, 58, 0.05); border-color: rgba(178, 58, 58, 0.28); }
.sd-col-head { margin: 0 0 10px; font-size: 11px; font-weight: 850; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.sd-verdict { margin: 0 0 8px; font-size: 18px; font-weight: 900; }
.sd-verdict-review { color: #167a5a; }
.sd-reason { margin: 0 0 10px; font-size: 14px; line-height: 1.5; color: var(--ink); }
.sd-foot { margin: 0; font-size: 12.5px; color: var(--muted); line-height: 1.45; }
.sd-foot-warn { color: #8a2b2b; }

.sd-vendor-list { display: grid; gap: 7px; margin-bottom: 12px; }
.sd-vendor-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sd-model { font-size: 13px; font-weight: 800; color: var(--ink); display: flex; flex-direction: column; line-height: 1.2; }
.sd-model em { font-style: normal; font-size: 10.5px; font-weight: 600; color: var(--muted); }
.sd-decisions { display: inline-flex; gap: 5px; }
.sd-chip {
  font-size: 11px; font-weight: 850; padding: 3px 9px; border-radius: 999px; min-width: 58px; text-align: center;
}
.sd-approve { background: rgba(178, 58, 58, 0.14); color: #a52828; }   /* approving on weak evidence = the danger */
.sd-deny { background: rgba(34, 102, 68, 0.14); color: #1d6a44; }
.sd-uncertain { background: rgba(176, 124, 20, 0.16); color: #8a6310; }

.sd-reason-lottery { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 4px 18px; }
.sd-reason-lottery summary { padding: 12px 0; font-weight: 850; font-size: 14px; cursor: pointer; color: var(--ink); }
.sd-rl-note { margin: 0 0 10px; font-size: 13px; color: var(--muted); line-height: 1.5; }
.sd-reason-list { margin: 0 0 14px; padding: 0; list-style: none; display: grid; gap: 6px; }
.sd-reason-list li { display: flex; gap: 10px; font-size: 12.5px; color: var(--ink); line-height: 1.4; }
.sd-reason-list li span { flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%; background: rgba(178,58,58,0.12); color: #a52828; font-weight: 850; font-size: 11px; display: grid; place-items: center; }

.sd-punch { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink); padding: 14px 18px; background: var(--surface); border-left: 3px solid var(--blue); border-radius: 0 10px 10px 0; }
