:root {
  --paper: #f6f3ec;
  --paper-2: #efebe2;
  --white: #fcfbf8;
  --ink: #17192f;
  --ink-2: #25283d;
  --text: #4f5361;
  --body: #6f7380;
  --muted: #9699a4;
  --line: #d8d9e2;
  --line-2: #e6e3dc;
  --purple: #7077ce;
  --purple-pale: #ececf8;
  --lake: #6aa8bb;
  --lake-pale: #e5f0f2;
  --gold: #b58b66;
  --gold-pale: #f1e8de;
  --green: #4f8b7b;
  --green-pale: #e4efeb;
  --pink: #b66f93;
  --pink-pale: #f2e6ec;
  --red: #a75656;
  --red-pale: #f3e4e3;
  --sidebar: 248px;
  --topbar: 72px;
  --radius: 8px;
  --font-ui: "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-data: "Avenir Next", "DIN Alternate", "PingFang SC", sans-serif;
}

* { box-sizing: border-box; }

html { background: var(--paper); color: var(--ink); font-synthesis: none; line-break: strict; }

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow: hidden;
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.65;
  background: var(--paper);
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

button, input, textarea, select { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
p, h1, h2, h3, h4, dl, dd, dt, figure { margin: 0; }
h1, h2, h3, h4 { text-wrap: balance; line-height: 1.28; }
p, li { text-wrap: pretty; }
button:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--purple); outline-offset: 2px; }
* { scrollbar-width: thin; scrollbar-color: #a9abb5 transparent; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.app-shell { display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); min-height: 100vh; }

.sidebar {
  position: relative;
  z-index: 20;
  height: 100vh;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  color: #f8f7f3;
  background: var(--ink);
  border-right: 1px solid #2d3049;
}

.sidebar::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  background-image: linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 58%);
}

.brand-lockup {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 5px minmax(0,1fr);
  gap: 19px;
  align-items: center;
  padding: 28px 24px 27px;
  border-bottom: 1px solid rgba(255,255,255,.11);
}

.brand-rule { position:relative; width:5px; height:104px; background:rgba(255,255,255,.92); }
.brand-rule::before,.brand-rule::after { content:""; position:absolute; left:50%; width:9px; height:1px; transform:translateX(-50%); background:rgba(255,255,255,.92); }
.brand-rule::before { top:0; }.brand-rule::after { bottom:0; }
.brand-copy { min-width:0; display:grid; align-content:center; gap:7px; }
.brand-hospital { display:block; color:#fff; font-size:18px; font-weight:600; line-height:1.25; letter-spacing:-.025em; white-space:nowrap; }
.brand-product { min-width:0; display:flex; align-items:baseline; gap:4px; color:#fff; white-space:nowrap; }
.brand-product b { font-size:19px; font-weight:600; line-height:1.25; letter-spacing:-.035em; }
.brand-product em { color:#aeb1c1; font-size:12px; font-style:normal; font-weight:500; }
.brand-investor { display:block; margin-top:2px; color:#8f93a7; font:500 10px/1.3 var(--font-ui); letter-spacing:.04em; white-space:nowrap; }

.module-nav {
  position: relative;
  z-index: 1;
  overflow: auto;
  padding: 20px 14px 22px;
}

.nav-group-label { padding: 0 14px 10px; color: #85899e; font-size: 10px; font-weight: 700; letter-spacing: .11em; }
.nav-group-label--spaced { margin-top: 18px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.1); }
.nav-item {
  position: relative;
  width: 100%;
  min-height: 42px;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  border: 0;
  border-radius: 5px;
  padding: 0 12px;
  color: #c6c8d4;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}

.nav-item span { font-family: var(--font-data); font-size: 10px; color: #6f748d; font-variant-numeric: tabular-nums; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.055); transform: translateX(2px); }
.nav-item.active { color: #fff; background: rgba(255,255,255,.1); }
.nav-item.active::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; background: var(--purple); }
.nav-item.active span { color: #fff; }
.nav-item .nav-item-label { display: inline-flex; align-items: baseline; gap: 7px; color: inherit; font: inherit; font-variant-numeric: normal; }
.nav-item .nav-item-label em { color: #99bfc9; font: 700 8px/1 var(--font-data); font-style: normal; letter-spacing: .08em; }

.sidebar-status {
  position: relative;
  z-index: 1;
  margin: 0 14px 16px;
  padding: 17px 16px 15px;
  border-top: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.045);
}
.status-row { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #6fb59f; box-shadow: 0 0 0 4px rgba(111,181,159,.12); }
.sidebar-status > p { margin: 4px 0 12px 15px; color: #9296aa; font-size: 10px; }
.sidebar-status dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sidebar-status dl div { border-top: 1px solid rgba(255,255,255,.08); padding-top: 8px; }
.sidebar-status dt { color: #7f8499; font-size: 9px; }
.sidebar-status dd { margin-top: 2px; color: #fff; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }

.workspace { height: 100vh; min-width: 0; display: grid; grid-template-rows: var(--topbar) minmax(0, 1fr); }
.topbar {
  position: relative;
  z-index: 15;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 34px;
  background: color-mix(in oklch, var(--paper) 92%, white);
  border-bottom: 1px solid var(--line);
}
.breadcrumb { min-width: 0; display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.module-home { height:34px; display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:5px; padding:0 12px; color:var(--body); background:var(--surface); font-size:11px; font-weight:600; text-decoration:none; }
.module-home:hover { color:var(--ink); background:var(--paper-2); }
.breadcrumb i { width: 22px; height: 1px; background: var(--line); }
.breadcrumb strong { overflow: hidden; text-overflow: ellipsis; font-size: 13px; }
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.command-button {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 0 12px;
  color: var(--body);
  background: var(--white);
  cursor: pointer;
}
kbd { border: 1px solid var(--line); border-bottom-color: #b9bbc5; border-radius: 3px; padding: 0 5px; color: var(--muted); background: #f2f0eb; font: 10px/18px var(--font-data); }
.data-badge { display: flex; align-items: center; gap: 8px; min-height: 38px; border-left: 1px solid var(--line); padding-left: 14px; color: var(--body); font-size: 11px; }
.data-badge span { width: 6px; height: 6px; border-radius: 50%; background: var(--green); }

.content { min-width: 0; overflow: auto; padding: 34px 38px 52px; scroll-behavior: auto; }
.view { width: min(1540px, 100%); margin: 0 auto; animation: view-in .3s cubic-bezier(.22,.8,.26,1) both; }
@keyframes view-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

.page-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: end; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.page-kicker { margin-bottom: 7px; color: var(--purple); font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.page-header h1 { max-width: 950px; font-size: clamp(28px, 2.55vw, 42px); letter-spacing: -.025em; }
.page-desc { max-width: 880px; margin-top: 9px; color: var(--body); font-size: 15px; line-height: 1.7; }
.page-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.button {
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 0 14px;
  background: var(--white);
  color: var(--text);
  cursor: pointer;
}
.button:hover { border-color: var(--purple); color: var(--purple); }
.button--ink { border-color: var(--ink); background: var(--ink); color: #fff; }
.button--ink:hover { background: var(--ink-2); color: #fff; }
.button.is-active { border-color: var(--purple); background: var(--purple-pale); color: var(--purple); font-weight: 700; }

.section-label { display: flex; align-items: center; gap: 12px; margin: 28px 0 15px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.section-label::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.reference-provenance { min-height: 48px; display: grid; grid-template-columns: auto auto minmax(0,1fr); align-items: center; gap: 15px; margin-top: 18px; border-left: 4px solid var(--green); padding: 10px 15px; color: var(--body); background: var(--green-pale); font-size: 10px; }
.reference-provenance b { color: var(--green); font: 700 9px/1 var(--font-data); letter-spacing: .1em; }
.reference-provenance strong { color: var(--ink); font-size: 12px; }
.reference-provenance span { min-width: 0; text-align: right; }
.surface { border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.surface-dark { color: #fff; background: var(--ink); border-color: var(--ink); }
.subtle { color: var(--body); }
.data-number { font-family: var(--font-data); font-variant-numeric: tabular-nums; }

/* Overview */
.overview-hero { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .72fr); gap: 18px; margin-top: 28px; }
.thesis-panel { position: relative; min-height: 340px; overflow: hidden; padding: 42px 44px 36px; background: var(--ink); color: #fff; }
.thesis-panel::after { content: ""; position: absolute; width: 420px; height: 420px; right: -180px; bottom: -270px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 48px rgba(255,255,255,.025), 0 0 0 96px rgba(255,255,255,.018); }
.thesis-index { color: #a9adbe; font: 11px/1 var(--font-data); letter-spacing: .14em; }
.thesis-panel h2 { max-width: 760px; margin-top: 44px; font-size: clamp(30px, 3vw, 50px); line-height: 1.24; letter-spacing: -.035em; }
.thesis-panel h2 em { color: #d6b99c; font-style: normal; }
.thesis-panel > p { max-width: 820px; margin-top: 20px; color: #c7cad6; font-size: 16px; }
.thesis-foot { position: absolute; left: 44px; right: 44px; bottom: 28px; display: flex; justify-content: space-between; gap: 20px; color: #9095aa; font-size: 10px; }
.system-rail { padding: 24px 24px 18px; }
.system-rail h3 { font-size: 16px; }
.rail-status { display: grid; gap: 0; margin-top: 18px; }
.rail-status div { position: relative; display: grid; grid-template-columns: 48px 1fr; gap: 14px; padding: 18px 0; border-top: 1px solid var(--line-2); }
.rail-status b { font: 700 11px/1.4 var(--font-data); color: var(--purple); }
.rail-status strong { display: block; font-size: 14px; }
.rail-status p { margin-top: 3px; color: var(--body); font-size: 12px; }
.rail-foot { margin-top: 14px; padding: 14px; color: var(--body); background: var(--paper); font-size: 11px; }

.metric-run { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.metric-run article { min-height: 112px; padding: 20px 22px; border-right: 1px solid var(--line); }
.metric-run article:last-child { border-right: 0; }
.metric-run strong { display: block; font: 700 31px/1.1 var(--font-data); }
.metric-run span { display: block; margin-top: 7px; color: var(--body); font-size: 12px; }
.metric-run article:nth-child(3) strong { color: var(--purple); }

.process-trace { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 18px; background: var(--white); border: 1px solid var(--line); }
.trace-step { position: relative; min-height: 132px; padding: 21px 22px 19px; border-right: 1px solid var(--line); }
.trace-step:last-child { border-right: 0; }
.trace-step:not(:last-child)::after { content: ""; position: absolute; z-index: 2; right: -6px; top: 49%; width: 10px; height: 10px; background: var(--white); border-top: 1px solid var(--purple); border-right: 1px solid var(--purple); transform: rotate(45deg); }
.trace-step b { font: 700 10px/1 var(--font-data); color: var(--purple); }
.trace-step h3 { margin-top: 18px; font-size: 16px; }
.trace-step p { margin-top: 7px; color: var(--body); font-size: 12px; }

/* Capability */
.application-map { margin-top: 26px; padding: 24px; }
.app-filter { display: flex; gap: 8px; margin-bottom: 18px; }
.application-grid { display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.application-item { min-height: 82px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 16px; background: transparent; text-align: left; cursor: pointer; }
.application-item:hover { background: var(--paper); }
.application-item.is-current { color: #fff; background: var(--ink); }
.application-item strong { display: block; font-size: 15px; }
.application-item span { display: block; margin-top: 5px; color: var(--muted); font: 9px/1.4 var(--font-data); letter-spacing: .08em; }
.application-item.is-current span { color: #b8bbcb; }
.engine-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr); gap: 18px; margin-top: 18px; }
.core-engine { min-height: 168px; display: grid; grid-template-columns: 130px 1fr; align-items: center; background: var(--ink); color: #fff; }
.engine-mark { display: grid; place-items: center; align-self: stretch; border-right: 1px solid rgba(255,255,255,.15); color: #d0ad8e; font-size: 62px; font-weight: 800; }
.engine-copy { padding: 24px 30px; }
.engine-copy small { color: #b3b7c7; font-size: 10px; letter-spacing: .1em; }
.engine-copy h2 { margin-top: 10px; font-size: 24px; }
.engine-copy p { margin-top: 10px; color: #c5c8d4; }
.benchmark { padding: 24px; border-color: #ccb092; }
.benchmark small { color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.benchmark h3 { margin-top: 16px; font-size: 23px; }
.benchmark p { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--body); }
.pillar-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 18px; }
.pillar { padding: 25px; border-top: 5px solid var(--lake); }
.pillar:nth-child(2) { border-top-color: var(--gold); }
.pillar:nth-child(3) { border-top-color: var(--purple); }
.pillar small { color: var(--muted); font: 10px/1 var(--font-data); }
.pillar h3 { margin-top: 20px; font-size: 26px; }
.pillar p { margin-top: 8px; color: var(--body); }
.pillar strong { display: block; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line-2); text-align: right; }

/* Tracking and evidence */
.tracking-summary-grid { display: grid; grid-template-columns: minmax(270px,.78fr) minmax(420px,1.45fr) minmax(250px,.67fr); gap: 18px; margin-top: 26px; }
.problem-panel, .result-panel { padding: 24px; }
.problem-panel h2, .result-panel h2 { font-size: 18px; }
.problem-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.problem-stat { padding: 16px 12px; text-align: center; background: var(--paper); border: 1px solid var(--line-2); }
.problem-stat strong { font: 700 28px/1 var(--font-data); }
.problem-stat span { display: block; margin-top: 8px; color: var(--body); font-size: 11px; }
.issue-list { display: grid; gap: 12px; margin-top: 20px; }
.issue-list p { position: relative; padding-left: 15px; color: var(--text); font-size: 13px; }
.issue-list p::before { content: ""; position: absolute; left: 0; top: .72em; width: 5px; height: 5px; background: var(--lake); }
.knowledge-note { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.knowledge-note h3 { color: var(--purple); font-size: 15px; }
.knowledge-note p { margin-top: 8px; color: var(--body); font-size: 12px; }
.operating-panel { display: flex; flex-direction: column; padding: 24px; }
.operating-panel > h2 { font-size: 22px; }
.operating-panel > p { margin-top: 8px; color: var(--body); }
.operating-flow { flex: 1; display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(5,minmax(72px,1fr)); margin-top: 20px; border: 1px solid var(--line); }
.operating-node { position: relative; min-height: 72px; display: grid; grid-template-columns: 52px minmax(0,1fr); align-items: center; border: 0; border-bottom: 1px solid var(--line); background: var(--white); }
.operating-node:last-child { border-bottom: 0; }
.operating-node:first-child { color: #fff; background: var(--ink); border-color: var(--ink); }
.operating-node > b { align-self: stretch; display: grid; place-items: center; border-right: 1px solid var(--line); color: var(--purple); font: 700 11px/1 var(--font-data); }
.operating-node:first-child > b { border-right-color: rgba(255,255,255,.16); color: #fff; }
.operating-node > div { padding: 12px 16px; }
.operating-node strong { display: block; font-size: 14px; }
.operating-node span { display: block; margin-top: 4px; color: var(--body); font-size: 11px; }
.operating-node:first-child span { color: #c6c9d7; }
.evidence-story { margin-top: 16px; }
.result-stack { display: grid; gap: 10px; margin-top: 18px; }
.result-record { display: grid; grid-template-columns: 82px 1fr; align-items: center; gap: 10px; padding: 14px; background: var(--paper); }
.result-record strong { font: 700 23px/1 var(--font-data); }
.result-record:nth-child(2) strong { color: var(--purple); }
.result-record:nth-child(3) strong { color: var(--green); }
.result-record span { color: var(--body); font-size: 11px; }
.trait-list { margin-top: 18px; border-top: 1px solid var(--line); }
.trait-list article { padding: 14px 0; border-bottom: 1px solid var(--line-2); }
.trait-list strong { color: var(--purple); font-size: 13px; }
.trait-list p { margin-top: 3px; color: var(--body); font-size: 11px; }

/* Programmatic recreation of the authentic screening interface. */
.screening-workbench { overflow: hidden; border: 1px solid #bfc1cb; background: #f2f1f4; box-shadow: 0 18px 44px rgba(23,25,47,.08); container-type: inline-size; }
.screening-toolbar { min-width: 1080px; min-height: 54px; display: grid; grid-template-columns: 260px auto minmax(280px,1fr) 260px; align-items: center; gap: 12px; padding: 8px 12px; color: #f8f8fa; background: #202228; border-bottom: 1px solid #111319; }
.screening-mode { display: flex; align-items: center; gap: 9px; white-space: nowrap; }
.screening-mode span { font-size: 13px; }
.screening-mode strong { padding: 3px 8px; border: 1px solid #5b5e67; background: #34363e; font: 700 15px/1.25 var(--font-data); font-variant-numeric: tabular-nums; }
.screening-mode small { color: #9da0aa; font-size: 10px; }
.screening-toolbar-actions { display: flex; gap: 6px; }
.screening-toolbar button { min-height: 34px; border: 1px solid #565963; padding: 0 11px; color: #f2f2f5; background: #363840; cursor: pointer; }
.screening-toolbar button:hover { background: #474a54; }
.screening-record-search { display: grid; grid-template-columns: auto minmax(180px,1fr); align-items: center; gap: 9px; padding-left: 12px; color: #333641; background: #f5f3f7; }
.screening-record-search span { font-size: 12px; font-weight: 650; }
.screening-record-search input, .screening-name-search input { width: 100%; height: 36px; border: 1px solid #cfd1da; padding: 0 12px; color: #5b5f6a; background: #fff; }
.screening-record-search input { color: #6f7390; background: repeating-linear-gradient(135deg,#eff3f9 0 8px,#e6edf7 8px 16px); }
.screening-name-search { display: block; }

.screening-canvas { min-width: 1080px; display: grid; grid-template-columns: 270px 190px minmax(620px,1fr); min-height: 620px; }
.screening-queue { min-width: 0; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; color: #eceef1; background: #20241f; border-right: 1px solid #0f120f; }
.screening-queue-filter { display: grid; grid-template-columns: 1fr 1.45fr .72fr; gap: 7px; padding: 10px; border-bottom: 1px solid #3a3e39; }
.screening-queue-filter button { min-height: 36px; border: 1px solid #4b504b; padding: 0 9px; color: #d7dad7; background: transparent; text-align: left; cursor: pointer; }
.screening-queue-filter button:last-child { text-align: center; background: #393d39; }
.screening-queue-filter button.is-active { border-color: #6d7470; color: #fff; background: #30342f; }
.screening-privacy-strip { display: flex; align-items: center; justify-content: space-between; margin: 9px 10px 6px; min-height: 34px; padding: 0 10px; color: #a9afb0; background: repeating-linear-gradient(135deg,#dbe7f6 0 8px,#e7eff8 8px 16px); border: 1px solid #8fa5c5; }
.screening-privacy-strip span { color: #3a4658; font-size: 11px; }
.screening-privacy-strip strong { padding: 2px 6px; color: #fff; background: #59677c; font-size: 10px; }
.screening-patient-list { overflow: auto; padding: 0 10px 10px; }
.screening-patient { position: relative; width: 100%; display: grid; grid-template-columns: 27px 1fr; gap: 8px; border: 1px solid #3c423d; border-left: 3px solid #c27443; padding: 10px 8px 8px; color: #e6e8e6; background: #282d28; text-align: left; cursor: pointer; }
.screening-patient + .screening-patient { margin-top: 8px; }
.screening-patient:hover { border-color: #70766f; background: #303630; }
.screening-patient.is-active { border-color: #8e96b8; border-left-color: #7077ce; background: #343a34; box-shadow: inset 0 0 0 1px rgba(112,119,206,.35); }
.screening-risk { display: grid; place-items: center; width: 25px; height: 25px; color: #fff; background: #3b413c; font: 700 12px/1 var(--font-data); }
.screening-patient.is-active .screening-risk { background: var(--purple); }
.screening-patient-copy { min-width: 0; }
.screening-patient-copy strong { display: block; overflow: hidden; color: #fff; font-size: 12px; font-weight: 550; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.screening-patient-copy small { display: block; margin-top: 2px; color: #a9aeaa; font: 10px/1.3 var(--font-data); }
.screening-patient-status { grid-column: 1 / -1; display: flex; gap: 5px; margin-top: 3px; }
.screening-patient-status i { border: 1px solid #565c57; padding: 2px 5px; color: #bec3bf; font-size: 9px; font-style: normal; }
.screening-time-filter { display: flex; justify-content: space-between; gap: 4px; padding: 9px 10px; border-top: 1px solid #3b403c; }
.screening-time-filter button { min-height: 28px; border: 0; padding: 0 5px; color: #b7bbb8; background: transparent; font-size: 10px; cursor: pointer; }
.screening-time-filter button.is-active { color: #fff; }
.screening-time-filter button.is-active::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: var(--purple); }

.screening-visit { position: relative; padding: 17px 12px; background: #f4f1f4; border-right: 1px solid #d4d2d8; }
.screening-visit::before { content: ""; position: absolute; left: 20px; top: 32px; bottom: 26px; width: 3px; background: var(--purple); }
.screening-visit-date, .screening-visit-type, .screening-visit > p, .screening-visit-result { position: relative; z-index: 1; margin-left: 20px; }
.screening-visit-date { display: flex; align-items: center; gap: 8px; }
.screening-visit-date > span { width: 13px; height: 13px; margin-left: -18px; border: 3px solid var(--purple); border-radius: 50%; background: #fff; }
.screening-visit-date strong { font: 650 13px/1.3 var(--font-data); }
.screening-visit-type { display: grid; grid-template-columns: auto 1fr; gap: 6px; margin-top: 10px; }
.screening-visit-type b { padding: 3px 7px; border: 1px solid #c9c6ca; color: #343741; background: #fff; font-size: 11px; }
.masked-value { overflow: hidden; padding: 3px 6px; color: #5b6577; background: repeating-linear-gradient(135deg,#dbe7f6 0 8px,#e8eff8 8px 16px); border: 1px solid #9dafc7; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.screening-visit > p { margin-top: 9px; color: #777b86; font-size: 11px; }
.screening-visit-result { width: calc(100% - 20px); margin-top: 9px; border: 0; padding: 11px 10px; color: #d86429; background: #fff1ec; text-align: left; cursor: pointer; }
.screening-visit-result strong { display: block; font-size: 11px; line-height: 1.65; }
.screening-visit-result span { display: block; margin-top: 5px; color: #8b746a; font-size: 9px; }

.screening-detail { min-width: 0; background: #fff; }
.screening-patient-bar { min-height: 62px; display: grid; grid-template-columns: 1.2fr 1fr 1fr; border-bottom: 1px solid #dcdee4; background: #fbfbfd; }
.screening-patient-bar > div { padding: 11px 15px; border-right: 1px solid #e4e5ea; }
.screening-patient-bar > div:last-child { border-right: 0; }
.screening-patient-bar small { display: block; color: #9598a3; font-size: 9px; }
.screening-patient-bar strong { display: block; margin-top: 4px; color: #383c49; font-size: 12px; }
.screening-progress { min-height: 108px; display: grid; grid-template-columns: repeat(5,1fr); margin: 0; padding: 18px 17px 13px; list-style: none; border-bottom: 1px solid #dcdee4; }
.screening-progress li { position: relative; min-width: 0; padding-right: 12px; }
.screening-progress li:not(:last-child)::after { content: ""; position: absolute; left: 24px; right: 4px; top: 8px; height: 2px; background: #d9dce4; }
.screening-progress li.is-done:not(:last-child)::after { background: #69b844; }
.screening-progress span { position: relative; z-index: 1; display: grid; place-items: center; width: 17px; height: 17px; border: 2px solid #c7cad2; border-radius: 50%; color: #9599a4; background: #fff; font: 700 8px/1 var(--font-data); }
.screening-progress li.is-done span { border-color: #69b844; color: #fff; background: #69b844; }
.screening-progress li.is-current span { border-color: #28a47a; color: #fff; background: #28a47a; }
.screening-progress strong { display: block; margin-top: 7px; color: #30343f; font-size: 11px; white-space: nowrap; }
.screening-progress small { display: block; margin-top: 3px; color: #9296a1; font: 9px/1.45 var(--font-data); }
.screening-detail-scroll { padding: 14px 15px 18px; }
.screening-section-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 10px; }
.screening-section-title strong { color: #343846; font-size: 13px; }
.screening-section-title span { color: #9699a4; font-size: 9px; }
.screening-ai-note { padding: 14px 16px; background: #fff9d8; border: 1px solid #eee5ad; }
.screening-ai-note small { color: #7d7041; font: 700 9px/1.2 var(--font-data); letter-spacing: .06em; }
.screening-ai-note h3 { margin-top: 8px; color: #282b35; font-size: 14px; }
.screening-ai-note p { margin-top: 6px; color: #575a63; font-size: 12px; line-height: 1.75; }
.screening-ai-note > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.screening-ai-note > div span { padding: 3px 7px; color: #6f632c; background: rgba(255,255,255,.66); border: 1px solid #e1d697; font-size: 9px; }
.screening-diagnosis { margin-top: 10px; border: 1px solid #dfe1e7; }
.screening-diagnosis-head { display: flex; justify-content: space-between; align-items: center; padding: 9px 12px; border-bottom: 1px solid #e7e8ed; }
.screening-diagnosis-head span { color: #333744; font-size: 12px; font-weight: 650; }
.screening-diagnosis-head button { min-height: 28px; border: 1px solid #cfd3df; padding: 0 9px; color: #536cbd; background: #f7f9ff; font-size: 9px; cursor: pointer; }
.screening-diagnosis > p { padding: 10px 12px; color: #545865; font-size: 11px; }
.screening-report { margin-top: 10px; border: 1px solid #dfe1e7; }
.screening-report header { display: flex; justify-content: space-between; align-items: start; gap: 12px; padding: 10px 12px; border-bottom: 1px solid #e7e8ed; }
.screening-report header small { color: #566fd0; font: 700 9px/1.3 var(--font-data); }
.screening-report header strong { display: block; margin-top: 3px; color: #394cab; font-size: 11px; }
.screening-report header > span { padding: 3px 7px; color: #546a83; background: #edf3f7; font-size: 9px; }
.screening-report h4 { padding: 9px 12px 0; color: #343844; font-size: 11px; }
.screening-report > p { padding: 6px 12px 11px; color: #5b5f6a; font-size: 10px; line-height: 1.75; }
.screening-report footer { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 10px; padding: 9px 12px; border-top: 1px solid #e7e8ed; color: #9295a0; font-size: 9px; }
.screening-report footer button { justify-self: end; min-height: 30px; border: 1px solid #5f66bd; padding: 0 11px; color: #fff; background: var(--purple); font-size: 10px; cursor: pointer; }
.screening-workbench-foot { min-width: 1080px; min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 13px; color: #7b7e88; background: #eeedf0; border-top: 1px solid #cfd0d6; font: 9px/1.4 var(--font-data); letter-spacing: .04em; }

/* Evidence hierarchy: one dominant artifact, proportional details, supporting archive. */
.evidence-figure { min-width: 0; margin: 0; border: 1px solid var(--line); background: var(--white); }
.evidence-figure > button { position: relative; display: block; width: 100%; overflow: hidden; border: 0; padding: 0; background: #f3f1eb; cursor: zoom-in; }
.evidence-figure img { display: block; width: 100%; height: auto; object-fit: contain; object-position: top; }
.evidence-figure figcaption { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 16px; padding: 11px 13px 12px; border-top: 1px solid var(--line-2); }
.evidence-figure figcaption strong { min-width: 0; color: var(--text); font-size: 12px; font-weight: 650; }
.evidence-figure figcaption span { color: var(--muted); font: 9px/1.5 var(--font-data); text-align: right; }
.evidence-action { position: absolute; right: 12px; bottom: 12px; opacity: 0; transform: translateY(4px); padding: 7px 9px; color: #fff; background: rgba(23,25,47,.9); font-size: 10px; letter-spacing: .04em; transition: opacity .16s ease, transform .16s ease; }
.evidence-figure > button:hover .evidence-action, .evidence-figure > button:focus-visible .evidence-action { opacity: 1; transform: translateY(0); }
.evidence-figure--hero, .evidence-figure--hero-dark { border-top: 4px solid var(--ink); }
.evidence-figure--hero > button, .evidence-figure--hero-dark > button { padding: 12px; background: var(--ink); }
.evidence-figure--hero-dark > button { padding: 24px; background: #11121c; }
.evidence-figure--detail-wide { margin-top: 20px; }
.evidence-figure--portrait > button { display: grid; place-items: center; padding: 18px; background: var(--paper); }
.evidence-figure--portrait img { width: auto; max-width: 100%; max-height: 520px; }
.evidence-figure--hero-portrait { width: min(720px,100%); margin-inline: auto; border-top: 4px solid var(--purple); }
.evidence-figure--hero-portrait > button { display: grid; place-items: center; padding: 18px; background: var(--ink); }
.evidence-figure--hero-portrait img { width: auto; max-width: 100%; max-height: 680px; }
.evidence-archive { margin-top: 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.58); }
.evidence-archive summary { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(260px,1.2fr) 28px; align-items: center; gap: 18px; min-height: 68px; padding: 12px 16px; list-style: none; cursor: pointer; }
.evidence-archive summary::-webkit-details-marker { display: none; }
.evidence-archive summary::after { content: "+"; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--ink); color: var(--ink); font: 500 18px/1 var(--font-data); }
.evidence-archive[open] summary::after { content: "−"; }
.evidence-archive summary small { display: block; color: var(--muted); font: 9px/1 var(--font-data); letter-spacing: .08em; }
.evidence-archive summary strong { display: block; margin-top: 5px; font-size: 13px; }
.evidence-archive-meta { color: var(--body); font-size: 11px; text-align: right; }
.evidence-archive-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 18px; padding: 2px 16px 18px; }
.evidence-archive-grid .evidence-figure { align-self: start; }
.evidence-figure--archive-compact > button, .evidence-figure--archive-portrait > button { display: grid; place-items: center; padding: 14px; }
.evidence-figure--archive-compact img { width: auto; max-width: 100%; max-height: 360px; }
.evidence-figure--archive-portrait img { width: auto; max-width: 100%; max-height: 520px; }

/* Workflow */
.recall-flow-wrap { margin-top: 26px; overflow: auto; }
.recall-flow-stage { width: 100%; min-width: 1290px; display: grid; grid-template-columns: repeat(4,minmax(250px,1fr)) 290px; border-bottom: 1px solid var(--line); background: var(--paper); }
.recall-flow-stage::after { content: "SCREENING GOVERNANCE"; display: flex; align-items: center; padding: 0 20px; color: var(--muted); font: 700 9px/1 var(--font-data); letter-spacing: .08em; }
.recall-flow-stage > div { min-height: 62px; display: flex; align-items: center; gap: 11px; padding: 0 16px; border-right: 1px solid var(--line); }
.recall-flow-stage small { color: var(--purple); font: 700 9px/1 var(--font-data); }
.recall-flow-stage strong { font-size: 14px; }
.recall-flow-main { width: 100%; min-width: 1290px; display: grid; grid-template-columns: minmax(1000px,1fr) 290px; background: var(--white); }
.recall-topology { position: relative; width: 100%; height: 520px; overflow: hidden; background-image: linear-gradient(90deg,transparent calc(25% - 1px),var(--line) 25%,transparent calc(25% + 1px),transparent calc(50% - 1px),var(--line) 50%,transparent calc(50% + 1px),transparent calc(75% - 1px),var(--line) 75%,transparent calc(75% + 1px)); }
.recall-topology::after { content: ""; position: absolute; z-index: 0; left: 20px; right: 20px; top: 260px; border-top: 1px dashed #e0e1e6; }
.recall-connectors { position: absolute; z-index: 1; inset: 0; width: 100%; height: 520px; pointer-events: none; }
.recall-connectors path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.recall-connector-halo path { stroke: rgba(252,251,248,.98); stroke-width: 8; }
.recall-connector-lines path { stroke-width: 2.25; }
.recall-connector-lines .is-purple { stroke: var(--purple); marker-end: url(#recall-arrow-purple); }
.recall-connector-lines .is-lake { stroke: var(--lake); marker-end: url(#recall-arrow-lake); }
.recall-connector-lines .is-ink { stroke: var(--ink-2); marker-end: url(#recall-arrow-ink); }
.recall-connector-lines .is-support { stroke-dasharray: 6 5; stroke-width: 1.8; }
.recall-connector-lines .is-cross-department { stroke-width: 2.6; }
.recall-line-label { position: absolute; z-index: 5; padding: 1px 4px; color: #666b79; background: rgba(252,251,248,.94); font-size: 9px; font-weight: 700; line-height: 1.4; white-space: nowrap; }
.recall-line-label--point { left: 37.5%; top: 127px; color: #5368bd; font-size: 11px; transform: translateX(-50%); }
.recall-line-label--sms { left: 50%; top: 132px; transform: translateX(-50%); }
.recall-line-label--cross { left: 25%; top: 315px; color: #555db5; transform: translateX(-50%); }
.recall-line-label--phone { left: 50%; top: 329px; transform: translateX(-50%); }
.recall-zone-label { position: absolute; z-index: 2; left: 18px; top: 20px; }
.recall-zone-label span { color: var(--muted); font: 700 8px/1 var(--font-data); letter-spacing: .08em; }
.recall-zone-label strong { display: block; margin-top: 5px; font-size: 12px; }
.workflow-node { position: relative; z-index: 3; width: min(176px,100%); min-height: 52px; border: 1px solid var(--purple); border-radius: 5px; padding: 9px 12px; background: var(--white); text-align: center; cursor: pointer; }
.workflow-node:hover { box-shadow: 0 8px 20px rgba(23,25,47,.12); transform: translateY(-1px); }
.workflow-node.is-selected { box-shadow: 0 0 0 3px rgba(112,119,206,.18); }
.workflow-node.is-dark { color: #fff; background: var(--ink); border-color: var(--ink); }
.workflow-node.is-lake { border-color: var(--lake); background: var(--lake-pale); }
.workflow-node.is-gold { border-color: var(--gold); background: var(--gold-pale); }
.workflow-node.is-green { border-color: var(--green); background: var(--green-pale); }
.workflow-node small { display: block; color: var(--muted); font: 700 7px/1 var(--font-data); letter-spacing: .06em; }
.workflow-node strong { display: block; font-size: 13px; }
.workflow-node small + strong { margin-top: 6px; }
.workflow-node span { display: block; margin-top: 3px; color: var(--body); font-size: 10px; }
.workflow-node i { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; font-style: normal; }
.workflow-node.is-dark span { color: #c3c6d3; }
.workflow-node.is-dark i { color: #8f94a8; }
.workflow-node.is-dark small { color: #9297ab; }
.recall-node { position: absolute; width: auto; min-height: 74px; padding: 10px 13px; transition: transform .16s ease, box-shadow .16s ease; }
.recall-node--ai { left: 4%; top: 123px; width: 17%; }
.recall-node--diagnosis { left: 4%; top: 365px; width: 17%; border-style: dashed; background: #f2f8f8; }
.recall-node--rule { left: 29%; top: 42px; width: 17%; }
.recall-node--expert { left: 29%; top: 154px; width: 17%; }
.recall-node--manager { left: 29%; top: 346px; width: 17%; }
.recall-node--review-top { left: 54%; top: 121px; width: 17%; }
.recall-node--admission { left: 54%; top: 241px; width: 17%; }
.recall-node--review-bottom { left: 54%; top: 385px; width: 17%; }
.recall-node--treatment { left: 79%; top: 241px; width: 17%; }
.recall-node--followup { left: 79%; top: 385px; width: 17%; }
.recall-priority { position: absolute; z-index: 4; display: grid; place-items: center; min-width: 42px; height: 24px; border-radius: 14px; padding: 0 9px; color: #fff; background: #ad4d50; font: 700 9px/1 var(--font-data); box-shadow: 0 0 0 3px var(--white); }
.recall-priority--p1 { left: 52%; top: 228px; }
.recall-priority--p12 { left: 51.8%; top: 372px; background: var(--gold); }
.workflow-governance { display: grid; grid-template-rows: auto 1fr; border-left: 1px solid var(--line); background: #f7f6f2; }
.workflow-governance article { padding: 22px 20px; border-bottom: 1px solid var(--line); }
.workflow-governance article:last-child { border-bottom: 0; }
.workflow-governance small { color: var(--purple); font: 700 8px/1 var(--font-data); letter-spacing: .08em; }
.workflow-governance h3 { margin-top: 7px; font-size: 17px; }
.workflow-governance p { margin-top: 7px; color: var(--body); font-size: 10px; }
.governance-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.governance-tags span { padding: 4px 7px; border: 1px solid #cfd4e2; color: #555c7f; background: #fff; font-size: 9px; }
.workflow-governance dl { display: grid; gap: 10px; margin-top: 15px; }
.workflow-governance dl div { display: grid; grid-template-columns: 36px 1fr; gap: 9px; padding-top: 10px; border-top: 1px solid #dddde0; }
.workflow-governance dt { display: grid; place-items: center; width: 32px; height: 22px; border-radius: 12px; color: #fff; background: var(--purple); font: 700 9px/1 var(--font-data); }
.workflow-governance dl div:nth-child(2) dt { background: var(--gold); }
.workflow-governance dl div:nth-child(3) dt { background: var(--green); }
.workflow-governance dd { color: #555966; font-size: 9px; line-height: 1.6; }
.workflow-detail { display: grid; grid-template-columns: 160px 1fr auto; align-items: center; gap: 18px; margin-top: 14px; padding: 18px 20px; }
.workflow-detail small { color: var(--muted); font-size: 10px; letter-spacing: .08em; }
.workflow-detail h3 { margin-top: 4px; font-size: 17px; }
.workflow-detail p { color: var(--body); }

/* Programmatic patient processing interface. */
.processing-function-index { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 24px; border-block: 1px solid var(--line); background: rgba(255,255,255,.36); }
.processing-function-index article { min-width: 0; min-height: 86px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 12px; padding: 14px 18px; border-right: 1px solid var(--line); }
.processing-function-index article:last-child { border-right: 0; }
.processing-function-index article.is-active { box-shadow: inset 0 -3px var(--purple); background: var(--white); }
.processing-function-index b { color: var(--purple); font: 700 10px/1 var(--font-data); }
.processing-function-index strong { display: block; font-size: 14px; }
.processing-function-index span { display: block; margin-top: 4px; overflow: hidden; color: var(--body); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

.processing-workbench { position: relative; overflow: auto; border: 1px solid #bfc1cb; background: #e3e3e7; box-shadow: 0 18px 44px rgba(23,25,47,.08); container-type: inline-size; }
.processing-toolbar { min-width: 1180px; min-height: 54px; display: grid; grid-template-columns: 224px 226px minmax(480px,1fr) 190px; align-items: center; color: #f7f7f9; background: #202228; border-bottom: 1px solid #111319; }
.processing-mode { display: flex; align-items: center; gap: 8px; padding: 0 12px; white-space: nowrap; }
.processing-mode span { font-size: 12px; }
.processing-mode strong { padding: 3px 8px; border: 1px solid #5b5e67; background: #34363e; font: 700 14px/1.25 var(--font-data); }
.processing-mode small { color: #989ca7; font-size: 9px; }
.processing-encounter-switch { height: 100%; display: flex; align-items: stretch; }
.processing-encounter-switch button { min-width: 66px; border: 0; border-inline: 1px solid #3b3d45; padding: 0 13px; color: #bfc2ca; background: transparent; font-size: 11px; cursor: pointer; }
.processing-encounter-switch button + button { border-left: 0; }
.processing-encounter-switch button.is-active { color: #fff; background: var(--purple); }
.processing-patient-identity { min-width: 0; display: flex; align-items: center; gap: 14px; padding: 0 16px; border-left: 1px solid #34363d; }
.processing-patient-identity strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.processing-patient-identity span { color: #aeb1b9; font-size: 10px; white-space: nowrap; }
.processing-contact { display: flex; align-items: center; justify-content: end; gap: 8px; padding: 0 13px; border-left: 1px solid #34363d; }
.processing-contact span { color: #969aa5; font-size: 9px; }
.processing-contact strong { font: 650 11px/1 var(--font-data); }

.processing-canvas { min-width: 1180px; min-height: 650px; display: grid; grid-template-columns: 218px minmax(700px,1fr) 264px; background: #f4f3f5; }
.processing-queue { min-width: 0; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; color: #e9ebe9; background: #20241f; border-right: 1px solid #0f120f; }
.processing-queue-head { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 12px; border-bottom: 1px solid #393d38; }
.processing-queue-head small { display: block; color: #8f9691; font: 8px/1 var(--font-data); letter-spacing: .08em; }
.processing-queue-head strong { display: block; margin-top: 7px; font-size: 14px; }
.processing-queue-head > button { width: 30px; height: 30px; border: 1px solid #555b55; color: #d3d6d3; background: #343934; cursor: pointer; }
.processing-scope-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 9px 10px; border-bottom: 1px solid #3a3f3a; }
.processing-scope-switch button { min-height: 31px; border: 1px solid #4c514c; color: #adb2ae; background: transparent; font-size: 10px; cursor: pointer; }
.processing-scope-switch button.is-active { color: #22261f; background: #f1f1ee; }
.processing-date-list { overflow: auto; padding: 5px 10px 8px; }
.processing-date { width: 100%; min-height: 43px; display: grid; grid-template-columns: 1fr 46px; align-items: center; border: 0; border-bottom: 1px solid #373c37; padding: 5px 7px; color: #adb3ae; background: transparent; text-align: left; cursor: pointer; }
.processing-date:hover { background: #2c312c; }
.processing-date.is-active { color: #fff; background: #343a34; box-shadow: inset 3px 0 var(--purple); }
.processing-date span { font: 10px/1.2 var(--font-data); }
.processing-date strong { justify-self: end; font: 700 10px/1.2 var(--font-data); }
.processing-date i { grid-column: 1 / -1; margin-top: 3px; color: #777e79; font-size: 8px; font-style: normal; }
.processing-date.is-active i { color: #b8bcca; }
.processing-queue-foot { display: grid; grid-template-columns: repeat(3,1fr); padding: 8px 9px; border-top: 1px solid #3b403b; }
.processing-queue-foot button { min-height: 27px; border: 0; color: #9da29e; background: transparent; font-size: 9px; cursor: pointer; }
.processing-queue-foot button.is-active { color: #fff; }
.processing-queue-foot button.is-active::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--purple); }

.processing-case { min-width: 0; display: grid; grid-template-rows: auto auto auto auto minmax(0,1fr) auto; background: #fff; border-right: 1px solid #d6d7dc; }
.processing-case-meta { min-height: 58px; display: grid; grid-template-columns: .8fr .9fr .9fr minmax(230px,1.5fr); border-bottom: 1px solid #dcdee4; background: #fafafd; }
.processing-case-meta > div, .processing-case-meta > label { min-width: 0; padding: 9px 12px; border-right: 1px solid #e4e5ea; }
.processing-case-meta > *:last-child { border-right: 0; }
.processing-case-meta small, .processing-case-meta label > span { display: block; color: #9498a2; font-size: 8px; }
.processing-case-meta strong { display: block; margin-top: 4px; color: #373b47; font-size: 10px; }
.processing-state { color: #4d8071 !important; }
.processing-case-meta input { width: 100%; height: 25px; margin-top: 3px; border: 1px solid #d4d6dd; padding: 0 8px; color: #555966; background: #fff; font-size: 9px; }
.processing-progress { min-height: 90px; display: grid; grid-template-columns: repeat(6,1fr); margin: 0; padding: 14px 14px 10px; list-style: none; border-bottom: 1px solid #dcdee4; }
.processing-progress li { position: relative; min-width: 0; padding-right: 10px; }
.processing-progress li:not(:last-child)::after { content: ""; position: absolute; left: 22px; right: 3px; top: 8px; height: 2px; background: #d9dce4; }
.processing-progress li.is-done:not(:last-child)::after { background: #67af4b; }
.processing-progress span { position: relative; z-index: 1; display: grid; place-items: center; width: 17px; height: 17px; border: 2px solid #c5c8d0; border-radius: 50%; color: #8e929e; background: #fff; font: 700 8px/1 var(--font-data); }
.processing-progress li.is-done span { border-color: #67af4b; color: #fff; background: #67af4b; }
.processing-progress li.is-current span { border-color: #d1a145; color: #fff; background: #d1a145; }
.processing-progress strong { display: block; margin-top: 6px; color: #303440; font-size: 10px; white-space: nowrap; }
.processing-progress small { display: block; margin-top: 2px; color: #9296a1; font: 8px/1.35 var(--font-data); }
.processing-rule-alert { min-height: 40px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; margin: 10px 13px 0; border: 1px solid #e7b8b2; background: #fff0ee; }
.processing-rule-alert span { align-self: stretch; display: grid; place-items: center; padding: 0 10px; color: #fff; background: #c3564e; font-size: 9px; font-weight: 700; }
.processing-rule-alert strong { overflow: hidden; color: #a33d38; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.processing-rule-alert b { margin-right: 9px; padding: 3px 7px; color: #5c68c0; background: #eff0fb; font-size: 9px; white-space: nowrap; }
.processing-detail-tabs { display: flex; gap: 16px; margin: 11px 13px 0; border-bottom: 1px solid #dfe0e5; }
.processing-detail-tabs button { min-height: 34px; border: 0; border-bottom: 3px solid transparent; padding: 0 4px; color: #80848f; background: transparent; font-size: 11px; font-weight: 650; cursor: pointer; }
.processing-detail-tabs button.is-active { border-bottom-color: var(--purple); color: #3f4eb0; }
.processing-detail-body { min-height: 0; overflow: auto; padding: 11px 13px 13px; }
.processing-tab-panel[hidden] { display: none; }
.processing-ai-evidence { border: 1px solid #e4dfb4; background: #fffbdf; }
.processing-ai-evidence > header { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #e6e0b0; }
.processing-ai-evidence header small { color: #7d7041; font: 700 8px/1.2 var(--font-data); letter-spacing: .06em; }
.processing-ai-evidence h3 { margin-top: 5px; color: #292c36; font-size: 13px; }
.processing-ai-evidence header > span { padding: 3px 7px; color: #7e6931; background: rgba(255,255,255,.72); border: 1px solid #ded298; font-size: 8px; white-space: nowrap; }
.processing-signal-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.processing-signal-grid > div { min-width: 0; padding: 11px 13px; border-right: 1px solid #e8e1b7; }
.processing-signal-grid > div:last-child { border-right: 0; }
.processing-signal-grid small { display: block; color: #8b7b49; font-size: 8px; }
.processing-signal-grid strong { display: block; margin-top: 5px; color: #3a3b3e; font-size: 10px; }
.processing-signal-grid p { margin-top: 3px; color: #65645f; font-size: 9px; line-height: 1.55; }
.processing-report-copy { margin-top: 10px; border: 1px solid #dfe1e7; }
.processing-report-copy header { display: flex; align-items: start; justify-content: space-between; gap: 10px; padding: 9px 11px; border-bottom: 1px solid #e7e8ed; }
.processing-report-copy header small { color: #536bd0; font: 700 8px/1.3 var(--font-data); }
.processing-report-copy header strong { display: block; margin-top: 3px; font-size: 10px; }
.processing-report-copy header button { min-height: 27px; border: 1px solid #cdd2e1; padding: 0 9px; color: #5267bd; background: #f8f9fd; font-size: 8px; cursor: pointer; }
.processing-report-copy > p { padding: 9px 11px; color: #555963; font-size: 9px; line-height: 1.65; }
.processing-report-copy footer { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 8px 11px; border-top: 1px solid #e7e8ed; color: #8b8f99; font-size: 8px; }
.processing-care-plan > header { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.processing-care-plan header small { color: var(--muted); font: 700 8px/1 var(--font-data); letter-spacing: .06em; }
.processing-care-plan h3 { margin-top: 5px; font-size: 15px; }
.processing-care-plan header > span { padding: 4px 8px; color: #6f6645; background: #f4eed8; font-size: 8px; }
.processing-care-plan > p { margin-top: 8px; padding: 10px 12px; color: #585c68; background: #f5f6fa; border-left: 3px solid var(--purple); font-size: 9px; }
.processing-care-plan > section { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 11px 3px; border-bottom: 1px solid #e3e4e9; }
.processing-care-plan > section > b { color: var(--purple); font: 700 9px/1.5 var(--font-data); }
.processing-care-plan h4 { font-size: 11px; }
.processing-care-plan section p { margin-top: 3px; color: #666a75; font-size: 9px; }
.processing-case-actions { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 11px; border-top: 1px solid #dadce2; background: #f7f7f9; }
.processing-case-actions > div { display: flex; align-items: center; gap: 6px; }
.processing-case-actions button { min-height: 30px; border: 1px solid #cfd2db; padding: 0 10px; color: #555966; background: #fff; font-size: 9px; cursor: pointer; }
.processing-case-actions button:hover { border-color: #8e94c8; color: #424da7; }
.processing-case-actions button.is-primary { border-color: var(--purple); color: #fff; background: var(--purple); }
.processing-notice-state { padding: 4px 7px; color: #417a67; background: #e7f2ed; font-size: 8px; }

.processing-records { min-width: 0; display: grid; grid-template-rows: auto minmax(0,1fr) auto; background: #f5f3f5; }
.processing-records > header { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 13px; border-bottom: 1px solid #d5d6dc; }
.processing-records header small { display: block; color: #999ca5; font: 8px/1 var(--font-data); letter-spacing: .06em; }
.processing-records header strong { display: block; margin-top: 6px; font-size: 13px; }
.processing-records > header > span { padding: 3px 7px; color: #5a61af; background: #e9eaf7; font-size: 9px; }
.processing-record-list { overflow: auto; padding: 14px 12px 8px; }
.processing-record { position: relative; width: 100%; display: grid; grid-template-columns: 12px 1fr auto; gap: 3px 7px; border: 0; border-left: 2px solid #c8cad2; padding: 8px 8px 11px 13px; color: #595d68; background: transparent; text-align: left; cursor: pointer; }
.processing-record + .processing-record { margin-top: 8px; }
.processing-record:hover, .processing-record.is-active { border-left-color: var(--purple); background: #fff; box-shadow: 0 5px 14px rgba(23,25,47,.06); }
.processing-record-dot { grid-row: 1 / span 3; align-self: start; width: 8px; height: 8px; margin: 4px 0 0 -18px; border: 2px solid #b8bbc5; border-radius: 50%; background: #f5f3f5; }
.processing-record.is-active .processing-record-dot { border-color: var(--purple); }
.processing-record time { font: 650 9px/1.4 var(--font-data); }
.processing-record b { justify-self: end; color: #646ab5; font-size: 8px; }
.processing-record strong, .processing-record small { grid-column: 2 / -1; }
.processing-record strong { margin-top: 3px; color: #363a46; font-size: 10px; }
.processing-record small { color: #858994; font-size: 8px; }
.processing-return-card { margin: 10px 12px 12px; padding: 13px; border-top: 3px solid var(--green); background: #fff; }
.processing-return-card small { color: var(--muted); font: 8px/1 var(--font-data); letter-spacing: .06em; }
.processing-return-card strong { display: block; margin-top: 7px; color: var(--green); font-size: 13px; }
.processing-return-card p { margin-top: 5px; color: #666a74; font-size: 9px; }
.processing-return-card span { display: block; margin-top: 8px; color: #9a9da6; font: 8px/1 var(--font-data); }
.processing-workbench-foot { min-width: 1180px; min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 13px; color: #7b7e88; background: #eeedf0; border-top: 1px solid #cfd0d6; font: 8px/1.4 var(--font-data); letter-spacing: .04em; }

.processing-overlay[hidden], .processing-overlay-view[hidden] { display: none; }
.processing-overlay { position: absolute; z-index: 12; inset: 54px 0 38px; min-width: 1180px; display: grid; place-items: center; padding: 24px; }
.processing-overlay-backdrop { position: absolute; inset: 0; border: 0; background: rgba(23,25,47,.56); backdrop-filter: blur(2px); cursor: pointer; }
.processing-overlay-shell { position: relative; z-index: 1; width: min(1040px,calc(100% - 40px)); min-height: 470px; max-height: 600px; display: grid; grid-template-rows: auto minmax(0,1fr); overflow: hidden; border: 1px solid #b9bbc5; background: #fff; box-shadow: 0 24px 70px rgba(18,20,38,.3); }
.processing-overlay-head { min-height: 54px; display: flex; align-items: center; justify-content: space-between; padding: 9px 14px; color: #fff; background: var(--ink); }
.processing-overlay-head small { display: block; color: #aeb1c1; font: 8px/1 var(--font-data); letter-spacing: .08em; }
.processing-overlay-head strong { display: block; margin-top: 5px; font-size: 12px; }
.processing-overlay-head button { width: 32px; height: 32px; border: 1px solid #575b72; color: #fff; background: transparent; font-size: 20px; line-height: 1; cursor: pointer; }
.processing-overlay-view { min-height: 0; overflow: auto; }

.processing-report-browser { grid-template-columns: 270px 1fr; }
.processing-report-browser:not([hidden]) { display: grid; }
.processing-report-browser > aside { padding: 14px; background: #f2f1f3; border-right: 1px solid #d7d8de; }
.processing-report-browser aside > header { display: flex; justify-content: space-between; align-items: center; }
.processing-report-browser aside header strong { font-size: 13px; }
.processing-report-browser aside header span { color: #777b88; font-size: 9px; }
.processing-report-browser aside label { display: block; margin: 10px 0; }
.processing-report-browser aside input { width: 100%; height: 31px; border: 1px solid #ced0d8; padding: 0 9px; color: #686c76; background: #fff; font-size: 9px; }
.processing-report-browser aside > button { width: 100%; display: block; border: 0; border-bottom: 1px solid #d9dae0; padding: 10px; color: #555964; background: transparent; text-align: left; cursor: pointer; }
.processing-report-browser aside > button.is-active { box-shadow: inset 3px 0 var(--purple); background: #fff; }
.processing-report-browser aside time { color: #7c8090; font: 8px/1 var(--font-data); }
.processing-report-browser aside button strong { display: block; margin-top: 4px; font-size: 10px; }
.processing-report-browser aside button small { display: block; margin-top: 3px; color: #9296a0; font-size: 8px; }
.processing-report-browser > article { padding: 24px 28px; }
.processing-report-browser article > header { display: flex; justify-content: space-between; gap: 14px; padding-bottom: 14px; border-bottom: 1px solid #dfe0e5; }
.processing-report-browser article header small { color: #7276bc; font: 8px/1 var(--font-data); }
.processing-report-browser h3 { margin-top: 6px; font-size: 18px; }
.processing-report-browser article header > span { align-self: start; padding: 4px 8px; color: #417a67; background: #e6f1ed; font-size: 8px; }
.processing-report-browser dl { display: grid; grid-template-columns: repeat(3,1fr); margin: 14px 0; border: 1px solid #e0e1e6; }
.processing-report-browser dl div { padding: 9px 11px; border-right: 1px solid #e0e1e6; }
.processing-report-browser dl div:last-child { border-right: 0; }
.processing-report-browser dt { color: #9699a3; font-size: 8px; }
.processing-report-browser dd { margin-top: 3px; color: #3d414c; font-size: 10px; }
.processing-report-browser h4 { margin-top: 14px; font-size: 11px; }
.processing-report-browser article > p { margin-top: 5px; color: #5c606b; font-size: 10px; line-height: 1.75; }
.processing-report-highlight { display: flex; align-items: center; gap: 14px; margin-top: 18px; padding: 12px; border-left: 3px solid var(--purple); background: #f1f1f9; }
.processing-report-highlight span { color: #656bc1; font-size: 9px; font-weight: 700; }
.processing-report-highlight strong { font-size: 10px; }

.processing-360:not([hidden]) { display: block; padding: 22px 26px; }
.processing-360 > header { display: flex; align-items: start; justify-content: space-between; }
.processing-360 header small { color: var(--purple); font: 8px/1 var(--font-data); letter-spacing: .08em; }
.processing-360 h3 { margin-top: 6px; font-size: 18px; }
.processing-360 header > span { padding: 4px 8px; color: #626779; background: #eceef3; font-size: 8px; }
.processing-360-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 16px; border: 1px solid #dcdee4; }
.processing-360-grid article { min-height: 112px; padding: 15px; border-right: 1px solid #dcdee4; }
.processing-360-grid article:last-child { border-right: 0; }
.processing-360-grid small { color: #8b8f9a; font-size: 8px; }
.processing-360-grid strong { display: block; margin-top: 7px; font-size: 13px; }
.processing-360-grid p { margin-top: 6px; color: #6b6f7a; font-size: 9px; }
.processing-360-timeline { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 22px; border-top: 2px solid var(--purple); }
.processing-360-timeline article { display: grid; grid-template-columns: 38px 1fr; gap: 9px; padding: 15px 12px 0 0; }
.processing-360-timeline time { color: var(--purple); font: 700 9px/1.5 var(--font-data); }
.processing-360-timeline strong { font-size: 10px; }
.processing-360-timeline p { margin-top: 4px; color: #747884; font-size: 8px; }

.processing-status-dialog:not([hidden]) { align-self: center; width: 560px; margin: auto; padding: 28px; text-align: center; }
.processing-dialog-icon { width: 46px; height: 46px; display: grid; place-items: center; margin: 0 auto 13px; border: 2px solid #b65751; border-radius: 50%; color: #b65751; font: 700 20px/1 var(--font-data); }
.processing-status-dialog > small { color: #a75656; font: 700 8px/1 var(--font-data); letter-spacing: .08em; }
.processing-status-dialog h3 { margin-top: 9px; font-size: 18px; }
.processing-status-dialog > p { max-width: 460px; margin: 8px auto 0; color: #656a76; font-size: 10px; }
.processing-status-dialog dl { display: grid; grid-template-columns: repeat(2,1fr); margin-top: 18px; border: 1px solid #dedfe5; text-align: left; }
.processing-status-dialog dl div { display: grid; grid-template-columns: 75px 1fr; padding: 9px 11px; border-right: 1px solid #dedfe5; border-bottom: 1px solid #dedfe5; }
.processing-status-dialog dl div:nth-child(2n) { border-right: 0; }
.processing-status-dialog dl div:nth-last-child(-n+2) { border-bottom: 0; }
.processing-status-dialog dt { color: #9599a3; font-size: 8px; }
.processing-status-dialog dd { color: #3f434f; font-size: 9px; }
.processing-status-dialog footer { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.processing-status-dialog footer button { min-width: 104px; min-height: 34px; border: 1px solid #cfd1d8; color: #555967; background: #fff; font-size: 9px; cursor: pointer; }
.processing-status-dialog footer button.is-danger { border-color: #a75656; color: #fff; background: #a75656; }

.processing-closure:not([hidden]) { display: block; padding: 20px 22px; }
.processing-closure > header { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.processing-closure header small { color: var(--purple); font: 8px/1 var(--font-data); letter-spacing: .08em; }
.processing-closure h3 { margin-top: 6px; font-size: 17px; }
.processing-closure header label { color: #767a86; font-size: 9px; }
.processing-closure header input { height: 31px; margin-left: 7px; border: 1px solid #cfd1d8; padding: 0 8px; color: #555966; background: #fff; font-size: 9px; }
.processing-closure-summary { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 14px; border: 1px solid #dddfe5; }
.processing-closure-summary article { display: flex; align-items: baseline; gap: 8px; padding: 10px 13px; border-right: 1px solid #dddfe5; }
.processing-closure-summary article:last-child { border-right: 0; }
.processing-closure-summary strong { color: var(--purple); font: 700 18px/1 var(--font-data); }
.processing-closure-summary span { color: #7a7e89; font-size: 8px; }
.processing-closure-table-wrap { overflow: auto; margin-top: 14px; border: 1px solid #d9dbe1; }
.processing-closure table { width: 100%; min-width: 820px; border-collapse: collapse; font-size: 9px; }
.processing-closure th { padding: 9px 10px; color: #6f7380; background: #f0f1f4; text-align: left; white-space: nowrap; }
.processing-closure td { padding: 10px; border-top: 1px solid #e1e2e7; color: #4f5360; }
.processing-closure td span { padding: 3px 7px; color: #8a6a35; background: #f6eddb; white-space: nowrap; }
.processing-closure td span.status-ok { color: #3e7865; background: #e5f1ec; }
.processing-closure td button { min-height: 27px; border: 1px solid #cbd0df; padding: 0 8px; color: #5669bf; background: #f8f9fd; font-size: 8px; cursor: pointer; white-space: nowrap; }
.processing-closure td button.is-complete { border-color: #93b7aa; color: #417a67; background: #e7f2ed; }

/* Programmatic multi-channel follow-up workbench. */
.followup-channel-index { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 26px; border: 1px solid var(--line); background: var(--white); }
.followup-channel-index article { min-width: 0; min-height: 82px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 13px 16px; border-right: 1px solid var(--line); }
.followup-channel-index article:last-child { border-right: 0; }
.followup-channel-index article.is-active { box-shadow: inset 4px 0 var(--purple); background: linear-gradient(90deg,var(--purple-pale),var(--white) 38%); }
.followup-channel-index article > b { color: var(--purple); font: 700 10px/1 var(--font-data); }
.followup-channel-index strong { display: block; font-size: 14px; }
.followup-channel-index span { display: block; margin-top: 3px; overflow: hidden; color: var(--body); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.followup-channel-index em { padding: 4px 7px; color: #777b86; background: var(--paper); font-size: 8px; font-style: normal; white-space: nowrap; }
.followup-channel-index article.is-active em { color: #5960b2; background: #e2e3f5; }

.followup-workbench { overflow: auto; border: 1px solid #bfc1cb; background: #e9e8eb; box-shadow: 0 18px 44px rgba(23,25,47,.08); container-type: inline-size; }
.followup-toolbar { min-width: 1180px; min-height: 56px; display: grid; grid-template-columns: 270px minmax(430px,1fr) auto; align-items: stretch; color: #f8f8fa; background: #202228; border-bottom: 1px solid #111319; }
.followup-mode { display: flex; align-items: center; gap: 9px; padding: 0 14px; border-right: 1px solid #3a3d46; white-space: nowrap; }
.followup-mode span { font-size: 12px; }
.followup-mode strong { padding: 4px 9px; border: 1px solid #5b5e67; background: #34363e; font: 700 14px/1.2 var(--font-data); }
.followup-mode small { color: #9da0aa; font-size: 9px; }
.followup-task-identity { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 0 16px; }
.followup-task-identity small { color: #8f93a1; font: 8px/1 var(--font-data); letter-spacing: .08em; }
.followup-task-identity strong { margin-top: 5px; overflow: hidden; color: #fff; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.followup-task-meta { display: flex; align-items: center; gap: 8px; padding: 0 13px; border-left: 1px solid #3a3d46; }
.followup-task-meta span { color: #c6c8d0; font: 10px/1 var(--font-data); }
.followup-task-meta b, .followup-task-meta i { padding: 4px 8px; font-size: 9px; font-style: normal; white-space: nowrap; }
.followup-task-meta b { color: #fff; background: var(--red); }
.followup-task-meta i { color: #d9dbea; border: 1px solid #545866; }

.followup-canvas { min-width: 1180px; min-height: 690px; display: grid; grid-template-columns: 195px minmax(310px,.82fr) minmax(410px,1.08fr) 265px; align-items: stretch; background: #f5f4f5; }
.followup-queue { min-width: 0; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; color: #eceef1; background: #20241f; border-right: 1px solid #111511; }
.followup-queue > header { min-height: 57px; display: flex; align-items: center; justify-content: space-between; padding: 9px 11px; border-bottom: 1px solid #3a3e39; }
.followup-queue header small { display: block; color: #7f8581; font: 7px/1 var(--font-data); letter-spacing: .07em; }
.followup-queue header strong { display: block; margin-top: 5px; color: #fff; font-size: 11px; }
.followup-queue header button { width: 29px; height: 29px; border: 1px solid #4b504b; color: #c8ccc9; background: transparent; cursor: pointer; }
.followup-scope-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 8px 9px; border-bottom: 1px solid #3a3e39; }
.followup-scope-switch button { min-height: 29px; border: 1px solid #4c514c; color: #aeb3af; background: transparent; font-size: 9px; cursor: pointer; }
.followup-scope-switch button.is-active { color: #fff; background: #343934; }
.followup-queue-list { min-height: 0; overflow: auto; padding: 4px 9px 9px; }
.followup-queue-item { position: relative; width: 100%; min-height: 57px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: 3px 7px; border: 0; border-bottom: 1px solid #383d38; padding: 8px 8px 8px 11px; color: #c8ccc9; background: transparent; text-align: left; cursor: pointer; }
.followup-queue-item::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 2px; background: transparent; }
.followup-queue-item:hover { background: #2b302b; }
.followup-queue-item.is-active { color: #fff; background: #333933; }
.followup-queue-item.is-active::before { background: var(--purple); }
.followup-queue-item time { font: 650 9px/1.4 var(--font-data); }
.followup-queue-item > strong { justify-self: end; color: #fff; font: 700 9px/1.4 var(--font-data); }
.followup-queue-item span { color: #979d99; font-size: 8px; }
.followup-queue-item > b { justify-self: end; color: #c5c9c6; font: 700 8px/1.4 var(--font-data); }
.followup-queue > footer { display: flex; justify-content: space-around; padding: 8px 7px; border-top: 1px solid #3a3e39; }
.followup-queue > footer button { min-height: 26px; border: 0; color: #9ca19d; background: transparent; font-size: 8px; cursor: pointer; }
.followup-queue > footer button.is-active { color: #fff; }
.followup-queue > footer button.is-active::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 4px; border-radius: 50%; background: var(--purple); }

.followup-case { min-width: 0; display: flex; flex-direction: column; background: #f9f9fa; border-right: 1px solid #d4d5db; }
.followup-case-head { min-height: 57px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 13px; border-bottom: 1px solid #dfe0e5; }
.followup-case-head small { display: block; color: #9195a0; font: 8px/1 var(--font-data); letter-spacing: .08em; }
.followup-case-head strong { display: block; margin-top: 5px; font-size: 11px; }
.followup-case-head > span { color: #777b86; font-size: 8px; white-space: nowrap; }
.followup-risk-bar { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; align-items: center; gap: 10px; margin: 12px 13px 0; padding: 10px 11px; border-left: 3px solid var(--red); background: var(--red-pale); }
.followup-risk-bar > b { display: grid; place-items: center; width: 34px; height: 34px; color: #fff; border-radius: 50%; background: var(--red); font: 700 11px/1 var(--font-data); }
.followup-risk-bar strong { display: block; color: #4d3437; font-size: 11px; }
.followup-risk-bar span { display: block; margin-top: 3px; color: #866a6b; font-size: 8px; }
.followup-risk-bar i { padding: 3px 6px; color: #9a4f4f; border: 1px solid #d6aaa8; font-size: 8px; font-style: normal; white-space: nowrap; }
.followup-evidence-note { margin: 10px 13px 0; border: 1px solid #dedfe5; background: #fff; }
.followup-evidence-note > header { display: flex; align-items: start; justify-content: space-between; gap: 8px; padding: 11px 12px; border-bottom: 1px solid #e5e6eb; }
.followup-evidence-note header small { color: #686ec2; font: 700 8px/1 var(--font-data); letter-spacing: .06em; }
.followup-evidence-note h3 { margin-top: 6px; font-size: 12px; line-height: 1.45; }
.followup-evidence-note header > span { flex: 0 0 auto; padding: 3px 6px; color: #5e65b8; background: var(--purple-pale); font-size: 8px; }
.followup-evidence-note > p { padding: 10px 12px; color: #626671; font-size: 9px; line-height: 1.75; }
.followup-evidence-note dl { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #e5e6eb; }
.followup-evidence-note dl div { min-width: 0; padding: 8px 9px; border-right: 1px solid #e5e6eb; }
.followup-evidence-note dl div:last-child { border-right: 0; }
.followup-evidence-note dt { color: #979aa4; font-size: 7px; }
.followup-evidence-note dd { margin-top: 3px; overflow: hidden; color: #434752; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.followup-journey { display: grid; grid-template-columns: repeat(4,1fr); margin: 13px 13px 0; padding-top: 10px; border-top: 2px solid #d8dae1; }
.followup-journey > div { position: relative; min-width: 0; padding: 10px 6px 0 0; }
.followup-journey > div::before { content: ""; position: absolute; top: -15px; left: 0; width: 8px; height: 8px; border: 2px solid #c3c6cf; border-radius: 50%; background: #f9f9fa; }
.followup-journey > div.is-done::before { border-color: var(--green); background: var(--green); }
.followup-journey > div.is-current::before { border-color: var(--purple); background: var(--purple); }
.followup-journey span { color: #999ca6; font: 700 7px/1 var(--font-data); }
.followup-journey strong { display: block; margin-top: 5px; font-size: 9px; line-height: 1.35; }
.followup-journey small { display: block; margin-top: 3px; color: #9699a3; font-size: 7px; }
.followup-history { margin: auto 13px 13px; border-top: 1px solid #dfe0e5; }
.followup-history > header { display: flex; align-items: center; justify-content: space-between; padding: 10px 0 7px; }
.followup-history header strong { font-size: 10px; }
.followup-history header span { color: #8e929d; font-size: 8px; }
.followup-history > p { display: grid; grid-template-columns: 64px 64px minmax(0,1fr); align-items: center; gap: 6px; min-height: 35px; border-top: 1px solid #e5e6eb; color: #747883; font-size: 8px; }
.followup-history time { font: 8px/1 var(--font-data); }
.followup-history b { color: #4a4e59; font-size: 8px; }
.followup-history p span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.followup-composer { min-width: 0; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; background: #fff; border-right: 1px solid #d4d5db; }
.followup-composer > header { min-height: 57px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 13px; border-bottom: 1px solid #dfe0e5; }
.followup-composer > header small { display: block; color: #777ccc; font: 8px/1 var(--font-data); letter-spacing: .08em; }
.followup-composer > header strong { display: block; margin-top: 5px; font-size: 12px; }
.followup-composer > header > span { color: #8c909a; font-size: 8px; }
.followup-channel-tabs { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid #dfe0e5; }
.followup-channel-tabs button { min-width: 0; min-height: 48px; display: flex; align-items: center; gap: 7px; border: 0; border-right: 1px solid #e1e2e7; border-bottom: 2px solid transparent; padding: 0 9px; color: #777b86; background: #f7f7f9; cursor: pointer; }
.followup-channel-tabs button:last-child { border-right: 0; }
.followup-channel-tabs button.is-active { border-bottom-color: var(--purple); color: var(--ink); background: #fff; }
.followup-channel-tabs b { color: #9498a5; font: 700 7px/1 var(--font-data); }
.followup-channel-tabs button.is-active b { color: var(--purple); }
.followup-channel-tabs span { overflow: hidden; font-size: 9px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.followup-channel-panel { min-height: 0; overflow: auto; padding: 11px 13px 12px; }
.followup-channel-panel[hidden] { display: none; }
.followup-channel-panel fieldset { min-width: 0; margin: 0; border: 0; padding: 0; }
.followup-channel-panel legend, .followup-message-field > span, .followup-form-grid label > span, .followup-select-field > span { display: block; margin-bottom: 6px; color: #4f5360; font-size: 8px; font-weight: 650; }
.followup-channel-panel em { color: #9a5a57; font-size: 7px; font-style: normal; }
.followup-template-options { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.followup-template-options legend { grid-column: 1 / -1; }
.followup-template-options button { min-width: 0; min-height: 49px; border: 1px solid #d0d2da; padding: 7px 9px; color: #4e525e; background: #fff; text-align: left; cursor: pointer; }
.followup-template-options button.is-active { border-color: var(--purple); box-shadow: inset 3px 0 var(--purple); color: var(--ink); background: #f7f7fc; }
.followup-template-options button { font-size: 9px; font-weight: 650; }
.followup-template-options button small { display: block; margin-top: 3px; overflow: hidden; color: #9296a0; font-size: 7px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.followup-message-field { display: block; margin-top: 10px; }
.followup-message-field > span { display: flex; justify-content: space-between; }
.followup-message-field textarea { width: 100%; min-height: 144px; resize: vertical; border: 1px solid #d3d5dc; padding: 9px 10px; color: #535762; background: #fbfbfc; font-size: 8px; line-height: 1.55; }
.followup-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 9px; margin-top: 9px; }
.followup-form-grid label { min-width: 0; }
.followup-form-grid input, .followup-select-field input, .followup-select-field select { width: 100%; height: 31px; border: 1px solid #d2d4dc; padding: 0 8px; color: #565a65; background: #fff; font-size: 8px; }
.followup-form-grid input[readonly] { color: #737783; background: #f2f2f4; }
.followup-schedule { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-top: 10px !important; }
.followup-schedule legend { grid-column: 1 / -1; }
.followup-schedule button { min-width: 0; min-height: 42px; border: 1px solid #d0d2da; color: #565a66; background: #fff; cursor: pointer; }
.followup-schedule button.is-active { border-color: var(--green); color: #356c5e; background: var(--green-pale); }
.followup-schedule strong { display: block; font-size: 9px; }
.followup-schedule span { display: block; margin-top: 2px; font: 7px/1 var(--font-data); }
.followup-composer > footer { min-height: 48px; display: flex; justify-content: flex-end; align-items: center; gap: 7px; padding: 8px 13px; border-top: 1px solid #dfe0e5; background: #fafafd; }
.followup-composer > footer button { min-width: 80px; min-height: 31px; border: 1px solid #cfd1d8; color: #5c606c; background: #fff; font-size: 9px; cursor: pointer; }
.followup-composer > footer button.is-primary { border-color: var(--purple); color: #fff; background: var(--purple); }
.followup-composer > footer button.is-sent { border-color: var(--green); background: var(--green); }

.followup-phone-panel, .followup-secondary-panel { padding: 18px 16px; }
.followup-call-target { display: grid; grid-template-columns: 1fr auto; align-items: end; padding: 15px; border-left: 3px solid var(--purple); background: var(--purple-pale); }
.followup-call-target small { grid-column: 1 / -1; color: #6d72bd; font: 8px/1 var(--font-data); letter-spacing: .08em; }
.followup-call-target strong { margin-top: 8px; font: 700 21px/1 var(--font-data); }
.followup-call-target span { color: #777b87; font-size: 8px; }
.followup-phone-panel h3 { margin: 18px 0 7px; font-size: 13px; }
.followup-phone-panel > label:not(.followup-select-field) { display: flex; align-items: start; gap: 8px; padding: 11px 0; border-bottom: 1px solid #e3e4e9; color: #5d616d; font-size: 9px; }
.followup-phone-panel input[type="checkbox"] { accent-color: var(--purple); }
.followup-select-field { display: block; margin-top: 15px; }
.followup-secondary-panel > article { padding: 16px; border-top: 3px solid var(--gold); background: var(--gold-pale); }
.followup-secondary-panel article small { color: #997455; font: 8px/1 var(--font-data); letter-spacing: .08em; }
.followup-secondary-panel article strong { display: block; margin-top: 7px; font-size: 13px; }
.followup-secondary-panel article p { margin-top: 7px; color: #746457; font-size: 9px; }
.followup-secondary-steps { display: grid; gap: 7px; margin-top: 14px; }
.followup-secondary-steps button { min-height: 46px; display: grid; grid-template-columns: 34px 1fr; align-items: center; border: 1px solid #d8d9df; color: #666a75; background: #fff; text-align: left; cursor: pointer; }
.followup-secondary-steps button.is-active { border-color: var(--purple); color: var(--ink); background: #f6f6fc; }
.followup-secondary-steps b { display: grid; place-items: center; align-self: stretch; border-right: 1px solid #d8d9df; color: var(--purple); font: 700 8px/1 var(--font-data); }
.followup-secondary-steps span { padding: 0 10px; font-size: 9px; font-weight: 650; }

.followup-preview { min-width: 0; background: #f0eff1; }
.followup-preview > header { min-height: 57px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px; border-bottom: 1px solid #d6d7dc; background: #f8f7f8; }
.followup-preview header small { display: block; color: #9295a0; font: 8px/1 var(--font-data); letter-spacing: .08em; }
.followup-preview header strong { display: block; margin-top: 5px; font-size: 11px; }
.followup-preview > header > span { padding: 3px 6px; color: #3e7768; background: var(--green-pale); font: 700 8px/1 var(--font-data); }
.followup-device { margin: 12px; overflow: hidden; border: 1px solid #cfd1d7; border-radius: 14px; background: #fff; box-shadow: 0 7px 20px rgba(23,25,47,.07); }
.followup-device-bar { min-height: 45px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; padding: 0 10px; border-bottom: 1px solid #e1e2e6; }
.followup-device-bar b { font: 700 8px/1 var(--font-data); }
.followup-device-bar span { overflow: hidden; font-size: 8px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.followup-device-bar i { color: #498777; font-size: 7px; font-style: normal; }
.followup-message-preview { min-height: 315px; max-height: 315px; overflow: auto; padding: 13px 12px; color: #363a45; background: #fafafa; font-size: 8px; line-height: 1.56; white-space: pre-wrap; }
.followup-device-input { min-height: 40px; display: grid; grid-template-columns: 25px 1fr 25px; align-items: center; gap: 5px; padding: 5px 8px; border-top: 1px solid #e1e2e6; color: #9599a3; }
.followup-device-input span, .followup-device-input b { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid #cfd1d7; border-radius: 50%; font-size: 10px; }
.followup-device-input b { color: #fff; border-color: var(--green); background: var(--green); }
.followup-device-input p { height: 26px; display: flex; align-items: center; padding: 0 8px; border: 1px solid #d7d8dd; border-radius: 13px; color: #a0a3ac; font-size: 8px; }
.followup-delivery { margin: 0 12px 12px; border-top: 1px solid #d3d4da; }
.followup-delivery > header { display: flex; align-items: center; justify-content: space-between; padding: 10px 0 7px; }
.followup-delivery header strong { font-size: 10px; }
.followup-delivery header span { color: #9296a0; font-size: 8px; }
.followup-delivery p { display: grid; grid-template-columns: 10px minmax(0,1fr) auto; align-items: start; gap: 7px; padding: 8px 0; border-top: 1px solid #dadbe0; }
.followup-delivery p > i { width: 7px; height: 7px; margin-top: 4px; border-radius: 50%; background: #a9adb7; }
.followup-delivery p:first-child > i { background: var(--gold); }
.followup-delivery p.is-success > i { background: var(--green); }
.followup-delivery p span b { display: block; color: #515560; font-size: 8px; }
.followup-delivery p span small { display: block; margin-top: 2px; color: #8b8f99; font-size: 7px; }
.followup-delivery time { color: #9699a2; font: 7px/1 var(--font-data); }
.followup-workbench-foot { min-width: 1180px; min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 13px; color: #7b7e88; background: #eeedf0; border-top: 1px solid #cfd0d6; font: 8px/1.4 var(--font-data); letter-spacing: .04em; }

/* Outcomes */
.outcomes-workbench { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 14px 34px rgba(23,25,47,.045); }
.outcomes-command { display: grid; grid-template-columns: 228px minmax(430px,1fr) 270px; min-height: 210px; border-bottom: 1px solid var(--line); }
.outcomes-command > * { min-width: 0; padding: 24px 26px; }
.outcomes-command small, .outcomes-panel header > small, .outcomes-panel header div > small, .outcomes-action-ledger header small { color: var(--purple); font: 700 9px/1.25 var(--font-data); letter-spacing: .11em; }
.outcomes-sensitivity { display: flex; flex-direction: column; justify-content: center; color: #fff; background: var(--ink); }
.outcomes-sensitivity small { color: #9ca1be; }
.outcomes-sensitivity strong { display: block; margin-top: 20px; font: 700 55px/.9 var(--font-data); letter-spacing: -.05em; }
.outcomes-sensitivity strong sup { margin-left: 3px; font-size: 20px; letter-spacing: 0; }
.outcomes-sensitivity span { margin-top: 14px; color: #c9cad6; font-size: 11px; }
.outcomes-command-copy { border-right: 1px solid var(--line); background: #faf8f3; }
.outcomes-command-copy h2 { max-width: 720px; margin-top: 13px; font-size: clamp(21px,1.7vw,29px); letter-spacing: -.025em; }
.outcomes-command-copy > p { max-width: 720px; margin-top: 10px; color: var(--body); font-size: 12px; }
.outcomes-command-copy > div { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--line-2); }
.outcomes-command-copy > div span { color: var(--body); font-size: 10px; }
.outcomes-command-copy > div b { margin-right: 5px; color: var(--ink); font: 700 14px/1 var(--font-data); }
.outcomes-focus { display: grid; grid-template-rows: auto 1fr auto auto; align-items: end; background: var(--purple-pale); }
.outcomes-focus > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; align-self: start; }
.outcomes-focus nav { display: flex; padding: 2px; border: 1px solid #d0d2e9; background: rgba(255,255,255,.58); }
.outcomes-focus nav button { min-height: 26px; border: 0; padding: 0 9px; color: #777b8a; background: transparent; font-size: 9px; cursor: pointer; }
.outcomes-focus nav button.is-active { color: #fff; background: var(--purple); }
.outcomes-focus > strong { margin-top: 17px; color: var(--purple); font: 700 50px/.9 var(--font-data); letter-spacing: -.035em; }
.outcomes-focus > span { margin-top: 11px; font-size: 14px; font-weight: 700; }
.outcomes-focus > p { margin-top: 4px; color: var(--body); font-size: 10px; }

.outcomes-ledger { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--line); background: #f6f3ed; }
.outcomes-ledger article { position: relative; min-height: 96px; padding: 17px 22px 15px; border-right: 1px solid var(--line); }
.outcomes-ledger article:last-child { border-right: 0; }
.outcomes-ledger article::after { content: ""; position: absolute; left: 22px; bottom: 0; width: 34px; height: 3px; background: var(--purple); }
.outcomes-ledger article:nth-child(3)::after { background: var(--gold); }
.outcomes-ledger article:nth-child(4)::after { background: var(--lake); }
.outcomes-ledger small { display: block; color: var(--muted); font: 700 8px/1 var(--font-data); letter-spacing: .1em; }
.outcomes-ledger strong { display: block; margin-top: 9px; font: 700 28px/1 var(--font-data); }
.outcomes-ledger strong sup { margin-left: 2px; font-size: 12px; }
.outcomes-ledger span { position: absolute; right: 22px; bottom: 17px; color: var(--body); font-size: 10px; }

.outcomes-visual-grid { display: grid; grid-template-columns: minmax(560px,1.55fr) minmax(330px,.82fr); grid-template-areas: "throughput return" "channel conversion"; background: var(--line); gap: 1px; }
.outcomes-panel { min-width: 0; background: var(--white); }
.outcomes-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 24px 16px; }
.outcomes-panel > header h3 { margin-top: 7px; font-size: 17px; }
.outcomes-panel > header p { margin-top: 5px; color: var(--body); font-size: 10px; }
.outcomes-throughput { grid-area: throughput; min-height: 422px; }
.outcomes-legend { display: flex; flex-wrap: wrap; gap: 13px; padding-top: 4px; color: var(--body); font-size: 9px; white-space: nowrap; }
.outcomes-legend span { display: flex; align-items: center; gap: 5px; }
.outcomes-legend i { width: 8px; height: 8px; background: var(--purple); }
.outcomes-legend i.is-pending { background: var(--gold); }
.outcomes-throughput-chart { height: 270px; display: grid; grid-template-columns: 28px minmax(0,1fr); padding: 6px 24px 0; }
.outcomes-y-axis { height: 224px; display: flex; flex-direction: column; justify-content: space-between; padding: 0 7px 0 0; color: #a3a5ad; font: 8px/1 var(--font-data); text-align: right; }
.outcomes-bars { position: relative; height: 246px; display: grid; grid-template-columns: repeat(7,1fr); gap: clamp(8px,1.3vw,22px); border-left: 1px solid #d7d8df; border-bottom: 1px solid #bfc1ca; background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 43px, #e9e7e1 44px, transparent 45px); }
.outcomes-bar { min-width: 0; height: 270px; display: grid; grid-template-rows: 224px 22px; align-items: end; border: 0; padding: 0; background: transparent; cursor: pointer; }
.outcomes-bar-rail { position: relative; height: 224px; display: flex; align-items: flex-end; justify-content: center; }
.outcomes-bar-fill { position: relative; width: min(34px,64%); height: var(--bar-height); min-height: 4px; display: flex; flex-direction: column-reverse; justify-content: flex-end; background: #e8e6e0; transition: width .18s ease, filter .18s ease; }
.outcomes-bar-fill > i, .outcomes-bar-fill > b { display: block; width: 100%; font-size: 0; }
.outcomes-bar-fill > i { height: var(--processed-share); background: var(--purple); }
.outcomes-bar-fill > b { height: var(--pending-share); background: var(--gold); }
.outcomes-bar-fill > em { position: absolute; left: 50%; top: -18px; color: var(--body); font: 700 9px/1 var(--font-data); font-style: normal; transform: translateX(-50%); }
.outcomes-bar > small { display: grid; place-items: center; min-height: 22px; color: var(--body); font: 8px/1 var(--font-data); }
.outcomes-bar.is-active .outcomes-bar-fill { width: min(44px,78%); filter: saturate(1.12); }
.outcomes-bar.is-active > small { color: var(--purple); font-weight: 700; }
.outcomes-bar.is-active .outcomes-bar-rail::after { content: ""; position: absolute; left: 22%; right: 22%; bottom: -1px; height: 3px; background: var(--ink); }
.outcomes-throughput > footer { min-height: 62px; display: grid; grid-template-columns: 116px 1fr; align-items: center; gap: 16px; margin: 0 24px; border-top: 1px solid var(--line); }
.outcomes-throughput > footer div small { display: block; color: var(--muted); font: 700 8px/1 var(--font-data); letter-spacing: .08em; }
.outcomes-throughput > footer div strong { display: block; margin-top: 5px; font: 700 12px/1 var(--font-data); }
.outcomes-throughput > footer p { color: var(--body); font-size: 10px; }
.outcomes-throughput > footer p b { margin-right: 5px; color: var(--ink); font: 700 15px/1 var(--font-data); }
.outcomes-throughput > footer p strong { color: var(--purple); }

.outcomes-return { grid-area: return; min-height: 422px; }
.outcomes-return > header { display: block; }
.outcomes-return-visual { display: grid; place-items: center; min-height: 158px; padding: 0 20px 8px; }
.outcomes-return-ring { width: 148px; height: 148px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--purple) 0 60%, var(--green) 60% 80%, var(--gold) 80% 100%); transform: rotate(-90deg); }
.outcomes-return-ring > div { width: 102px; height: 102px; display: grid; place-content: center; border-radius: 50%; background: var(--white); text-align: center; transform: rotate(90deg); }
.outcomes-return-ring strong { font: 700 31px/1 var(--font-data); }
.outcomes-return-ring span { max-width: 70px; margin-top: 7px; color: var(--body); font-size: 9px; line-height: 1.3; }
.outcomes-return-list { margin: 4px 22px 18px; border-top: 1px solid var(--line); }
.outcomes-return-list button { width: 100%; min-height: 51px; display: grid; grid-template-columns: 9px minmax(0,1fr) auto; align-items: center; gap: 10px; border: 0; border-bottom: 1px solid var(--line-2); padding: 7px 2px; background: transparent; text-align: left; cursor: pointer; }
.outcomes-return-list button > i { width: 8px; height: 8px; border-radius: 50%; background: var(--purple); }
.outcomes-return-list button:nth-child(2) > i { background: var(--green); }
.outcomes-return-list button:nth-child(3) > i { background: var(--gold); }
.outcomes-return-list button span strong { display: block; font-size: 10px; }
.outcomes-return-list button span small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
.outcomes-return-list button > b { font: 700 12px/1 var(--font-data); }
.outcomes-return-list button > b em { margin-left: 6px; color: var(--body); font-size: 8px; font-style: normal; font-weight: 500; }
.outcomes-return-list button:hover, .outcomes-return-list button.is-active { color: var(--purple); }

.outcomes-channel { grid-area: channel; min-height: 295px; }
.outcomes-channel > header > strong { align-self: center; color: var(--ink); font: 700 25px/1 var(--font-data); text-align: right; white-space: nowrap; }
.outcomes-channel > header > strong small { display: block; margin-top: 6px; color: var(--muted); font: 8px/1.2 var(--font-ui); }
.outcomes-channel-bars { display: grid; gap: 17px; padding: 8px 24px 14px; }
.outcomes-channel-bars button { display: grid; gap: 7px; border: 0; padding: 0; background: transparent; text-align: left; cursor: pointer; }
.outcomes-channel-bars button > span { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.outcomes-channel-bars button > span b { font-size: 11px; }
.outcomes-channel-bars button > span em { color: var(--body); font: 9px/1 var(--font-data); font-style: normal; }
.outcomes-channel-bars button > i { height: 12px; display: block; overflow: hidden; background: #eceae5; }
.outcomes-channel-bars button > i > b { display: block; width: var(--channel-rate); height: 100%; background: var(--purple); transition: filter .18s ease; }
.outcomes-channel-bars button:nth-child(2) > i > b { min-width: 8px; background: var(--lake); }
.outcomes-channel-bars button.is-active > i > b { filter: saturate(1.25) brightness(.92); }
.outcomes-channel > footer { min-height: 49px; display: grid; grid-template-columns: 82px 1fr auto; align-items: center; gap: 12px; margin: 0 24px 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.outcomes-channel > footer span { color: var(--muted); font-size: 8px; }
.outcomes-channel > footer strong { font-size: 10px; }
.outcomes-channel > footer b { color: var(--purple); font: 700 10px/1 var(--font-data); }

.outcomes-conversion { grid-area: conversion; min-height: 295px; }
.outcomes-conversion > header { display: block; }
.outcomes-conversion-path { display: grid; grid-template-columns: 118px minmax(0,1fr); align-items: stretch; gap: 34px; padding: 5px 24px 10px; }
.outcomes-conversion-path .is-origin { position: relative; min-height: 126px; display: grid; align-content: center; justify-items: center; border: 1px solid var(--ink); color: #fff; background: var(--ink); }
.outcomes-conversion-path .is-origin::after { content: ""; position: absolute; top: 50%; right: -35px; width: 34px; border-top: 1px solid var(--ink); }
.outcomes-conversion-path .is-origin small { color: #9ea2b9; font: 700 8px/1 var(--font-data); letter-spacing: .08em; }
.outcomes-conversion-path .is-origin strong { margin-top: 7px; font: 700 27px/1 var(--font-data); }
.outcomes-conversion-path .is-origin span { margin-top: 5px; color: #cacbd6; font-size: 9px; }
.outcomes-conversion-branches { position: relative; display: grid; gap: 8px; }
.outcomes-conversion-branches::before { content: ""; position: absolute; left: -18px; top: 25%; bottom: 25%; border-left: 1px solid var(--ink); }
.outcomes-conversion-branches article { position: relative; min-height: 59px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-content: center; column-gap: 12px; padding: 8px 12px 8px 18px; border: 1px solid var(--line); background: #faf8f4; }
.outcomes-conversion-branches article::before { content: ""; position: absolute; left: -18px; top: 50%; width: 17px; border-top: 1px solid var(--ink); }
.outcomes-conversion-branches article span { grid-row: 1 / 3; align-self: center; font-size: 9px; font-weight: 700; }
.outcomes-conversion-branches article strong { font: 700 18px/1 var(--font-data); }
.outcomes-conversion-branches article b { margin-top: 4px; color: var(--purple); font: 700 8px/1 var(--font-data); }
.outcomes-conversion > footer { margin: 2px 24px 18px; color: var(--muted); font-size: 8px; line-height: 1.5; }

.outcomes-action-ledger { display: grid; grid-template-columns: 188px 1fr; border-top: 1px solid var(--line); background: var(--ink); color: #fff; }
.outcomes-action-ledger > header { min-height: 93px; display: flex; flex-direction: column; justify-content: center; padding: 17px 22px; border-right: 1px solid #34374f; }
.outcomes-action-ledger > header small { color: #9ca1be; }
.outcomes-action-ledger > header strong { margin-top: 8px; font-size: 14px; }
.outcomes-action-ledger > header span { margin-top: 3px; color: #9397ab; font-size: 8px; }
.outcomes-action-ledger > div { display: grid; grid-template-columns: repeat(5,1fr); }
.outcomes-action-ledger article { display: grid; align-content: center; padding: 15px 20px; border-right: 1px solid #34374f; }
.outcomes-action-ledger article:last-child { border-right: 0; }
.outcomes-action-ledger article strong { font: 700 21px/1 var(--font-data); }
.outcomes-action-ledger article span { margin-top: 7px; color: #bec1ce; font-size: 9px; }
.evidence-detail-column { display: grid; align-content: start; gap: 18px; }

/* Sankey */
.sankey-summary { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 26px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sankey-summary article { min-height: 94px; padding: 18px 20px; border-right: 1px solid var(--line); }
.sankey-summary article:last-child { border-right: 0; }
.sankey-summary strong { display: block; font: 700 26px/1.1 var(--font-data); }
.sankey-summary span { display: block; margin-top: 6px; color: var(--body); font-size: 11px; }
.sankey-summary article:nth-child(2) strong { color: var(--purple); }
.sankey-summary article:nth-child(4) strong { color: var(--green); }
.sankey-workbench { margin-top: 18px; overflow: hidden; }
.sankey-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.toolbar-group { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.toolbar-label { margin-right: 3px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .07em; }
.filter-chip { min-height: 30px; border: 1px solid var(--line); border-radius: 4px; padding: 0 10px; background: var(--white); color: var(--body); font-size: 11px; cursor: pointer; }
.filter-chip:hover, .filter-chip.is-active { border-color: var(--purple); color: var(--purple); background: var(--purple-pale); }
.sankey-note { color: var(--body); font-size: 10px; text-align: right; }
.sankey-stage-head { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; padding: 14px 28px 0; }
.sankey-stage-head div { border-bottom: 1px solid var(--line); padding: 0 0 8px; }
.sankey-stage-head small { color: var(--muted); font: 9px/1 var(--font-data); }
.sankey-stage-head strong { display: block; margin-top: 5px; font-size: 12px; }
.sankey-canvas-wrap { position: relative; min-height: 570px; overflow: auto; }
#sankey-svg { display: block; width: 100%; min-width: 980px; height: 570px; }
.sankey-link { fill: none; cursor: pointer; transition: opacity .14s ease; }
.sankey-node { cursor: pointer; }
.sankey-node rect { stroke: var(--ink); stroke-width: .7; }
.sankey-node text { fill: var(--ink); font-family: var(--font-ui); font-size: 11px; paint-order: stroke; stroke: rgba(252,251,248,.96); stroke-width: 4px; stroke-linejoin: round; }
.sankey-node text.node-value { fill: var(--body); font: 9px var(--font-data); }
.sankey-node.is-muted, .sankey-link.is-muted { opacity: .08 !important; }
.sankey-node.is-focused rect { stroke-width: 2; }
.sankey-link.is-focused { opacity: .9 !important; }
.residual-mark { fill: url(#residualPattern); opacity: .46; pointer-events: none; }
.sankey-insight { display: grid; grid-template-columns: 1fr 1fr 1.35fr; border-top: 1px solid var(--line); }
.sankey-insight article { padding: 16px 18px; border-right: 1px solid var(--line); }
.sankey-insight article:last-child { border-right: 0; }
.sankey-insight strong { display: block; font-size: 13px; }
.sankey-insight p { margin-top: 5px; color: var(--body); font-size: 11px; }

/* Reference hospital analysis */
.reference-metrics { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 18px; border: 1px solid var(--line); background: var(--white); }
.reference-metrics article { min-height: 94px; display: grid; align-content: center; padding: 16px 20px; border-right: 1px solid var(--line); }
.reference-metrics article:last-child { border-right: 0; }
.reference-metrics strong { color: var(--purple); font: 700 29px/1 var(--font-data); }
.reference-metrics span { margin-top: 8px; color: var(--body); font-size: 11px; }
.reference-table { margin-top: 18px; overflow: hidden; }
.reference-table-toolbar { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.reference-search { min-width: 280px; display: grid; grid-template-columns: auto minmax(160px,1fr); align-items: center; gap: 10px; color: var(--body); font-size: 10px; }
.reference-search input { width: 100%; height: 36px; border: 1px solid var(--line); border-radius: 4px; padding: 0 10px; color: var(--ink); background: #fff; }
.reference-table-count { padding: 9px 18px; border-bottom: 1px solid var(--line-2); color: var(--body); background: var(--paper); font-size: 10px; }
.reference-table-scroll { max-height: 580px; overflow: auto; }
.reference-table table { width: 100%; min-width: 860px; border-collapse: collapse; }
.reference-table th { position: sticky; top: 0; z-index: 2; padding: 12px 15px; color: #fff; background: var(--ink); font-size: 10px; text-align: left; }
.reference-table td { padding: 13px 15px; border-bottom: 1px solid var(--line-2); color: var(--body); font-size: 11px; vertical-align: top; }
.reference-table td:first-child { width: 65px; color: var(--muted); font: 700 9px/1.5 var(--font-data); }
.reference-table td:nth-child(2) { width: 52%; color: var(--ink); }
.reference-table td:last-child { color: var(--muted); }
.department-tag { display: inline-flex; min-height: 26px; align-items: center; border-radius: 3px; padding: 0 8px; color: var(--green); background: var(--green-pale); font-weight: 700; white-space: nowrap; }
.recall-dept-switch { display: grid; grid-template-columns: 1fr 1fr; margin-top: 18px; border: 1px solid var(--line); background: var(--white); }
.recall-dept-switch button { min-height: 72px; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 13px; border: 0; border-right: 1px solid var(--line); padding: 12px 18px; color: var(--body); background: transparent; text-align: left; cursor: pointer; }
.recall-dept-switch button:last-child { border-right: 0; }
.recall-dept-switch button > b { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; font: 700 9px/1 var(--font-data); }
.recall-dept-switch button strong { display: block; color: var(--ink); font-size: 14px; }
.recall-dept-switch button small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.recall-dept-switch button.is-active { color: var(--purple); background: var(--purple-pale); box-shadow: inset 0 -3px var(--purple); }
.recall-dept-switch button.is-active > b { border-color: var(--purple); color: #fff; background: var(--purple); }
.recall-detail[hidden] { display: none; }
.recall-kpis { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 16px; border: 1px solid var(--line); background: var(--white); }
.recall-kpis article { min-height: 116px; display: grid; align-content: center; padding: 17px 20px; border-right: 1px solid var(--line); }
.recall-kpis article:last-child { border-right: 0; }
.recall-kpis small { color: var(--muted); font: 700 8px/1 var(--font-data); letter-spacing: .1em; }
.recall-kpis strong { margin-top: 10px; font: 700 28px/1 var(--font-data); }
.recall-kpis span { margin-top: 8px; color: var(--body); font-size: 10px; }
.recall-analysis-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); gap: 16px; margin-top: 16px; }
.recall-analysis-grid > article { padding: 22px; }
.recall-analysis-grid header small { color: var(--purple); font: 700 8px/1 var(--font-data); letter-spacing: .1em; }
.recall-analysis-grid header h2 { margin-top: 9px; font-size: 18px; }
.recall-bar { display: grid; grid-template-columns: 170px minmax(160px,1fr) 64px; align-items: center; gap: 12px; margin-top: 17px; }
.recall-bar span { color: var(--body); font-size: 10px; }
.recall-bar i { height: 9px; overflow: hidden; background: var(--paper-2); }
.recall-bar i b { display: block; height: 100%; background: var(--lake); }
.recall-bar strong { text-align: right; font: 700 11px/1 var(--font-data); }
.recall-ledger dl { margin-top: 15px; }
.recall-ledger dl div { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-top: 1px solid var(--line-2); }
.recall-ledger dt { color: var(--body); font-size: 10px; }
.recall-ledger dd { color: var(--ink); font: 700 12px/1.6 var(--font-data); }
.recall-ledger > p { margin-top: 15px; padding: 12px; color: var(--body); background: var(--paper); font-size: 9px; }

/* Tier and duties */
.tier-list { display: grid; gap: 12px; margin-top: 26px; }
.tier-row { display: grid; grid-template-columns: 112px minmax(260px,.95fr) minmax(360px,1.25fr); min-height: 116px; border: 1px solid var(--line); background: var(--white); }
.tier-code { display: grid; place-items: center; color: #fff; background: var(--red); font: 700 34px/1 var(--font-data); }
.tier-row:nth-child(2) .tier-code { background: var(--ink); }
.tier-row:nth-child(3) .tier-code { background: var(--green); }
.tier-row:nth-child(4) .tier-code { background: var(--gold); }
.tier-definition, .tier-destination { padding: 20px 24px; }
.tier-definition { border-right: 1px solid var(--line); }
.tier-definition h3 { font-size: 18px; }
.tier-definition p, .tier-destination p { margin-top: 8px; color: var(--body); font-size: 12px; }
.tier-destination small { color: var(--muted); font-size: 10px; }
.tier-destination strong { display: block; margin-top: 9px; font-size: 14px; }
.tier-conclusion { margin-top: 16px; padding: 18px 20px; background: var(--gold-pale); border: 1px solid var(--gold); font-weight: 600; }

.duty-layout { display: grid; grid-template-columns: 230px 1fr; gap: 18px; margin-top: 26px; }
.duty-index { padding: 24px; background: var(--ink); color: #fff; }
.duty-index small { color: #aeb2c2; font-size: 10px; letter-spacing: .08em; }
.duty-index h2 { margin-top: 22px; font-size: 27px; }
.duty-index p { margin-top: 14px; color: #c4c7d4; }
.duty-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.duty-card { min-height: 210px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.duty-card small { color: var(--muted); font: 10px/1 var(--font-data); }
.duty-card h3 { margin-top: 14px; font-size: 21px; }
.duty-card p { margin-top: 10px; color: var(--body); }
.duty-output { display: grid; grid-template-columns: 90px 1fr; margin-top: 19px; padding-top: 14px; border-top: 1px solid var(--line-2); }
.duty-output span { color: var(--muted); font-size: 10px; }
.duty-output strong { text-align: right; font-size: 13px; }

/* Cases */
.case-selector { display: grid; grid-template-columns: 1fr 1fr; margin-top: 26px; border: 1px solid var(--line); background: var(--white); }
.case-selector button { min-width: 0; min-height: 78px; display: grid; grid-template-columns: 40px minmax(0,1fr) auto; align-items: center; gap: 13px; border: 0; border-right: 1px solid var(--line); padding: 13px 18px; color: var(--body); background: transparent; text-align: left; cursor: pointer; transition: background .16s ease, color .16s ease; }
.case-selector button:last-child { border-right: 0; }
.case-selector button > b { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; font: 700 10px/1 var(--font-data); }
.case-selector button span strong { display: block; color: var(--ink); font-size: 13px; }
.case-selector button span small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.case-selector button > em { color: var(--body); font: 700 9px/1 var(--font-data); font-style: normal; white-space: nowrap; }
.case-selector button:hover { background: #faf8f3; }
.case-selector button.is-active { color: var(--purple); background: var(--purple-pale); box-shadow: inset 0 -3px var(--purple); }
.case-selector button.is-active > b { border-color: var(--purple); color: #fff; background: var(--purple); }
.case-selector button:nth-child(2).is-active { color: var(--lake); background: var(--lake-pale); box-shadow: inset 0 -3px var(--lake); }
.case-selector button:nth-child(2).is-active > b { border-color: var(--lake); background: var(--lake); }
.case-panel { margin-top: 0; }
.case-panel[hidden] { display: none; }
.clinical-case-workbench { --case-accent: var(--purple); --case-pale: var(--purple-pale); overflow: hidden; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); background: var(--white); box-shadow: 0 14px 34px rgba(23,25,47,.04); }
.clinical-case-workbench--rare { --case-accent: var(--lake); --case-pale: var(--lake-pale); }
.clinical-case-command { display: grid; grid-template-columns: minmax(330px,1.18fr) minmax(330px,1fr) 210px; min-height: 174px; border-bottom: 1px solid var(--line); }
.clinical-case-command > * { min-width: 0; padding: 24px 26px; }
.clinical-case-command > article { color: #fff; background: var(--ink); }
.clinical-case-command small { color: var(--case-accent); font: 700 9px/1.25 var(--font-data); letter-spacing: .11em; }
.clinical-case-command > article small { color: #9ca1be; }
.clinical-case-command h2 { margin-top: 15px; font-size: clamp(21px,1.7vw,29px); letter-spacing: -.025em; }
.clinical-case-command > article p { margin-top: 12px; color: #c8cad5; font-size: 11px; }
.clinical-case-command > section { display: grid; align-content: center; border-right: 1px solid var(--line); background: #faf8f3; }
.clinical-case-command > section strong { display: block; max-width: 640px; margin-top: 14px; font-size: 17px; line-height: 1.45; }
.clinical-case-command > section span { margin-top: 12px; color: var(--body); font-size: 10px; }
.clinical-case-command > aside { display: grid; align-content: center; background: var(--case-pale); }
.clinical-case-command > aside strong { margin-top: 15px; color: var(--case-accent); font: 700 45px/.9 var(--font-data); letter-spacing: -.04em; }
.clinical-case-command > aside span { margin-top: 10px; color: var(--body); font-size: 9px; }

.clinical-journey { padding: 22px 24px 18px; border-bottom: 1px solid var(--line); }
.clinical-journey > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.clinical-journey > header small { color: var(--case-accent); font: 700 9px/1 var(--font-data); letter-spacing: .1em; }
.clinical-journey > header h3 { margin-top: 7px; font-size: 16px; }
.clinical-journey > header p { max-width: 440px; color: var(--body); font-size: 10px; text-align: right; }
.clinical-journey-scroll { margin-top: 21px; overflow-x: auto; padding-bottom: 3px; }
.clinical-journey-track { position: relative; min-width: 900px; display: grid; grid-template-columns: repeat(5,1fr); }
.clinical-journey-track::before { content: ""; position: absolute; z-index: 0; left: 7%; right: 7%; top: 40px; border-top: 1px solid #bfc2cd; }
.clinical-journey-stage { position: relative; z-index: 1; min-width: 0; min-height: 148px; display: grid; grid-template-rows: 24px 34px auto auto; justify-items: center; align-content: start; border: 0; padding: 0 14px 10px; background: transparent; text-align: center; cursor: pointer; }
.clinical-journey-stage > span { color: var(--muted); font: 8px/1 var(--font-data); }
.clinical-journey-stage > i { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #c9cbd4; border-radius: 50%; color: var(--body); background: var(--white); font: 700 9px/1 var(--font-data); font-style: normal; transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease; }
.clinical-journey-stage > strong { margin-top: 13px; font-size: 11px; line-height: 1.35; }
.clinical-journey-stage > small { max-width: 150px; margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.35; }
.clinical-journey-stage:hover > i, .clinical-journey-stage.is-active > i { border-color: var(--case-accent); color: #fff; background: var(--case-accent); transform: scale(1.08); }
.clinical-journey-stage.is-active > strong { color: var(--case-accent); }
.clinical-journey-stage.is-active::after { content: ""; position: absolute; left: 22%; right: 22%; bottom: 0; height: 3px; background: var(--case-accent); }

.clinical-stage-detail { display: grid; grid-template-columns: 170px minmax(300px,1.35fr) minmax(260px,1fr) minmax(210px,.85fr); min-height: 184px; border-bottom: 1px solid var(--line); }
.clinical-stage-detail > article { min-width: 0; display: grid; align-content: center; padding: 21px 24px; border-right: 1px solid var(--line); }
.clinical-stage-detail > article:last-child { border-right: 0; }
.clinical-stage-detail small { color: var(--muted); font: 700 8px/1 var(--font-data); letter-spacing: .1em; }
.clinical-stage-detail h3 { margin-top: 11px; font-size: 13px; }
.clinical-stage-detail p { margin-top: 8px; color: var(--body); font-size: 10px; line-height: 1.7; }
.clinical-stage-index { color: #fff; background: var(--ink); }
.clinical-stage-index small { color: #9da1b8; }
.clinical-stage-index strong { margin-top: 14px; font: 700 19px/1.2 var(--font-data); }
.clinical-stage-index span { margin-top: 9px; color: #c4c6d2; font-size: 9px; line-height: 1.45; }
.clinical-stage-result { background: var(--case-pale); }
.clinical-stage-result p { color: var(--ink); font-size: 11px; font-weight: 650; }

.clinical-case-outcomes { display: grid; grid-template-columns: 150px minmax(0,1fr); min-height: 88px; background: #f6f3ed; }
.clinical-case-outcomes > small { display: grid; align-content: center; padding: 0 24px; border-right: 1px solid var(--line); color: var(--muted); font: 700 8px/1 var(--font-data); letter-spacing: .1em; }
.clinical-case-outcomes > div { display: grid; grid-template-columns: repeat(4,1fr); }
.clinical-case-outcomes article { position: relative; display: grid; align-content: center; padding: 14px 22px; border-right: 1px solid var(--line); }
.clinical-case-outcomes article:last-child { border-right: 0; }
.clinical-case-outcomes article::after { content: ""; position: absolute; left: 22px; bottom: 0; width: 30px; height: 3px; background: var(--case-accent); }
.clinical-case-outcomes strong { font: 700 17px/1 var(--font-data); }
.clinical-case-outcomes span { margin-top: 7px; color: var(--body); font-size: 9px; }

/* Palette, tooltip, lightbox */
.command-palette { position: fixed; z-index: 100; inset: 0; display: grid; place-items: start center; padding-top: min(15vh,130px); }
.command-palette[hidden] { display: none; }
.palette-backdrop { position: absolute; inset: 0; border: 0; background: rgba(23,25,47,.34); backdrop-filter: blur(4px); }
.palette-panel { position: relative; z-index: 1; width: min(560px,calc(100vw - 32px)); overflow: hidden; border: 1px solid #c6c8d1; border-radius: 8px; background: var(--white); box-shadow: 0 24px 60px rgba(23,25,47,.24); }
.palette-input-wrap { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 9px; padding: 14px 15px; border-bottom: 1px solid var(--line); }
.palette-input-wrap input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 15px; }
.palette-results { max-height: 360px; overflow: auto; padding: 8px; }
.palette-result { width: 100%; display: grid; grid-template-columns: 32px 1fr; align-items: center; border: 0; border-radius: 5px; padding: 10px; background: transparent; text-align: left; cursor: pointer; }
.palette-result:hover { background: var(--paper); }
.palette-result span { color: var(--muted); font: 10px/1 var(--font-data); }

.viz-tooltip { position: fixed; z-index: 120; max-width: 280px; pointer-events: none; padding: 10px 12px; border: 1px solid #474b63; border-radius: 5px; color: #fff; background: rgba(23,25,47,.96); box-shadow: 0 8px 24px rgba(23,25,47,.2); font-size: 11px; }
.viz-tooltip strong { display: block; font-size: 12px; }
.viz-tooltip span { display: block; margin-top: 3px; color: #c5c8d4; }

.lightbox { width: min(1120px,92vw); max-height: 90vh; padding: 0; border: 1px solid #44485f; border-radius: 7px; background: #10111b; color: #fff; }
.lightbox::backdrop { background: rgba(12,13,23,.78); backdrop-filter: blur(5px); }
.lightbox figure { display: grid; grid-template-rows: minmax(0,1fr) auto; max-height: 90vh; }
.lightbox img { width: 100%; max-height: 80vh; object-fit: contain; }
.lightbox figcaption { padding: 12px 16px; color: #c4c7d4; border-top: 1px solid #313449; }
.lightbox-close { position: absolute; z-index: 2; top: 12px; right: 12px; min-height: 36px; border: 1px solid #5b5f77; border-radius: 4px; padding: 0 12px; color: #fff; background: rgba(16,17,27,.88); cursor: pointer; }

@media (max-width: 1180px) {
  :root { --sidebar: 210px; }
  .content { padding-inline: 26px; }
  .overview-hero, .tracking-summary-grid { grid-template-columns: 1fr; }
  .system-rail, .result-panel { min-height: auto; }
  .application-grid { grid-template-columns: repeat(3,1fr); }
  .processing-function-index { grid-template-columns: repeat(2,1fr); }
  .processing-function-index article:nth-child(2) { border-right: 0; }
  .processing-function-index article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .outcomes-command { grid-template-columns: 190px minmax(0,1fr); }
  .outcomes-command-copy { border-right: 0; }
  .outcomes-focus { grid-column: 1 / -1; grid-template-columns: minmax(170px,.8fr) 1fr 1fr; grid-template-rows: auto auto; align-items: center; gap: 4px 22px; min-height: 116px; }
  .outcomes-focus > header { grid-row: 1 / 3; }
  .outcomes-focus > strong { margin-top: 0; font-size: 40px; }
  .outcomes-focus > span { margin-top: 0; }
  .outcomes-focus > p { grid-column: 3; margin-top: 0; }
  .outcomes-visual-grid { grid-template-columns: 1fr; grid-template-areas: "throughput" "return" "channel" "conversion"; }
  .outcomes-return { display: grid; grid-template-columns: minmax(190px,.65fr) minmax(230px,1fr); grid-template-rows: auto 1fr; min-height: 310px; }
  .outcomes-return > header { grid-column: 1 / -1; }
  .outcomes-return-visual { min-height: 190px; }
  .outcomes-return-list { align-self: center; margin-top: 0; }
  .outcomes-action-ledger { grid-template-columns: 160px 1fr; }
  .evidence-detail-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .clinical-case-command { grid-template-columns: minmax(300px,1fr) minmax(300px,1fr); }
  .clinical-case-command > aside { grid-column: 1 / -1; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; min-height: 96px; }
  .clinical-case-command > aside strong { margin-top: 0; }
  .clinical-case-command > aside span { margin-top: 0; text-align: right; }
  .clinical-stage-detail { grid-template-columns: 150px minmax(280px,1fr) minmax(240px,1fr); }
  .clinical-stage-detail > article:nth-child(3) { border-right: 0; }
  .clinical-stage-result { grid-column: 1 / -1; min-height: 90px; border-top: 1px solid var(--line); }
  .reference-table-toolbar { align-items: stretch; flex-direction: column; }
  .reference-search { width: 100%; }
  .recall-analysis-grid { grid-template-columns: 1fr; }
}

@media (min-width: 1181px) and (max-width: 1360px) {
  :root { --sidebar: 220px; }
  .content { padding-inline: 28px; }
  .tracking-summary-grid { grid-template-columns: minmax(230px,.72fr) minmax(390px,1.35fr) minmax(220px,.62fr); gap: 14px; }
}

@media (max-width: 820px) {
  body { overflow: auto; font-size: 16px; }
  .app-shell { display: block; min-height: 100vh; }
  .sidebar { position: sticky; top: 0; width: 100%; height: auto; display: block; overflow: visible; }
  .brand-lockup { grid-template-columns: 5px 1fr; padding: 22px 18px; }
  .brand-rule { height: 104px; }
  .module-nav { display: flex; overflow-x: auto; padding: 8px 10px; border-top: 1px solid rgba(255,255,255,.08); }
  .nav-group-label, .sidebar-status { display: none; }
  .nav-item { flex: 0 0 auto; width: auto; min-height: 40px; grid-template-columns: 1fr; padding: 0 13px; white-space: nowrap; }
  .nav-item > span:not(.nav-item-label), .nav-item .nav-item-label em { display: none; }
  .reference-provenance { grid-template-columns: 1fr; gap: 7px; }
  .reference-provenance span { text-align: left; }
  .reference-metrics, .recall-kpis { grid-template-columns: 1fr 1fr; }
  .reference-metrics article:nth-child(2), .recall-kpis article:nth-child(2) { border-right: 0; }
  .reference-metrics article:nth-child(-n+2), .recall-kpis article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .recall-bar { grid-template-columns: 120px minmax(120px,1fr) 48px; }
  .nav-item.active::before { left: 10px; right: 10px; top: auto; bottom: 0; width: auto; height: 2px; }
  .workspace { height: auto; min-height: 100vh; display: block; }
  .topbar { min-height: 56px; padding: 0 16px; }
  .data-badge, .command-button span, .breadcrumb i { display: none; }
  .content { overflow: visible; padding: 22px 16px 42px; }
  .page-header { grid-template-columns: 1fr; align-items: start; }
  .page-actions { justify-content: flex-start; flex-wrap: wrap; }
  .overview-hero, .engine-layout, .duty-layout { grid-template-columns: 1fr; }
  .thesis-panel { min-height: 390px; padding: 30px 24px; }
  .thesis-foot { left: 24px; right: 24px; }
  .metric-run, .process-trace, .sankey-summary, .sankey-insight { grid-template-columns: 1fr 1fr; }
  .metric-run article:nth-child(2n), .process-trace .trace-step:nth-child(2n), .sankey-summary article:nth-child(2n), .sankey-insight article:nth-child(2n) { border-right: 0; }
  .process-trace .trace-step::after { display: none; }
  .application-grid { grid-template-columns: repeat(2,1fr); }
  .processing-function-index { grid-template-columns: 1fr; }
  .processing-function-index article, .processing-function-index article:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .processing-function-index article:last-child { border-bottom: 0; }
  .pillar-row, .followup-channel-index, .evidence-detail-column, .evidence-archive-grid { grid-template-columns: 1fr; }
  .followup-channel-index article { border-right: 0; border-bottom: 1px solid var(--line); }
  .followup-channel-index article:last-child { border-bottom: 0; }
  .outcomes-command { grid-template-columns: 1fr; }
  .outcomes-command > * { padding: 21px 20px; }
  .outcomes-command-copy { border-top: 1px solid #34374f; }
  .outcomes-sensitivity { min-height: 168px; }
  .outcomes-focus { grid-column: auto; grid-template-columns: 1fr auto; grid-template-rows: auto auto auto; gap: 8px 16px; }
  .outcomes-focus > header { grid-column: 1 / -1; grid-row: auto; }
  .outcomes-focus > strong { grid-column: 1; font-size: 42px; }
  .outcomes-focus > span { grid-column: 2; align-self: end; }
  .outcomes-focus > p { grid-column: 1 / -1; }
  .outcomes-ledger { grid-template-columns: 1fr 1fr; }
  .outcomes-ledger article:nth-child(2) { border-right: 0; }
  .outcomes-ledger article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .outcomes-ledger span { position: static; display: block; margin-top: 6px; }
  .outcomes-throughput { min-height: 400px; }
  .outcomes-panel > header { padding-inline: 18px; }
  .outcomes-throughput-chart { padding-inline: 12px; }
  .outcomes-bars { gap: 5px; }
  .outcomes-throughput > footer { margin-inline: 18px; }
  .outcomes-return { display: block; min-height: auto; }
  .outcomes-channel > footer { margin-inline: 18px; }
  .outcomes-conversion-path { grid-template-columns: 104px minmax(0,1fr); padding-inline: 18px; }
  .outcomes-action-ledger { grid-template-columns: 1fr; }
  .outcomes-action-ledger > header { min-height: 78px; border-right: 0; border-bottom: 1px solid #34374f; }
  .outcomes-action-ledger > div { grid-template-columns: repeat(2,1fr); }
  .outcomes-action-ledger article { min-height: 78px; border-bottom: 1px solid #34374f; }
  .outcomes-action-ledger article:nth-child(2n) { border-right: 0; }
  .outcomes-action-ledger article:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .problem-stats, .duty-grid { grid-template-columns: 1fr; }
  .tier-row { grid-template-columns: 76px 1fr; }
  .tier-destination { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .case-selector { grid-template-columns: 1fr; }
  .case-selector button { border-right: 0; border-bottom: 1px solid var(--line); }
  .case-selector button:last-child { border-bottom: 0; }
  .clinical-case-command { grid-template-columns: 1fr; }
  .clinical-case-command > * { padding: 21px 20px; }
  .clinical-case-command > section { min-height: 140px; border-right: 0; border-bottom: 1px solid var(--line); }
  .clinical-case-command > aside { grid-column: auto; grid-template-columns: 1fr auto; min-height: 112px; }
  .clinical-case-command > aside small { grid-column: 1 / -1; }
  .clinical-case-command > aside span { text-align: right; }
  .clinical-journey { padding-inline: 18px; }
  .clinical-journey > header { display: block; }
  .clinical-journey > header p { margin-top: 8px; text-align: left; }
  .clinical-stage-detail { grid-template-columns: 1fr; }
  .clinical-stage-detail > article, .clinical-stage-detail > article:nth-child(3) { min-height: 115px; border-right: 0; border-bottom: 1px solid var(--line); }
  .clinical-stage-detail > article:last-child { border-bottom: 0; }
  .clinical-stage-result { grid-column: auto; border-top: 0; }
  .clinical-case-outcomes { grid-template-columns: 1fr; }
  .clinical-case-outcomes > small { min-height: 50px; border-right: 0; border-bottom: 1px solid var(--line); }
  .clinical-case-outcomes > div { grid-template-columns: 1fr 1fr; }
  .clinical-case-outcomes article:nth-child(2) { border-right: 0; }
  .clinical-case-outcomes article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .workflow-detail { grid-template-columns: 1fr; }
  .evidence-archive summary { grid-template-columns: 1fr 28px; gap: 10px; }
  .evidence-archive-meta { grid-column: 1 / -1; grid-row: 2; text-align: left; }
  .evidence-figure figcaption { grid-template-columns: 1fr; gap: 4px; }
  .evidence-figure figcaption span { text-align: left; }
  .sankey-note { display: none; }
}

/* 2026-08-15 · Patient screening platform normalization
   Patient recall remains the visual baseline. This pass formalizes its shell
   contract and raises operational copy to the interface-detail threshold. */
.nav-item {
  min-height: 42px;
  font-size: 14px;
  font-weight: 500;
}
.nav-item .nav-item-label em { font-size: 9px; }

.screening-workbench { overflow: auto; }
.screening-workbench p,
.processing-workbench p,
.followup-workbench p,
.clinical-case-workbench p { font-size: 11px; line-height: 1.65; }
.screening-workbench button,
.processing-workbench button,
.followup-workbench button,
.screening-workbench input,
.processing-workbench input,
.followup-workbench input,
.screening-workbench select,
.processing-workbench select,
.followup-workbench select,
.screening-workbench textarea,
.processing-workbench textarea,
.followup-workbench textarea,
.processing-workbench th,
.processing-workbench td,
.followup-workbench th,
.followup-workbench td { font-size: 11px; }
.screening-workbench small,
.processing-workbench small,
.followup-workbench small,
.clinical-case-workbench small { font-size: 9px; }
.screening-progress span,
.processing-progress span,
.clinical-journey-stage > span,
.clinical-stage-detail small,
.clinical-case-outcomes > small { font-size: 9px; }

.processing-function-index span,
.followup-channel-index span { font-size: 11px; }
.clinical-case-command > article p,
.clinical-journey > header p,
.clinical-stage-detail p { font-size: 11px; }

@media (max-width: 820px) {
  .nav-item { min-height: 42px; font-size: 14px; }
}

/* 2026-08-16 · Clinical case responsibility-flow sync
   Source: 智能患者筛查及精益管理平台 / 11案例分享. */
.case-selector button { min-height: 92px; grid-template-columns: 48px minmax(0,1fr) auto; gap: 15px; padding: 15px 22px; }
.case-selector button > b { width: 42px; height: 42px; font-size: 11px; }
.case-selector button span strong { font-size: 15px; }
.case-selector button span small { font-size: 11px; }
.case-selector button > em { font-size: 10px; }

.clinical-case-command { grid-template-columns: minmax(360px,1.18fr) minmax(390px,1fr) 230px; min-height: 192px; }
.clinical-case-command > * { padding: 28px 30px; }
.clinical-case-command small { font-size: 10px; }
.clinical-case-command h2 { margin-top: 18px; font-size: clamp(25px,2vw,34px); }
.clinical-case-command > article p { margin-top: 14px; font-size: 13px; }
.clinical-case-command > section strong { max-width: 680px; margin-top: 16px; font-size: 19px; line-height: 1.5; }
.clinical-case-command > section span { margin-top: 13px; font-size: 12px; }
.clinical-case-command > aside strong { margin-top: 17px; font-size: 52px; }
.clinical-case-command > aside span { margin-top: 12px; font-size: 11px; }

.clinical-responsibility-flow { padding: 26px 26px 24px; border-bottom: 1px solid var(--line); }
.clinical-responsibility-flow > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.clinical-responsibility-flow > header small { color: var(--case-accent); font: 700 10px/1 var(--font-data); letter-spacing: .1em; }
.clinical-responsibility-flow > header h3 { margin-top: 8px; font-size: 20px; }
.clinical-responsibility-flow > header p { max-width: 560px; color: var(--body); font-size: 12px; text-align: right; }
.clinical-flow-scroll { margin-top: 24px; overflow-x: auto; padding-bottom: 4px; }
.clinical-flow-track { position: relative; min-width: 1040px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.clinical-flow-pulse { position: absolute; z-index: 0; left: 10%; right: 10%; top: 78px; height: 2px; background: #c9cbd4; }
.clinical-flow-pulse i { display: block; width: var(--journey-progress); height: 100%; background: var(--case-accent); transition: width .25s ease; }
.clinical-flow-node { position: relative; z-index: 1; min-width: 0; min-height: 330px; display: grid; grid-template-rows: 58px 42px minmax(0,1fr); justify-items: stretch; border: 0; padding: 0 9px; background: transparent; text-align: left; cursor: pointer; }
.clinical-flow-stage { display: grid; grid-template-columns: 30px 1fr; grid-template-rows: auto auto; align-items: end; gap: 2px 8px; padding: 0 3px; }
.clinical-flow-stage b { grid-row: 1 / 3; align-self: center; color: var(--case-accent); font: 700 10px/1 var(--font-data); }
.clinical-flow-stage strong { align-self: end; font-size: 13px; line-height: 1.25; }
.clinical-flow-stage time { color: var(--muted); font: 10px/1.3 var(--font-data); }
.clinical-flow-port { align-self: center; justify-self: center; width: 34px; height: 34px; display: grid; place-items: center; border: 2px solid #c9cbd4; border-radius: 50%; color: var(--body); background: var(--white); font: 700 10px/1 var(--font-data); font-style: normal; transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease; }
.clinical-flow-node > article { min-width: 0; min-height: 220px; display: flex; flex-direction: column; margin-top: 8px; border: 1px solid var(--line); border-radius: 5px; padding: 18px; background: #fff; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.clinical-flow-node > article small { color: var(--muted); font: 700 9px/1 var(--font-data); letter-spacing: .08em; }
.clinical-flow-node > article h4 { margin-top: 12px; font-size: 16px; }
.clinical-flow-node > article p { margin-top: 10px; color: var(--text); font-size: 12px; line-height: 1.7; }
.clinical-flow-node > article footer { margin-top: auto; padding-top: 13px; border-top: 1px solid var(--line-2); }
.clinical-flow-node > article footer span, .clinical-flow-node > article footer strong { display: block; }
.clinical-flow-node > article footer span { color: var(--case-accent); font: 700 8px/1 var(--font-data); letter-spacing: .08em; }
.clinical-flow-node > article footer strong { margin-top: 7px; font-size: 11px; line-height: 1.5; }
.clinical-flow-node:hover > article { transform: translateY(-2px); border-color: var(--case-accent); }
.clinical-flow-node.is-active .clinical-flow-port { border-color: var(--case-accent); color: #fff; background: var(--case-accent); transform: scale(1.08); }
.clinical-flow-node.is-active .clinical-flow-stage strong { color: var(--case-accent); }
.clinical-flow-node.is-active > article { color: #fff; background: var(--ink); border-color: var(--ink); box-shadow: 0 12px 24px rgba(23,25,47,.1); }
.clinical-flow-node.is-active > article small { color: #a8acbe; }
.clinical-flow-node.is-active > article p { color: #c7cad6; }
.clinical-flow-node.is-active > article footer { border-top-color: #373a51; }
.clinical-flow-node.is-active > article footer strong { color: #f2f1ec; }

.clinical-decision-detail { display: grid; grid-template-columns: 190px minmax(320px,1.28fr) minmax(290px,1fr) minmax(240px,.85fr); min-height: 225px; border-bottom: 1px solid var(--line); }
.clinical-decision-detail > article { min-width: 0; display: grid; align-content: center; padding: 26px 28px; border-right: 1px solid var(--line); }
.clinical-decision-detail > article:last-child { border-right: 0; }
.clinical-decision-detail small { color: var(--muted); font: 700 9px/1 var(--font-data); letter-spacing: .1em; }
.clinical-decision-detail h3 { margin-top: 13px; font-size: 16px; }
.clinical-decision-detail p { margin-top: 10px; color: var(--body); font-size: 13px; line-height: 1.75; }
.clinical-decision-index { color: #fff; background: var(--ink); }
.clinical-decision-index small { color: #9da1b8; }
.clinical-decision-index strong { margin-top: 17px; font: 700 23px/1.2 var(--font-data); }
.clinical-decision-index span { margin-top: 11px; color: #c4c6d2; font-size: 11px; line-height: 1.55; }
.clinical-decision-evidence { background: #faf8f3; }
.clinical-decision-result { background: var(--case-pale); }
.clinical-decision-result > strong { margin-top: 13px; font-size: 15px; }
.clinical-decision-result p { color: var(--ink); font-size: 14px; font-weight: 650; }

.clinical-case-outcomes { grid-template-columns: 190px minmax(0,1fr); min-height: 108px; }
.clinical-case-outcomes > div { display: grid; align-content: center; grid-template-columns: none; padding: 0 28px; border-right: 1px solid var(--line); }
.clinical-case-outcomes > div small { color: var(--muted); font: 700 9px/1 var(--font-data); letter-spacing: .1em; }
.clinical-case-outcomes > div strong { margin-top: 8px; font-size: 13px; }
.clinical-case-outcomes > section { display: grid; grid-template-columns: repeat(4,1fr); }
.clinical-case-outcomes article strong { font-size: 20px; }
.clinical-case-outcomes article span { margin-top: 8px; font-size: 11px; }

@media (max-width: 1180px) {
  .clinical-case-command { grid-template-columns: minmax(300px,1fr) minmax(300px,1fr); }
  .clinical-case-command > aside { grid-column: 1 / -1; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; min-height: 96px; }
  .clinical-case-command > aside strong { margin-top: 0; }
  .clinical-case-command > aside span { margin-top: 0; text-align: right; }
  .clinical-decision-detail { grid-template-columns: 170px minmax(280px,1fr) minmax(250px,1fr); }
  .clinical-decision-detail > article:nth-child(3) { border-right: 0; }
  .clinical-decision-result { grid-column: 1 / -1; min-height: 104px; border-top: 1px solid var(--line); }
}

@media (max-width: 820px) {
  .clinical-case-command { grid-template-columns: 1fr; }
  .clinical-responsibility-flow { padding-inline: 18px; }
  .clinical-responsibility-flow > header { display: block; }
  .clinical-responsibility-flow > header p { margin-top: 9px; text-align: left; }
  .clinical-flow-track { min-width: 1040px; }
  .clinical-flow-node { min-height: 342px; }
  .clinical-decision-detail { grid-template-columns: 1fr; }
  .clinical-decision-detail > article, .clinical-decision-detail > article:nth-child(3) { min-height: 132px; border-right: 0; border-bottom: 1px solid var(--line); }
  .clinical-decision-detail > article:last-child { border-bottom: 0; }
  .clinical-decision-result { grid-column: auto; border-top: 0; }
  .clinical-case-outcomes { grid-template-columns: 1fr; }
  .clinical-case-outcomes > div { min-height: 62px; border-right: 0; border-bottom: 1px solid var(--line); }
  .clinical-case-outcomes > section { grid-template-columns: 1fr 1fr; }
}
