.selection-main {
  max-width: 1540px;
}

.selection-shell .nav a {
  position: relative;
  overflow: hidden;
  transition: color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.selection-shell .nav a::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 0;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--red);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform .18s ease;
}

.selection-shell .nav a.is-current {
  color: #a52323;
  background: #fff4f1;
  box-shadow: inset 0 0 0 1px rgba(207, 48, 47, .14);
  font-weight: 750;
}

.selection-shell .nav a.is-current::before {
  transform: scaleY(1);
}

.selection-shell .nav .nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  margin-left: 8px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--red, #cf302f);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  line-height: 1;
  vertical-align: 2px;
  box-shadow: 0 1px 3px rgba(207, 48, 47, .35);
}

.selection-band {
  padding: 0;
  background: transparent;
  border: 0;
  scroll-margin-top: 88px;
}

.selection-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}

.selection-section-head span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.selection-section-head h2 {
  margin: 2px 0 0;
  font-size: 25px;
}

.selection-section-head > strong {
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  text-align: right;
}

.selection-hero {
  display: grid;
  grid-template-columns: minmax(280px, 1.15fr) minmax(340px, 1.45fr) repeat(2, minmax(150px, .62fr));
  gap: 12px;
}

.information-monitor {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 66px;
  margin-bottom: 12px;
  padding: 11px 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.information-monitor.scanning { border-left-color: var(--amber); }
.information-monitor.updated { border-left-color: var(--red); }
.information-monitor.failed { border-left-color: var(--green); }

.information-monitor-state {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 11px;
}

.information-monitor-state > i {
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 5px rgba(24, 99, 157, .1);
}

.information-monitor.scanning .information-monitor-state > i {
  background: var(--amber);
  animation: informationPulse 1.2s ease-in-out infinite;
}

.information-monitor.updated .information-monitor-state > i { background: var(--red); }
.information-monitor.failed .information-monitor-state > i { background: var(--green); }

@keyframes informationPulse {
  50% { transform: scale(.72); opacity: .6; }
}

.information-monitor-state span,
.information-monitor-state strong,
.information-monitor-state small {
  display: block;
  overflow-wrap: anywhere;
}

.information-monitor-state span { color: var(--muted); font-size: 11px; font-weight: 800; }
.information-monitor-state strong { margin-top: 3px; font-size: 14px; }
.information-monitor-state small { margin-top: 3px; color: var(--muted); font-size: 12px; }

.information-monitor-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 7px;
}

.information-monitor-actions button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #cbd4dd;
  border-radius: 6px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.information-monitor-actions button:first-child {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.information-monitor-actions button:disabled { cursor: wait; opacity: .55; }

.information-alert-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 12px;
}

.information-alert-list[hidden] { display: none; }

.information-alert {
  min-width: 0;
  min-height: 96px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  box-shadow: var(--shadow);
}

.information-alert.high { border-top-color: var(--amber); }
.information-alert.action { border-top-color: var(--red); }
.information-alert.critical { border-top-color: var(--green); }
.information-alert span,
.information-alert strong,
.information-alert small,
.information-alert em { display: block; overflow-wrap: anywhere; }
.information-alert span { color: var(--muted); font-size: 11px; font-weight: 750; }
.information-alert strong { margin-top: 5px; font-size: 14px; }
.information-alert small { margin-top: 5px; color: #465466; font-size: 12px; line-height: 1.45; }
.information-alert em { margin-top: 6px; color: var(--muted); font-size: 11px; font-style: normal; }

.discovery-section { scroll-margin-top: 88px; }

.discovery-note {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 10px;
  padding: 9px 11px;
  border-left: 3px solid var(--blue);
  background: #f5f9fc;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.discovery-note strong { flex: 0 0 auto; color: var(--text); }

.discovery-brief {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 10px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.discovery-brief > div {
  min-width: 0;
  padding: 10px 12px;
  border-right: 1px solid var(--line);
}

.discovery-brief > div:last-child { border-right: 0; }
.discovery-brief span,
.discovery-brief strong,
.discovery-brief small { display: block; overflow-wrap: anywhere; }
.discovery-brief span { color: var(--muted); font-size: 10px; }
.discovery-brief strong { margin-top: 2px; font-size: 18px; }
.discovery-brief small { margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.35; }

.discovery-toolbar {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.discovery-toolbar button {
  min-height: 36px;
  padding: 0 14px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.discovery-toolbar button.active {
  border-bottom-color: var(--red);
  color: var(--text);
}

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

.discovery-empty {
  padding: 24px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  text-align: center;
  font-size: 13px;
}
.discovery-empty strong,
.discovery-empty small { display: block; }
.discovery-empty small { margin-top: 5px; font-size: 11px; }

.discovery-row {
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.discovery-row.review-ready { box-shadow: inset 3px 0 0 var(--red); }
.discovery-row.conflict-review { box-shadow: inset 3px 0 0 var(--amber); }
.discovery-row.accepted-research { box-shadow: inset 3px 0 0 var(--blue); }
.discovery-row.rejected { opacity: .72; }
.discovery-row.quality-high { box-shadow: inset 3px 0 0 var(--red); }
.discovery-row.quality-medium { box-shadow: inset 3px 0 0 var(--blue); }

.discovery-summary {
  display: grid;
  grid-template-columns: 148px minmax(240px, 1.45fr) minmax(220px, 1fr) 44px;
  align-items: center;
  gap: 12px;
  min-height: 66px;
  padding: 9px 12px;
}

.discovery-state,
.discovery-title,
.discovery-route,
.discovery-metrics { min-width: 0; }

.discovery-state span,
.discovery-title strong,
.discovery-title small,
.discovery-route span,
.discovery-route small,
.discovery-metrics span,
.discovery-metrics small {
  display: block;
  overflow-wrap: anywhere;
}

.discovery-state span {
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
}
.discovery-state small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
}

.discovery-row.review-ready .discovery-state span { color: var(--red); }
.discovery-row.conflict-review .discovery-state span { color: #9a6700; }
.discovery-title strong { font-size: 14px; line-height: 1.35; }
.discovery-title small,
.discovery-route small,
.discovery-metrics small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.discovery-route span,
.discovery-metrics span { font-size: 11px; line-height: 1.4; }

.discovery-toggle {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--blue);
  font: inherit;
  font-size: 18px;
  cursor: pointer;
}

.discovery-toggle[aria-expanded="true"] { border-color: var(--blue); background: var(--blue-soft); }

.discovery-detail {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 12px 14px 14px;
  border-top: 1px solid #edf1f4;
  background: #fbfcfd;
}

.discovery-detail[hidden] { display: none; }

.discovery-evidence { display: grid; gap: 7px; }

.discovery-evidence article {
  padding: 8px 10px;
  border-left: 3px solid var(--blue);
  background: #fff;
}

.discovery-evidence article span,
.discovery-evidence article strong,
.discovery-evidence article small { display: block; overflow-wrap: anywhere; }
.discovery-evidence article span { color: var(--muted); font-size: 10px; }
.discovery-evidence article strong { margin-top: 3px; font-size: 12px; line-height: 1.45; }
.discovery-evidence article small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.discovery-evidence article a { color: var(--blue); text-decoration: none; }

.discovery-quality-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--line);
  background: #fff;
}

.discovery-quality-panel > div {
  min-width: 0;
  padding: 10px 12px;
  border-right: 1px solid var(--line);
}

.discovery-quality-panel > div:last-child { border-right: 0; }
.discovery-quality-panel span,
.discovery-quality-panel strong,
.discovery-quality-panel small { display: block; overflow-wrap: anywhere; }
.discovery-quality-panel span { color: var(--muted); font-size: 9px; }
.discovery-quality-panel strong { margin-top: 4px; font-size: 12px; }
.discovery-quality-panel small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.discovery-quality-panel.quality-high { border-left: 3px solid var(--red); }
.discovery-quality-panel.quality-medium { border-left: 3px solid var(--blue); }
.discovery-quality-panel.quality-low { border-left: 3px solid var(--amber); }

.discovery-evidence-drawer,
.blind-evidence-drawer {
  border: 1px solid var(--line);
  background: #fff;
}

.discovery-evidence-drawer > summary,
.blind-evidence-drawer > summary {
  padding: 9px 11px;
  color: var(--blue);
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}

.discovery-evidence-drawer .discovery-evidence,
.blind-evidence-drawer .blind-source-list { padding: 0 10px 10px; }

.discovery-review {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  background: #fff;
}
.discovery-review.requires-user { border-left: 3px solid var(--amber); }
.discovery-review.system-handled { border-left: 3px solid var(--blue); }

.discovery-review > strong,
.discovery-review > small { display: block; }
.discovery-review > strong { font-size: 12px; }
.discovery-review > small { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; }

.discovery-review input {
  width: 100%;
  min-height: 36px;
  margin-top: 10px;
  padding: 0 9px;
  border: 1px solid #cbd4dd;
  border-radius: 5px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-size: 11px;
}

.discovery-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 8px;
}

.discovery-review-actions button,
.discovery-more {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid #cbd4dd;
  border-radius: 5px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}

.discovery-review-actions button[data-action="accept-research"] { border-color: var(--blue); color: var(--blue); }
.discovery-review-actions button[data-action="reject"] { color: var(--green); }
.discovery-review-actions button:disabled { cursor: wait; opacity: .55; }
.discovery-reset {
  min-height: 30px;
  margin-top: 8px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
  color: var(--muted);
  font: inherit;
  font-size: 10px;
  cursor: pointer;
}

.discovery-more {
  display: block;
  margin: 10px auto 0;
}

.discovery-more[hidden] { display: none; }

.blind-validation {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 2px solid var(--text);
}

/* 2026-08-05 抽屉内嵌套版式：抽屉 summary 已承担标题职责，内层头去重、文字一律左对齐收拢，
   内容收成卡片，避免标题/状态顶在两端。 */
.section-fold .blind-validation {
  margin-top: 4px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.section-fold .blind-validation-head {
  justify-content: flex-start;
  align-items: flex-start;
}

.section-fold .blind-validation-head span,
.section-fold .blind-validation-head strong {
  display: none;
}

.section-fold .blind-validation-head small {
  max-width: none;
  text-align: left;
}

.blind-validation-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.blind-validation-head span,
.blind-validation-head strong,
.blind-validation-head small { display: block; }
.blind-validation-head span { color: var(--blue); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.blind-validation-head strong { margin-top: 3px; font-size: 15px; }
.blind-validation-head small { max-width: 560px; color: var(--muted); font-size: 11px; line-height: 1.45; text-align: right; }

.blind-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 12px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.blind-metric {
  min-width: 0;
  padding: 10px 12px;
  border-right: 1px solid var(--line);
}

.blind-metric:last-child { border-right: 0; }
.blind-metric span,
.blind-metric strong,
.blind-metric small { display: block; overflow-wrap: anywhere; }
.blind-metric span { color: var(--muted); font-size: 10px; }
.blind-metric strong { margin-top: 4px; font-size: 17px; }
.blind-metric small { margin-top: 2px; color: var(--muted); font-size: 9px; line-height: 1.35; }

.blind-case-list { margin-top: 10px; border-top: 1px solid var(--line); }

.blind-case {
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.blind-case > summary {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr) 150px;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 8px 12px;
  cursor: pointer;
  list-style: none;
}

.blind-case > summary::-webkit-details-marker { display: none; }
.blind-case > summary span,
.blind-case > summary strong,
.blind-case > summary small { display: block; overflow-wrap: anywhere; }
.blind-case > summary span { color: var(--blue); font-size: 10px; font-weight: 800; }
.blind-case > summary strong { font-size: 12px; }
.blind-case > summary small { color: var(--muted); font-size: 10px; text-align: right; }

.blind-case-body {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: 16px;
  padding: 12px 14px 14px;
  border-top: 1px solid #edf1f4;
  background: #fbfcfd;
}

.blind-case.simplified > summary {
  grid-template-columns: 90px minmax(0, 1fr) 150px;
}

.blind-decision-copy span,
.blind-decision-copy strong,
.blind-decision-copy small { display: block; overflow-wrap: anywhere; }
.blind-decision-copy span { color: var(--muted); font-size: 9px; }
.blind-decision-copy strong { margin-top: 4px; font-size: 13px; line-height: 1.4; }
.blind-decision-copy small { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.blind-decision-copy .blind-evidence-drawer { margin-top: 10px; }

.blind-quick-actions {
  display: grid;
  align-content: start;
  gap: 8px;
  padding-left: 14px;
  border-left: 1px solid var(--line);
}

.blind-quick-actions button {
  min-height: 36px;
  border: 1px solid #cbd4dd;
  border-radius: 5px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}

.blind-quick-actions button[data-blind-quick="positive"] { border-color: var(--red); color: var(--red); }
.blind-quick-actions button[data-blind-quick="negative"] { border-color: var(--green); color: var(--green); }
.blind-quick-actions button:disabled { cursor: wait; opacity: .55; }

.blind-source-list { display: grid; gap: 7px; }

.blind-source {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 7px;
  padding: 8px 9px;
  border-left: 3px solid #9ca7b1;
  background: #fff;
}

.blind-source input { margin: 3px 0 0; }
.blind-source span,
.blind-source strong,
.blind-source small { display: block; overflow-wrap: anywhere; }
.blind-source span { color: var(--muted); font-size: 9px; }
.blind-source strong { margin-top: 2px; font-size: 11px; line-height: 1.4; }
.blind-source small { margin-top: 2px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.blind-source a { color: var(--blue); text-decoration: none; }

.blind-label-form { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-content: start; }
.blind-label-form input,
.blind-label-form select,
.blind-label-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 7px 8px;
  border: 1px solid #cbd4dd;
  border-radius: 5px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-size: 10px;
}
.blind-label-form textarea { grid-column: 1 / -1; min-height: 58px; resize: vertical; }
.blind-label-form [data-blind-adjudication] { grid-column: 1 / -1; }
.blind-label-form button {
  grid-column: 1 / -1;
  min-height: 36px;
  border: 1px solid var(--blue);
  border-radius: 5px;
  background: var(--blue);
  color: #fff;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.blind-label-form button:disabled { cursor: wait; opacity: .6; }
.blind-label-message { grid-column: 1 / -1; color: var(--green); font-size: 10px; line-height: 1.4; }

.blind-result { min-width: 0; padding-left: 14px; border-left: 1px solid var(--line); }
.blind-result span,
.blind-result strong,
.blind-result small { display: block; overflow-wrap: anywhere; }
.blind-result span { color: var(--muted); font-size: 10px; }
.blind-result .blind-result-heading { margin-top: 12px; }
.blind-result strong { margin-top: 5px; font-size: 13px; }
.blind-result small { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; }

.selection-hero > div {
  min-width: 0;
  min-height: 142px;
  padding: 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.selection-hero .decision-main {
  border-left: 4px solid var(--amber);
  background: #fffaf0;
}

.selection-hero .decision-main.go {
  border-left-color: var(--red);
  background: #fff7f5;
}

.selection-hero .decision-main.stop {
  border-left-color: var(--green);
  background: #f4fbf7;
}

.selection-hero span,
.selection-hero small,
.selection-hero p {
  display: block;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.selection-hero span {
  font-weight: 800;
}

.selection-hero strong {
  display: block;
  margin: 8px 0 7px;
  font-size: 20px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.selection-hero p {
  color: #465466;
  font-size: 13px;
}

.context-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.context-metric,
.pipeline-step,
.prosperity-dimension,
.stock-factor {
  min-width: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.context-metric {
  min-height: 96px;
  padding: 14px;
}

.context-metric span,
.context-metric small,
.pipeline-step span,
.pipeline-step small,
.prosperity-dimension span,
.prosperity-dimension small,
.stock-factor span,
.stock-factor small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.context-metric strong {
  display: block;
  margin: 8px 0 5px;
  font-size: 19px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.signal-pipeline {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.pipeline-step {
  min-height: 92px;
  padding: 13px 14px;
  border-top: 4px solid #9ca7b1;
  background: #fbfcfd;
}

.pipeline-step.active { border-top-color: var(--red); }
.pipeline-step.watch { border-top-color: var(--amber); }
.pipeline-step.locked { border-top-color: var(--green); }

.pipeline-step strong {
  display: block;
  margin: 7px 0 4px;
  font-size: 15px;
}

.pipeline-step b {
  display: block;
  margin-bottom: 5px;
  color: var(--text);
  font-size: 13px;
}

.next-action-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 1px;
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-left: 4px solid var(--amber);
  border-radius: 8px;
  background: var(--line);
  box-shadow: var(--shadow);
}

.production-brief {
  margin-top: 14px;
  border: 1px solid #d7dee8;
  border-left: 3px solid #d92d20;
  background: #f8fafc;
  padding: 16px 18px;
}

.production-brief-head,
.production-brief-grid,
.production-company-funnel {
  display: flex;
  align-items: center;
}

.production-brief-head {
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 13px;
}

.production-brief-head > div {
  display: grid;
  gap: 4px;
}

.production-brief-head span,
.production-brief-grid span,
.production-company-funnel span {
  color: #667085;
  font-size: 12px;
}

.production-brief-head strong {
  color: #101828;
  font-size: 17px;
}

.production-brief-head small {
  color: #475467;
  text-align: right;
}

.production-brief-grid {
  align-items: stretch;
  display: grid;
  grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr));
  border-top: 1px solid #e4e7ec;
  border-bottom: 1px solid #e4e7ec;
}

.production-brief-grid > div {
  display: grid;
  align-content: center;
  gap: 6px;
  min-height: 82px;
  padding: 12px 14px;
  border-right: 1px solid #e4e7ec;
}

.production-brief-grid > div:last-child {
  border-right: 0;
}

.production-brief-grid strong {
  color: #1d2939;
  font-size: 15px;
  line-height: 1.45;
}

.production-brief-grid small {
  color: #667085;
  line-height: 1.45;
}

.production-action strong {
  color: #b42318;
}

.production-company-funnel {
  justify-content: flex-end;
  gap: 8px;
  padding-top: 12px;
}

.production-company-funnel > div {
  display: flex;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}

.production-company-funnel strong {
  color: #101828;
  font-size: 15px;
}

.production-company-funnel i {
  color: #98a2b3;
  font-style: normal;
}

.profitability-scorecard {
  display: grid;
  grid-template-columns: minmax(260px, 1.7fr) repeat(5, minmax(100px, .7fr));
  margin-top: 12px;
  border: 1px solid #e4e7ec;
  border-left: 4px solid #d97706;
  background: #fff;
}

.profitability-scorecard.is-accepted { border-left-color: #16865a; }
.profitability-scorecard > div {
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 0;
  min-height: 72px;
  padding: 10px 12px;
  border-right: 1px solid #e4e7ec;
}
.profitability-scorecard > div:last-child { border-right: 0; }
.profitability-scorecard span,
.profitability-scorecard small { color: #667085; font-size: 11px; line-height: 1.4; }
.profitability-scorecard strong { color: #101828; font-size: 15px; overflow-wrap: anywhere; }
.profitability-scorecard.is-watch > div:first-child strong { color: #b54708; }
.profitability-scorecard.is-accepted > div:first-child strong { color: #067647; }

.production-model-scorecards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 12px;
  border: 1px solid #e4e7ec;
  background: #fff;
}

.production-model-scorecards article {
  min-width: 0;
  padding: 11px 13px;
  border-right: 1px solid #e4e7ec;
  box-shadow: inset 0 3px 0 #2e6eb5;
}

.production-model-scorecards article:last-child { border-right: 0; }
.production-model-scorecards article.is-watch { box-shadow: inset 0 3px 0 #d97706; }
.production-model-scorecards article > div { display: flex; justify-content: space-between; gap: 8px; }
.production-model-scorecards span,
.production-model-scorecards small { color: #667085; font-size: 11px; }
.production-model-scorecards b { color: #344054; font-size: 11px; }
.production-model-scorecards strong { display: block; margin-top: 8px; color: #101828; font-size: 15px; }
.production-model-scorecards small { display: block; margin-top: 5px; line-height: 1.45; overflow-wrap: anywhere; }

.next-action-panel > div {
  min-width: 0;
  padding: 13px 15px;
  background: #fff;
}

.next-action-panel span,
.next-action-panel strong {
  display: block;
  overflow-wrap: anywhere;
}

.next-action-panel span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.next-action-panel strong {
  margin-top: 5px;
  font-size: 14px;
  line-height: 1.5;
}

.concept-guide,
.section-definition {
  display: grid;
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--line);
}

.concept-guide {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 12px;
}

.concept-guide > div,
.section-definition {
  padding: 12px 14px;
  background: #f8fafc;
}

.concept-guide strong,
.concept-guide span,
.section-definition strong,
.section-definition span {
  display: block;
  overflow-wrap: anywhere;
}

.concept-guide strong,
.section-definition strong {
  font-size: 13px;
}

.concept-guide span,
.section-definition span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.section-definition {
  margin-bottom: 12px;
  border-left: 4px solid var(--blue);
}

.user-pool-definition { border-left-color: var(--amber); }

.stage-view-note {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  padding: 10px 12px;
  border-left: 4px solid var(--blue);
  background: var(--blue-soft);
}

.stage-view-note strong { font-size: 13px; }
.stage-view-note span { color: var(--muted); font-size: 12px; line-height: 1.45; text-align: right; }

.stage-view-grid {
  display: grid;
  gap: 12px;
}

.stage-view-empty {
  min-height: 132px;
  display: grid;
  place-items: center;
  gap: 6px;
  padding: 20px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: #f8fafc;
  text-align: center;
}

.stage-view-empty strong,
.stage-view-empty span { display: block; }
.stage-view-empty span { color: var(--muted); font-size: 12px; }

.stage-view-card {
  min-width: 0;
  padding: 15px 16px 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.stage-view-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.stage-view-card header span,
.stage-view-card header strong,
.stage-view-card header small { display: block; overflow-wrap: anywhere; }
.stage-view-card header span { color: var(--muted); font-size: 11px; font-weight: 800; }
.stage-view-card header strong { margin-top: 5px; font-size: 18px; }
.stage-view-card header small { margin-top: 5px; color: var(--muted); font-size: 12px; }

.stage-action {
  flex: 0 0 min(330px, 38%);
  padding-left: 13px;
  border-left: 3px solid var(--amber);
  text-align: right;
}

.stage-action.ready { border-left-color: var(--red); }
.stage-action.stop { border-left-color: var(--green); }
.stage-action b { display: block; margin: 4px 0; font-size: 16px; }
.stage-action.ready b { color: var(--red); }
.stage-action.stop b { color: var(--green); }

.stage-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 18px 0 14px;
}

.stage-track::before,
.stage-track::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 15px;
  left: 12.5%;
  height: 3px;
}

.stage-track::before { width: 75%; background: #d9e1e7; }
.stage-track::after { width: calc(var(--stage-progress) * .75); max-width: 75%; background: var(--red); }

.stage-track > div {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 0 8px;
  text-align: center;
}

.stage-track i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin: 0 auto 7px;
  border: 2px solid #cbd4dd;
  border-radius: 50%;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.stage-track .passed i { border-color: var(--red); background: var(--red); color: #fff; }
.stage-track .current i { border-color: var(--red); color: var(--red); box-shadow: 0 0 0 5px rgba(207, 48, 47, .1); }
.stage-track strong,
.stage-track small { display: block; overflow-wrap: anywhere; }
.stage-track strong { font-size: 12px; }
.stage-track small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.stage-track .future strong { color: #7a8792; }

.stage-evidence-grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 9px;
  margin: 16px 0 14px;
}

.stage-evidence-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-left: 3px solid #aeb9c2;
  border-radius: 7px;
  background: #fbfcfd;
}

.stage-evidence-panel.passed { border-left-color: var(--red); }
.stage-evidence-panel.current {
  border-color: rgba(207, 48, 47, .42);
  border-left-color: var(--red);
  background: #fffafa;
}
.stage-evidence-panel.passed.no-evidence,
.stage-evidence-panel.current.no-evidence {
  border-color: #dec58e;
  border-left-color: #b7791f;
  background: #fffcf5;
}

.stage-evidence-panel summary {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  min-height: 58px;
  padding: 9px 11px;
  list-style: none;
  cursor: pointer;
}

.stage-evidence-panel summary::-webkit-details-marker,
.event-dimension-detail summary::-webkit-details-marker,
.event-stock-candidate summary::-webkit-details-marker,
.prosperity-dimension summary::-webkit-details-marker { display: none; }

.stage-evidence-panel summary i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 2px solid #bdc7cf;
  border-radius: 50%;
  color: var(--muted);
  background: #fff;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.stage-evidence-panel.passed summary i { border-color: var(--red); background: var(--red); color: #fff; }
.stage-evidence-panel.current summary i { border-color: var(--red); color: var(--red); }
.stage-evidence-panel.passed.no-evidence summary i,
.stage-evidence-panel.current.no-evidence summary i {
  border-color: #b7791f;
  background: #fff;
  color: #8a5a12;
}
.stage-evidence-panel summary span,
.stage-evidence-panel summary strong,
.stage-evidence-panel summary small { display: block; min-width: 0; overflow-wrap: anywhere; }
.stage-evidence-panel summary strong { font-size: 13px; }
.stage-evidence-panel summary small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.stage-evidence-panel summary b { color: var(--muted); font-size: 10px; white-space: nowrap; }
.stage-evidence-panel.current summary b { color: var(--red); }
.stage-evidence-panel.passed.no-evidence summary b,
.stage-evidence-panel.current.no-evidence summary b { color: #8a5a12; }
.stage-evidence-panel summary::after {
  content: "+";
  grid-column: 4;
  color: var(--muted);
  font-size: 16px;
  line-height: 1;
}
.stage-evidence-panel[open] summary::after { content: "-"; }

.compact-evidence-list {
  display: grid;
  gap: 0;
  padding: 0 11px 10px;
  border-top: 1px solid #e5eaee;
}

.compact-evidence-list > div {
  display: grid;
  grid-template-columns: minmax(86px, .34fr) minmax(120px, .66fr);
  gap: 4px 10px;
  padding: 8px 0;
  border-bottom: 1px solid #edf1f4;
}

.compact-evidence-list > div:last-child { border-bottom: 0; }
.compact-evidence-list span,
.compact-evidence-list strong,
.compact-evidence-list small { display: block; min-width: 0; overflow-wrap: anywhere; }
.compact-evidence-list span { color: var(--muted); font-size: 10px; font-weight: 750; }
.compact-evidence-list strong { color: var(--text); font-size: 12px; line-height: 1.45; }
.compact-evidence-list small { grid-column: 2; color: var(--muted); font-size: 10px; line-height: 1.4; }

.stage-evidence-body {
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
  border-top: 1px solid #e5eaee;
}

.stage-evidence-body > .compact-evidence-list { border-top: 0; }
.stage-event-evidence {
  min-width: 0;
  padding: 10px 11px 11px;
  border-left: 1px solid #e5eaee;
  background: #fff;
}
.stage-event-evidence-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.stage-event-evidence-head strong { font-size: 12px; }
.stage-event-evidence-head small { color: var(--muted); font-size: 10px; }

.event-evidence-list { display: grid; gap: 7px; }
.event-evidence-item {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #e2e8ed;
  border-left: 3px solid var(--blue);
  border-radius: 5px;
  background: #fbfcfd;
}
.event-evidence-item.negative { border-left-color: var(--green); background: #f4fbf7; }
.event-evidence-item header,
.event-evidence-item footer {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.event-evidence-item header span,
.event-evidence-item header time,
.event-evidence-item footer span,
.event-evidence-item footer b,
.event-evidence-item > small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.event-evidence-item header time { white-space: nowrap; }
.event-evidence-item > strong {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.event-evidence-item p {
  display: -webkit-box;
  overflow: hidden;
  margin: 5px 0;
  color: #465466;
  font-size: 11px;
  line-height: 1.5;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.event-evidence-item footer { margin-top: 6px; padding-top: 6px; border-top: 1px solid #edf1f4; }
.event-evidence-item footer b { color: var(--blue); text-align: right; }
.event-evidence-item > small { display: block; margin-top: 5px; color: #9a6700; }
.event-evidence-empty {
  min-height: 66px;
  display: grid;
  place-items: center;
  padding: 12px;
  border: 1px dashed #cbd4dd;
  border-radius: 5px;
  color: var(--muted);
  background: #fbfcfd;
  font-size: 11px;
  text-align: center;
}

.early-participation-band {
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(0, 2.28fr);
  gap: 16px;
  margin: 4px 0 14px;
  padding: 13px 12px;
  border-top: 1px solid #cfd9e3;
  border-bottom: 1px solid #cfd9e3;
  box-shadow: inset 4px 0 0 #8a98a5;
  background: #f8fafc;
}

.early-participation-band.ready {
  box-shadow: inset 4px 0 0 var(--red);
  background: #fff8f7;
}
.early-participation-band.waiting {
  box-shadow: inset 4px 0 0 var(--amber);
  background: #fffbf1;
}
.early-participation-band.stopped {
  box-shadow: inset 4px 0 0 var(--green);
  background: #f4faf7;
}

.early-participation-status,
.early-participation-status span,
.early-participation-status strong,
.early-participation-status small,
.early-participation-metrics span,
.early-participation-metrics b,
.early-participation-metrics small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.early-participation-status {
  align-self: center;
  padding-left: 4px;
}
.early-participation-status span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}
.early-participation-status strong {
  margin-top: 4px;
  font-size: 14px;
}
.early-participation-band.ready .early-participation-status strong { color: var(--red); }
.early-participation-band.stopped .early-participation-status strong { color: var(--green); }
.early-participation-status small {
  margin-top: 5px;
  color: #5d6b78;
  font-size: 11px;
  line-height: 1.5;
}

.early-participation-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}
.early-participation-metrics > div {
  min-width: 0;
  padding: 1px 11px;
  border-left: 1px solid #d8e0e7;
}
.early-participation-metrics span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
}
.early-participation-metrics b {
  margin-top: 5px;
  font-size: 11px;
  line-height: 1.45;
}
.early-participation-metrics small {
  margin-top: 4px;
  color: #6e7b87;
  font-size: 10px;
  line-height: 1.35;
}

.stage-analysis-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
  gap: 18px;
  padding-top: 13px;
  border-top: 1px solid var(--line);
}

.stage-response-panel,
.stage-risk-panel { min-width: 0; }
.stage-risk-panel { padding-left: 18px; border-left: 1px solid var(--line); }

.stage-subhead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.stage-subhead span,
.stage-subhead strong,
.stage-subhead small { display: block; }
.stage-subhead span { color: var(--muted); font-size: 11px; font-weight: 750; }
.stage-subhead strong { margin-top: 4px; font-size: 14px; }
.stage-subhead > div > small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.stage-subhead > b { color: var(--blue); font-size: 26px; line-height: 1; }
.stage-risk-panel.medium .stage-subhead > b { color: var(--amber); }
.stage-risk-panel.high .stage-subhead > b { color: var(--green); }
.stage-subhead > b small { display: inline; font-size: 11px; }

.stage-legend {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}

.stage-legend span { color: var(--muted); font-size: 10px; }
.stage-legend i { display: inline-block; width: 16px; height: 3px; margin-right: 4px; vertical-align: middle; background: #596a78; }
.stage-legend i.relative { height: 0; border-top: 3px dashed var(--blue); background: transparent; }
.stage-legend i.entry {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--red);
}
.stage-legend i.exit {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
}
.stage-legend i.holding {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--blue);
}

.stage-response-svg {
  display: block;
  width: 100%;
  min-height: 250px;
  margin-top: 10px;
  overflow: visible;
}

.stage-zero-line { stroke: #b8c3cc; stroke-width: 1; stroke-dasharray: 4 4; }
.stage-line { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.stage-line.absolute { stroke: #596a78; }
.stage-line.relative { stroke: var(--blue); stroke-dasharray: 7 5; }
.stage-axis-label,
.stage-x-label { fill: #71808d; font-size: 10px; }
.stage-x-date { fill: #8b97a1; font-size: 8px; }

.stage-trade-marker line {
  stroke: rgba(77, 91, 103, .45);
  stroke-width: 1.2;
  stroke-dasharray: 2 2;
}
.stage-trade-marker circle {
  fill: var(--blue);
  stroke: #fff;
  stroke-width: 2;
}
.stage-exec-marker.buy circle { fill: var(--red); }
.stage-exec-marker.sell circle { fill: var(--green); }
.stage-exec-marker.holding circle { fill: var(--blue); }
.stage-exec-glyph {
  fill: #fff;
  font-size: 8px;
  font-weight: 900;
  pointer-events: none;
}
.stage-exec-count {
  fill: #344453;
  font-size: 8px;
  font-weight: 800;
}

.stage-chart-empty {
  min-height: 176px;
  display: grid;
  place-items: center;
  gap: 5px;
  padding: 20px;
  text-align: center;
}

.stage-chart-empty strong,
.stage-chart-empty span { display: block; }
.stage-chart-empty strong { font-size: 14px; }
.stage-chart-empty span { color: var(--muted); font-size: 11px; }

.stage-risk-meter {
  position: relative;
  height: 9px;
  margin: 18px 0 15px;
  border-radius: 5px;
  background: linear-gradient(90deg, var(--blue) 0 35%, var(--amber) 35% 65%, var(--green) 65% 100%);
}

.stage-risk-meter i {
  position: absolute;
  top: 50%;
  left: var(--risk);
  width: 15px;
  height: 15px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--text);
  box-shadow: 0 1px 4px rgba(20, 34, 46, .28);
  transform: translate(-50%, -50%);
}

.stage-risk-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.stage-risk-metrics > div {
  min-width: 0;
  min-height: 72px;
  padding: 9px 10px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.stage-risk-metrics span,
.stage-risk-metrics strong,
.stage-risk-metrics small { display: block; overflow-wrap: anywhere; }
.stage-risk-metrics span { color: var(--muted); font-size: 10px; }
.stage-risk-metrics strong { margin: 5px 0; font-size: 14px; }
.stage-risk-metrics small { color: var(--muted); font-size: 10px; line-height: 1.35; }
.stage-risk-metrics .breached { background: #f4fbf7; }
.stage-risk-metrics .breached strong,
.stage-risk-metrics .breached small { color: var(--green); }

.stage-risk-panel > p {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.event-target-grid {
  display: grid;
  gap: 12px;
}

.core-model-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 12px 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.core-model-metric {
  min-width: 0;
  padding: 11px 13px;
  border-right: 1px solid var(--line);
  border-top: 3px solid var(--blue);
}

.core-model-metric.ready { border-top-color: var(--red); }
.core-model-metric.waiting { border-top-color: var(--amber); }
.core-model-metric:nth-child(3) { border-right: 0; }
.core-model-metric span,
.core-model-metric strong,
.core-model-metric small { display: block; overflow-wrap: anywhere; }
.core-model-metric span { color: var(--muted); font-size: 10px; font-weight: 800; }
.core-model-metric strong { margin: 5px 0; font-size: 14px; }
.core-model-metric small { color: var(--muted); font-size: 10px; line-height: 1.45; }

.parallel-scorecards {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  border-top: 1px solid var(--line);
  background: #fff;
}

.parallel-scorecard {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #dce4ea;
  border-left: 4px solid var(--blue);
  border-radius: 6px;
  background: #f7fbff;
}

.parallel-scorecard.user {
  border-left-color: var(--amber);
  background: #fffaf0;
}

.parallel-scorecard span,
.parallel-scorecard strong,
.parallel-scorecard small { display: block; overflow-wrap: anywhere; }
.parallel-scorecard span { color: var(--muted); font-size: 10px; font-weight: 800; }
.parallel-scorecard strong { margin: 5px 0; font-size: 15px; }
.parallel-scorecard small { color: var(--muted); font-size: 10px; line-height: 1.5; }

.core-model-method {
  grid-column: 1 / -1;
  border-top: 1px solid var(--line);
  background: #fff;
}

.core-model-method summary {
  padding: 9px 13px;
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.core-model-method p {
  margin: 0;
  padding: 0 13px 12px;
  color: #465466;
  font-size: 11px;
  line-height: 1.55;
}

.stock-pool-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(220px, 1fr) minmax(220px, 1.2fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.stock-pool-toolbar label {
  position: relative;
  min-width: 0;
}

.stock-pool-toolbar label > span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.stock-pool-toolbar input,
.stock-pool-toolbar select {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  border: 1px solid #cbd4dd;
  border-radius: 6px;
  background: #fff;
  color: var(--text);
  font: inherit;
}

.stock-pool-toolbar > button {
  height: 40px;
  padding: 0 15px;
  border: 0;
  border-radius: 6px;
  background: var(--blue);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.stock-pool-toolbar > button:disabled {
  cursor: wait;
  opacity: .55;
}

.stock-pool-toolbar > p {
  grid-column: 1 / -1;
  min-height: 18px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.stock-pool-toolbar > p.success { color: var(--green); }
.stock-pool-toolbar > p.error { color: var(--red); }

.user-pool-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.user-pool-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--amber);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}

.user-pool-item span,
.user-pool-item strong,
.user-pool-item small,
.user-pool-item p {
  display: block;
  overflow-wrap: anywhere;
}

.user-pool-item span,
.user-pool-item p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.user-pool-item strong {
  margin: 5px 0;
  font-size: 15px;
}

.user-pool-item strong small {
  display: inline;
  font-weight: 500;
}

.user-pool-item-meta {
  flex: 0 0 auto;
  text-align: right;
}

.user-pool-item .remove-stock {
  position: static;
  width: auto;
  height: 30px;
  margin-top: 7px;
  padding: 0 10px;
  border: 1px solid #cbd4dd;
  border-radius: 6px;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  line-height: 28px;
}

.user-pool-item .remove-stock:hover {
  border-color: var(--red);
  color: var(--red);
}

.user-pool-empty {
  grid-column: 1 / -1;
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: #f8fafc;
  text-align: center;
}

.user-pool-empty strong,
.user-pool-empty span { display: block; }

.user-pool-empty span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}

.stock-search-results {
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  max-height: 280px;
  overflow: auto;
  border: 1px solid #cbd4dd;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(20, 34, 46, .16);
}

.stock-search-results button {
  display: block;
  width: 100%;
  padding: 9px 10px;
  border: 0;
  border-bottom: 1px solid #edf1f4;
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.stock-search-results button:hover { background: #f3f7fa; }
.stock-search-results strong,
.stock-search-results span { display: block; }
.stock-search-results span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.stock-search-results p { margin: 0; padding: 12px; color: var(--muted); font-size: 12px; }

.event-target-empty {
  min-height: 118px;
  display: grid;
  place-items: center;
  gap: 8px;
  padding: 20px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, .58);
  text-align: center;
}

.event-target-empty strong { font-size: 17px; }
.event-target-empty span { color: var(--muted); font-size: 12px; line-height: 1.5; }

.event-target-card {
  padding: 15px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--red);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.event-target-card span,
.event-target-card small { display: block; color: var(--muted); font-size: 12px; }
.event-target-card strong { display: block; margin: 6px 0; font-size: 17px; }

.event-decision-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.event-decision-title { min-width: 0; }
.event-decision-title > span { font-size: 11px; font-weight: 800; }
.event-decision-title > strong { margin: 4px 0; font-size: 20px; }
.event-decision-title > small { max-width: 760px; line-height: 1.45; }

.event-stage-track {
  margin: 16px 0 12px;
  padding: 0 8px;
}

.event-decision-strip {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(200px, .8fr) minmax(300px, 1.4fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.event-key-state,
.event-risk-summary,
.event-mainline-link {
  min-width: 0;
  padding: 11px 12px;
  border-right: 1px solid var(--line);
}

.event-mainline-link { border-right: 0; border-left: 4px solid #aeb9c2; }
.event-mainline-link.strong { border-left-color: var(--red); background: #fff8f6; }
.event-mainline-link.aligned { border-left-color: var(--blue); background: var(--blue-soft); }
.event-mainline-link.tracking { border-left-color: var(--amber); background: #fffaf0; }
.event-mainline-link.shock { border-left-color: var(--red); background: #fff5f3; }
.event-mainline-link.watch { border-left-color: var(--amber); background: #fffaf0; }
.event-mainline-link.neutral { border-left-color: #aeb9c2; background: #f7f9fb; }
.event-key-state span,
.event-risk-summary span,
.event-mainline-link > span { font-size: 10px; font-weight: 800; }
.event-key-state strong,
.event-risk-summary strong,
.event-mainline-link > strong { margin: 5px 0; font-size: 14px; line-height: 1.35; }
.event-key-state small,
.event-risk-summary small,
.event-mainline-link small { line-height: 1.45; }

.event-window-line { display: grid; gap: 4px; }
.event-window-line em { color: var(--muted); font-style: normal; }
.event-window-decision {
  display: block;
  color: #475467;
  font-size: 12px;
  font-weight: 850;
}
.event-window-decision.ready { color: #c52921; }
.event-window-decision.wait,
.event-window-decision.waiting { color: #9a6700; }
.event-window-decision.stop,
.event-window-decision.stopped,
.event-window-decision.locked { color: #16835b; }

.event-risk-summary > i {
  display: block;
  height: 5px;
  margin: 7px 0;
  overflow: hidden;
  border-radius: 99px;
  background: #dfe6eb;
}

.event-risk-summary > i em {
  display: block;
  width: var(--risk);
  height: 100%;
  background: var(--blue);
}

.event-risk-summary.medium > i em { background: var(--amber); }
.event-risk-summary.high > i em { background: var(--green); }

.event-mainline-link p {
  margin: 6px 0 0;
  color: #465466;
  font-size: 11px;
  line-height: 1.45;
}

.event-exit-monitor {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1.6fr);
  align-items: center;
  gap: 16px;
  margin-top: 8px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-left: 4px solid #8fa0ad;
  border-radius: 6px;
  background: #f7f9fb;
}

.event-exit-monitor.exit {
  border-left-color: var(--green);
  background: #f3faf6;
}

.event-exit-monitor span {
  font-size: 10px;
  font-weight: 800;
}

.event-exit-monitor strong {
  margin: 3px 0 0;
  font-size: 13px;
}

.event-exit-monitor small {
  line-height: 1.45;
}

.event-family-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.event-family-tags b {
  padding: 3px 6px;
  border: 1px solid rgba(42, 92, 132, .18);
  border-radius: 4px;
  background: rgba(255, 255, 255, .8);
  color: #40566a;
  font-size: 10px;
  font-weight: 750;
}

.event-latest-fact {
  display: grid;
  grid-template-columns: auto minmax(240px, 1fr) minmax(260px, .8fr);
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 9px 11px;
  border-left: 3px solid var(--blue);
  background: var(--blue-soft);
}

.event-latest-fact > span { font-size: 10px; font-weight: 800; }
.event-latest-fact > strong { margin: 0; font-size: 13px; line-height: 1.4; }
.event-latest-fact > small { text-align: right; line-height: 1.4; }

.event-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin-top: 13px;
}

.event-response-workspace,
.event-core-workspace { min-width: 0; }

.event-response-workspace {
  padding: 14px 16px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fbfcfd;
}

.event-response-workspace .stage-response-svg { min-height: 250px; }

.stock-trade-verification {
  margin-top: 12px;
  border: 1px solid #d8e0e7;
  border-radius: 7px;
  background: #fff;
  overflow: clip;
}

.stock-trade-verification-head {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 10px 12px;
  background: #f6f8fa;
  cursor: pointer;
  list-style: none;
}

.stock-trade-verification-head::-webkit-details-marker { display: none; }

.stock-trade-verification[open] > .stock-trade-verification-head {
  border-bottom: 1px solid #dfe5ea;
  background: #f3f6f8;
}

.stock-trade-summary-title span,
.stock-trade-summary-title strong,
.stock-trade-summary-title small {
  display: block;
}

.stock-trade-summary-title > span {
  color: #687783;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.stock-trade-summary-title strong {
  margin-top: 2px;
  color: #17252f;
  font-size: 13px;
}

.stock-trade-summary-title small {
  margin-top: 3px;
  color: #6c7983;
  font-size: 9px;
}

.stock-trade-summary-metrics {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-end;
  border: 1px solid #dfe5ea;
  border-radius: 5px;
  background: #fff;
}

.stock-trade-summary-metrics > span {
  min-width: 68px;
  padding: 6px 9px;
  border-right: 1px solid #e5eaee;
  text-align: right;
}

.stock-trade-summary-metrics > span:last-child { border-right: 0; }

.stock-trade-summary-metrics small,
.stock-trade-summary-metrics b {
  display: block;
}

.stock-trade-summary-metrics small {
  color: #75828c;
  font-size: 8px;
}

.stock-trade-summary-metrics b {
  margin-top: 2px;
  color: #24333e;
  font-size: 11px;
}

.stock-trade-summary-metrics .profit b { color: #b3262e; }
.stock-trade-summary-metrics .loss b { color: #14724c; }
.stock-trade-summary-metrics .pending b { color: #687783; }

.stock-trade-disclosure {
  min-width: 84px;
  color: #315a72;
  font-size: 10px;
  font-weight: 800;
  text-align: right;
}

.stock-trade-disclosure::before { content: "展开买卖明细"; }
.stock-trade-verification[open] .stock-trade-disclosure::before { content: "收起买卖明细"; }

.stock-trade-disclosure::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 0 2px 2px 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .18s ease;
}

.stock-trade-verification[open] .stock-trade-disclosure::after {
  margin-bottom: -2px;
  transform: rotate(225deg);
}

.stock-trade-verification-body {
  padding: 0 12px 10px;
}

.stock-trade-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  padding: 9px 0 8px;
  color: #5f6d77;
  font-size: 9px;
}

.stock-trade-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.stock-trade-legend i {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #647682;
  transform: rotate(45deg);
}

.stock-trade-legend i.buy { background: #c12f36; }
.stock-trade-legend i.sell { background: #16734f; }
.stock-trade-legend i.holding { background: #236d9b; }
.stock-trade-legend i.volatility {
  width: 14px;
  height: 2px;
  border-radius: 0;
  background: #38576a;
  transform: none;
}

.stock-trade-verification.empty {
  padding: 12px;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.stock-trade-table {
  border-top: 1px solid #dfe5ea;
}

.stock-trade-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(118px, .6fr) minmax(370px, 3fr) minmax(86px, .48fr);
  align-items: center;
  gap: 7px 12px;
  padding: 10px 8px 9px;
  border-bottom: 1px solid #e3e8ec;
}

.stock-trade-row:nth-child(even) {
  background: #fafbfc;
}

.stock-trade-name,
.stock-trade-result {
  min-width: 0;
}

.stock-trade-name strong,
.stock-trade-name small,
.stock-trade-result strong,
.stock-trade-result small {
  display: block;
}

.stock-trade-name strong {
  overflow: hidden;
  color: #182832;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-trade-name small {
  margin-top: 3px;
  color: #71808b;
  font-size: 9px;
}

.stock-trade-track {
  position: relative;
  min-width: 0;
  height: 122px;
}

.stock-trade-axis,
.stock-trade-duration {
  position: absolute;
  top: 59px;
  height: 3px;
}

.stock-trade-axis {
  right: 0;
  left: 0;
  background: #d5dde3;
}

.stock-trade-duration {
  left: var(--buy);
  width: var(--duration);
  min-width: 3px;
  background: #506d80;
}

.stock-trade-row.trade-exited .stock-trade-duration { background: #367b61; }
.stock-trade-row.trade-active .stock-trade-duration { background: #397ca5; }

.stock-trade-event {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 112px;
  padding: 4px 6px;
  border: 1px solid currentColor;
  border-radius: 4px;
  box-shadow: 0 2px 5px rgba(24, 34, 43, .11);
  line-height: 1.1;
  transform: translateX(-50%);
  white-space: nowrap;
}

.stock-trade-event > b {
  padding-right: 6px;
  border-right: 1px solid currentColor;
  font-size: 10px;
  font-weight: 900;
}

.stock-trade-event > span,
.stock-trade-event strong,
.stock-trade-event small {
  display: block;
}

.stock-trade-event strong {
  color: #23333e;
  font-size: 9px;
  font-weight: 800;
}

.stock-trade-event small {
  margin-top: 2px;
  color: #4d5e69;
  font-size: 8px;
  font-weight: 700;
}

.stock-trade-event::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
}

.stock-trade-event.buy {
  bottom: 71px;
  left: var(--buy);
  background: #fff3f3;
  color: #9f2029;
}

.stock-trade-event.buy::after {
  bottom: -8px;
  border-top: 8px solid currentColor;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
}

.stock-trade-event.sell {
  top: 67px;
  left: var(--end);
  background: #f0faf5;
  color: #106441;
}

.stock-trade-event.holding {
  top: 67px;
  left: var(--end);
  background: #eff7fc;
  color: #185f8b;
}

.stock-trade-event.sell::after,
.stock-trade-event.holding::after {
  top: -8px;
  border-right: 6px solid transparent;
  border-bottom: 8px solid currentColor;
  border-left: 6px solid transparent;
}

.stock-trade-event.edge-left { transform: translateX(0); }
.stock-trade-event.edge-left::after { left: 10px; }
.stock-trade-event.edge-right { transform: translateX(-100%); }
.stock-trade-event.edge-right::after { left: calc(100% - 10px); }

.stock-trade-result {
  text-align: right;
}

.stock-trade-result strong {
  font-size: 14px;
}

.stock-trade-row.profit .stock-trade-result strong { color: var(--red); }
.stock-trade-row.loss .stock-trade-result strong { color: var(--green); }
.stock-trade-row.pending .stock-trade-result strong { color: var(--muted); }

.stock-trade-result small {
  width: fit-content;
  margin: 4px 0 0 auto;
  padding: 2px 6px;
  border: 1px solid #d9e1e6;
  border-radius: 4px;
  background: #f6f8f9;
  color: #556671;
  font-size: 8px;
  font-weight: 800;
}

.stock-holding-risk {
  min-width: 0;
  grid-column: 2 / 4;
  display: grid;
  grid-template-columns: minmax(320px, 1.8fr) minmax(270px, 1fr);
  align-items: stretch;
  gap: 10px;
  padding: 8px 0 2px;
  border-top: 1px solid #e8edf0;
}

.holding-path-chart {
  position: relative;
  min-width: 0;
  padding: 5px 6px 2px;
  border-left: 3px solid #718694;
  background: #f7f9fa;
}

.stock-holding-risk.low .holding-path-chart { border-left-color: #4d7c91; }
.stock-holding-risk.moderate .holding-path-chart { border-left-color: #b38a24; }
.stock-holding-risk.elevated .holding-path-chart { border-left-color: #b0662d; }
.stock-holding-risk.high .holding-path-chart { border-left-color: #a43a3f; }

.holding-path-caption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 0 2px 2px;
}

.holding-path-caption span {
  color: #334a58;
  font-size: 9px;
  font-weight: 900;
}

.holding-path-caption small {
  color: #74818a;
  font-size: 8px;
}

.holding-path-chart svg {
  display: block;
  width: 100%;
  height: 66px;
  overflow: visible;
}

.holding-path-zero {
  stroke: #9aa8b1;
  stroke-width: 1;
  stroke-dasharray: 3 4;
  vector-effect: non-scaling-stroke;
}

.holding-path-line {
  fill: none;
  stroke: #38576a;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.holding-path-point {
  stroke: #fff;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.holding-path-point.favorable,
.holding-path-point.endpoint.profit { fill: #bf3036; }
.holding-path-point.adverse,
.holding-path-point.endpoint.loss { fill: #178055; }

.holding-risk-threshold {
  stroke-width: 1;
  stroke-dasharray: 4 4;
  vector-effect: non-scaling-stroke;
}

.holding-risk-threshold.review { stroke: #c17b2f; }
.holding-risk-threshold.boundary { stroke: #178055; }

.holding-path-empty {
  display: grid;
  min-height: 88px;
  place-items: center;
  border-left: 3px solid #95a2aa;
  background: #f7f9fa;
  color: #77848d;
  font-size: 9px;
}

.holding-risk-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #dfe5ea;
  border-left: 1px solid #dfe5ea;
}

.holding-risk-metrics > div {
  min-width: 0;
  padding: 7px 8px;
  border-right: 1px solid #dfe5ea;
  border-bottom: 1px solid #dfe5ea;
  background: #fff;
}

.holding-risk-metrics span,
.holding-risk-metrics b,
.holding-risk-metrics small {
  display: block;
}

.holding-risk-metrics span {
  color: #73808a;
  font-size: 8px;
}

.holding-risk-metrics b {
  margin-top: 3px;
  color: #263943;
  font-size: 11px;
}

.holding-risk-metrics small {
  margin-top: 2px;
  color: #75828b;
  font-size: 8px;
}

.holding-risk-metrics > div:nth-child(2) b,
.holding-risk-metrics > div:nth-child(4) b { color: #14724c; }
.holding-risk-metrics > div:nth-child(3) b { color: #b3262e; }
.stock-holding-risk.high .holding-tranche-reference b { color: #a52b32; }
.stock-holding-risk.elevated .holding-tranche-reference b { color: #a45b23; }

.stock-trade-reason {
  min-width: 0;
  grid-column: 2 / 4;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #53636e;
  font-size: 9px;
  line-height: 1.35;
}

.stock-trade-reason span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-trade-reason small {
  flex: 0 0 auto;
  color: #7c8992;
  font-size: 8px;
}

.event-chart-note {
  margin: 2px 0 0;
  padding-top: 8px;
  border-top: 1px solid #edf1f4;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}
.event-core-workspace {
  padding: 14px 16px 16px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
}
.event-core-workspace .event-candidate-heading { margin-top: 0; padding-top: 0; border-top: 0; }

.event-target-summary p,
.event-target-summary em {
  display: block;
  margin: 8px 0 0;
  color: #465466;
  font-size: 12px;
  font-style: normal;
  line-height: 1.5;
}

.event-target-summary em { color: var(--muted); }

.event-plain-state {
  margin-top: 12px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
}

.event-plain-state span,
.event-plain-state b { display: block; }

.event-plain-state span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.event-plain-state b {
  margin-top: 4px;
  color: var(--text);
  font-size: 13px;
  line-height: 1.45;
}

.event-plain-state.pending b { color: #8a6200; }

.event-candidate-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin: 12px 0 8px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.event-candidate-heading span,
.event-candidate-heading strong,
.event-candidate-heading small { display: block; }

.event-candidate-heading span,
.event-candidate-heading small {
  color: var(--muted);
  font-size: 11px;
}

.event-candidate-heading strong {
  margin-top: 3px;
  font-size: 16px;
}

.event-method-details,
.model-method-details {
  margin-top: 10px;
  border-top: 1px solid var(--line);
}

.event-method-details summary,
.model-method-details summary {
  padding: 10px 0 2px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.event-method-details[open] summary,
.model-method-details[open] summary { margin-bottom: 10px; }

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

.event-decision-states {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 10px;
}

.event-evidence-state {
  min-width: 0;
  min-height: 88px;
  padding: 9px 10px;
  border: 1px solid #dfe6eb;
  border-left: 3px solid var(--amber);
  border-radius: 6px;
  background: #fbfcfd;
}

.event-evidence-state.ready { border-left-color: var(--red); background: #fff8f6; }
.event-evidence-state.blocked { border-left-color: var(--green); background: #f4fbf7; }
.event-evidence-state.research { border-left-color: var(--blue); background: var(--blue-soft); }
.event-evidence-state span,
.event-evidence-state strong,
.event-evidence-state small { display: block; overflow-wrap: anywhere; }
.event-evidence-state span { color: var(--muted); font-size: 11px; font-weight: 750; }
.event-evidence-state strong { margin: 5px 0; font-size: 14px; line-height: 1.35; }
.event-evidence-state small { color: var(--muted); font-size: 11px; line-height: 1.45; }

.event-research-summary {
  display: grid;
  grid-template-columns: auto minmax(180px, .55fr) minmax(280px, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 42px;
  margin: -3px 0 10px;
  padding: 8px 10px;
  border: 1px solid #dfe6eb;
  border-left: 3px solid var(--blue);
  border-radius: 6px;
  background: var(--blue-soft);
}

.event-research-summary.ready { border-left-color: var(--red); background: #fff8f6; }
.event-research-summary span,
.event-research-summary strong,
.event-research-summary small { overflow-wrap: anywhere; }
.event-research-summary span { color: var(--muted); font-size: 11px; font-weight: 750; }
.event-research-summary strong { margin: 0; font-size: 13px; }
.event-research-summary small { color: var(--muted); font-size: 11px; line-height: 1.4; }

.event-target-card.event-target-highlight {
  outline: 3px solid rgba(207, 48, 47, .22);
  outline-offset: 3px;
}

.event-dimensions > div {
  min-width: 0;
  padding: 8px;
  border: 1px solid #e0e6eb;
  border-radius: 6px;
  background: #f8fafc;
}

.event-dimensions span,
.event-dimensions b { display: block; }
.event-dimensions b { margin: 5px 0; font-size: 16px; }
.event-dimensions i {
  display: block;
  width: var(--value);
  height: 4px;
  background: var(--blue);
}

.event-dimensions > div.pending {
  border-style: dashed;
  background: #fffaf0;
}

.event-dimensions > div.pending b,
.event-blocker { color: #9a6700; }

.event-dimension-detail {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e0e6eb;
  border-left: 3px solid var(--blue);
  border-radius: 6px;
  background: #f8fafc;
}

.event-dimension-detail.pending {
  border-left-color: var(--amber);
  border-style: solid;
  background: #fffaf0;
}

.event-dimension-detail summary {
  display: grid;
  gap: 4px;
  min-height: 62px;
  padding: 9px;
  list-style: none;
  cursor: pointer;
}

.event-dimension-detail summary span,
.event-dimension-detail summary b { display: block; overflow-wrap: anywhere; }
.event-dimension-detail summary span { color: var(--muted); font-size: 10px; }
.event-dimension-detail summary b { font-size: 13px; line-height: 1.35; }
.event-dimension-detail.pending summary b { color: #9a6700; }
.event-dimension-detail summary::after { content: "查看依据 +"; color: var(--blue); font-size: 10px; font-weight: 750; }
.event-dimension-detail[open] summary::after { content: "收起依据 -"; }

.event-dimension-meter {
  height: 4px;
  margin: 0 9px 8px;
  overflow: hidden;
  background: #e2e8ef;
}

.event-dimension-meter i { display: block; width: var(--value); height: 100%; background: var(--blue); }
.event-dimension-detail.pending .event-dimension-meter i { background: var(--amber); }

.evidence-inspector { min-width: 0; margin-bottom: 11px; }
.evidence-inspector-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.evidence-gate-button {
  min-width: 0;
  min-height: 86px;
  display: grid;
  align-content: start;
  gap: 5px;
  padding: 9px 10px;
  border: 1px solid #dfe6eb;
  border-left: 3px solid var(--blue);
  border-radius: 6px;
  background: #f8fafc;
  color: var(--text);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.evidence-gate-button.pending { border-left-color: var(--amber); background: #fffaf0; }
.evidence-gate-button.active {
  border-color: var(--blue);
  border-left-color: var(--red);
  background: var(--blue-soft);
  box-shadow: 0 0 0 2px rgba(24, 99, 157, .08);
}
.evidence-gate-button span,
.evidence-gate-button b,
.evidence-gate-button small { display: block; min-width: 0; overflow-wrap: anywhere; }
.evidence-gate-button span { color: var(--muted); font-size: 10px; }
.evidence-gate-button b { font-size: 13px; line-height: 1.35; }
.evidence-gate-button.pending b { color: #9a6700; }
.evidence-gate-button small { color: var(--blue); font-size: 10px; font-weight: 750; }
.evidence-gate-button > i {
  display: block;
  width: 100%;
  height: 4px;
  overflow: hidden;
  background: #e2e8ef;
  font-style: normal;
}
.evidence-gate-button > i > em { display: block; width: var(--value); height: 100%; background: var(--blue); }
.evidence-gate-button.pending > i > em { background: var(--amber); }
.evidence-gate-panel {
  margin-top: 8px;
  padding: 11px 12px 12px;
  border: 1px solid #cfd9e1;
  border-left: 4px solid var(--blue);
  border-radius: 6px;
  background: #fff;
}
.evidence-gate-panel[hidden] { display: none; }
.evidence-gate-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 9px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}
.evidence-gate-panel > header span,
.evidence-gate-panel > header strong,
.evidence-gate-panel > header small { display: block; overflow-wrap: anywhere; }
.evidence-gate-panel > header span { color: var(--muted); font-size: 10px; }
.evidence-gate-panel > header strong { margin-top: 3px; font-size: 14px; }
.evidence-gate-panel > header small { max-width: 55%; color: var(--muted); font-size: 10px; line-height: 1.45; text-align: right; }
.evidence-gate-panel-grid {
  display: grid;
  grid-template-columns: minmax(230px, .7fr) minmax(0, 1.3fr);
  gap: 12px;
}
.evidence-gate-panel-grid > .compact-evidence-list { padding: 0; border: 0; }
.gate-event-evidence { min-width: 0; padding-left: 12px; border-left: 1px solid var(--line); }
.gate-event-evidence > strong { display: block; margin-bottom: 7px; font-size: 12px; }

.event-target-summary .event-blocker {
  padding: 7px 8px;
  border-left: 3px solid var(--amber);
  background: #fffaf0;
}

.event-stock-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.event-stock-list > span {
  position: relative;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.event-stock-list > span > em {
  display: block;
  margin-bottom: 5px;
  color: var(--blue);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}

.event-stock-list b,
.event-stock-list small { display: block; overflow-wrap: anywhere; }
.event-stock-list b { color: var(--text); font-size: 13px; }
.event-stock-list small { margin-top: 5px; }

.event-stock-list b small {
  display: inline;
  margin: 0 0 0 4px;
  font-weight: 500;
}

.event-stock-list .stock-slot {
  border-style: dashed;
  background: #fbfcfd;
}

.event-stock-list > .stock-slot {
  min-width: 0;
  padding: 12px;
  border: 1px dashed var(--line);
  border-radius: 7px;
}

.candidate-admission-note {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding: 8px 10px;
  border-left: 3px solid var(--amber);
  background: #fffaf0;
}
.candidate-admission-note strong { color: #9a6700; font-size: 11px; }
.candidate-admission-note span { color: #5b6670; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }

.event-stock-candidate {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-top: 3px solid var(--blue);
  border-radius: 7px;
  background: #f8fafc;
}

.event-stock-candidate[open] {
  grid-column: 1 / -1;
  background: #fff;
  box-shadow: 0 8px 22px rgba(39, 55, 68, .08);
}

.event-stock-candidate.core-continuing-candidate {
  border-left: 3px solid #8da4b6;
  background: #f5f8fa;
}

.event-stock-candidate.core-continuing-candidate summary > em {
  color: #5f7383;
}

.event-stock-candidate summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 66px;
  padding: 9px 10px;
  list-style: none;
  cursor: pointer;
}

.event-stock-candidate summary > em {
  color: var(--blue);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.candidate-summary-copy,
.candidate-summary-copy b,
.candidate-summary-copy small { display: block; min-width: 0; overflow-wrap: anywhere; }
.candidate-summary-copy b { color: var(--text); font-size: 13px; }
.candidate-summary-copy b small { display: inline; margin: 0 0 0 4px; font-weight: 500; }
.candidate-summary-copy > small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.candidate-disclosure { color: var(--blue); font-size: 10px; font-weight: 750; white-space: nowrap; }
.event-stock-candidate[open] .candidate-disclosure { font-size: 0; }
.event-stock-candidate[open] .candidate-disclosure::after { content: "收起依据"; font-size: 10px; }

.candidate-evidence-body { padding: 0 12px 12px; border-top: 1px solid var(--line); }
.candidate-score-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 10px;
}

.candidate-score-strip > div {
  min-width: 0;
  padding: 9px 10px;
  border-left: 3px solid var(--blue);
  background: var(--blue-soft);
}
.candidate-score-strip span,
.candidate-score-strip b { display: block; overflow-wrap: anywhere; }
.candidate-score-strip span { color: var(--muted); font-size: 10px; }
.candidate-score-strip b { margin-top: 4px; font-size: 17px; }

.candidate-factor-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0 7px;
}
.candidate-factor-heading strong { font-size: 13px; }
.candidate-factor-heading small { color: var(--muted); font-size: 10px; text-align: right; }
.candidate-factor-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.candidate-factor-row {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #e2e8ed;
  border-left: 3px solid var(--blue);
  border-radius: 5px;
  background: #fbfcfd;
}
.candidate-factor-row.research { border-left-color: var(--amber); background: #fffaf0; }
.candidate-factor-row.blocked { border-left-color: var(--green); background: #f4fbf7; }
.candidate-factor-row span,
.candidate-factor-row b,
.candidate-factor-row small { display: block; overflow-wrap: anywhere; }
.candidate-factor-row span { color: var(--muted); font-size: 10px; }
.candidate-factor-row b { margin: 4px 0; font-size: 13px; }
.candidate-factor-row small { color: var(--muted); font-size: 10px; line-height: 1.4; }

.product-recall-caption {
  grid-column: 1 / -1;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  border-left: 3px solid var(--blue);
  background: var(--blue-soft);
}

.product-recall-caption b {
  flex: 0 0 auto;
  color: var(--blue);
  font-size: 13px;
}

.product-recall-caption small {
  margin: 0;
  text-align: right;
}

.qwen-core-mapping-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-column: 1 / -1;
  gap: 8px 14px;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  margin: 12px 0 8px;
  padding: 12px 14px;
  border: 1px solid #b9d8e8;
  border-left: 3px solid #1882a8;
  background: #f5fbfe;
}

.qwen-core-mapping-band > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.qwen-core-mapping-band span {
  color: #4b6674;
  font-size: 11px;
}

.qwen-core-mapping-band b {
  color: #143746;
  font-size: 14px;
}

.qwen-core-mapping-band small {
  color: #58727e;
  line-height: 1.45;
}

.qwen-core-mapping-band p {
  grid-row: 1;
  grid-column: 2;
  margin: 0;
  color: #315664;
  font-size: 11px;
  text-align: right;
}

.qwen-core-mapping-band > em {
  grid-column: 2;
  color: #8a5c10;
  font-size: 10px;
  font-style: normal;
  text-align: right;
}

.qwen-core-mapping-band.empty {
  border-color: #d4dfe4;
  border-left-color: #8ca1aa;
  background: #fafcfd;
}

.event-stock-candidate.qwen-core-candidate {
  border-color: #c8dde7;
  background: #fbfdfe;
}

.event-stock-candidate.qwen-core-candidate summary > em {
  color: #0f6f91;
  background: #e8f5fa;
}

.event-stock-list > .product-recall-candidate {
  border-top: 3px solid var(--blue);
  background: #f7fbff;
}

.product-recall-candidate em {
  display: block;
  color: var(--blue);
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
}

.candidate-market-flag {
  display: inline-block;
  margin-left: 7px;
  padding: 2px 5px;
  border: 1px solid #d7b36c;
  border-radius: 4px;
  background: #fff8e8;
  color: #76520d;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  vertical-align: 1px;
}

.event-stock-candidate.market-excluded-candidate {
  border-left: 3px solid #d0a24a;
  background: #fffdf7;
}

.remove-stock {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #8a98a4;
  font-size: 20px;
  line-height: 24px;
  cursor: pointer;
}

.remove-stock:hover { color: var(--red); }

.prosperity-dimensions {
  display: block;
}

.prosperity-dimension {
  min-height: 112px;
  overflow: hidden;
  padding: 0;
  border-top: 4px solid var(--blue);
}

.prosperity-dimension.pending { border-top-color: var(--amber); }
.prosperity-dimension summary {
  display: grid;
  gap: 5px;
  min-height: 108px;
  padding: 12px 14px;
  list-style: none;
  cursor: pointer;
}
.prosperity-dimension summary > span { font-size: 10px; }
.prosperity-dimension summary > strong { margin: 0; }
.prosperity-dimension summary > b { color: var(--blue); font-size: 20px; }
.prosperity-dimension.pending summary > b { color: #9a6700; }
.prosperity-dimension summary::after { content: "查看证据 +"; color: var(--blue); font-size: 10px; font-weight: 750; }
.prosperity-dimension[open] { grid-column: span 2; }
.prosperity-dimension[open] summary { min-height: 0; }
.prosperity-dimension[open] summary::after { content: "收起证据 -"; }
.prosperity-dimension .factor-track { margin: 0 14px 10px; }

.prosperity-dimension strong,
.stock-factor strong {
  display: block;
  margin: 9px 0 8px;
  font-size: 16px;
  line-height: 1.3;
}

.prosperity-dimension > b {
  display: block;
  margin-bottom: 8px;
  color: var(--blue);
  font-size: 24px;
}

.stock-factor-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, .55fr);
  gap: 18px;
}

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

.stock-factor {
  min-height: 112px;
  padding: 14px;
  border-top: 4px solid var(--blue);
}

.stock-factor.validated { border-top-color: var(--green); }
.stock-factor.unvalidated { border-top-color: var(--amber); }
.stock-factor.unvalidated .factor-track i { background: var(--amber); }

.factor-track {
  height: 7px;
  overflow: hidden;
  border-radius: 99px;
  background: #e2e8ef;
}

.factor-track i {
  display: block;
  width: var(--value);
  height: 100%;
  border-radius: inherit;
  background: var(--blue);
}

.selection-boundary {
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(22, 135, 90, .28);
  border-left: 4px solid var(--green);
  border-radius: 8px;
  background: #f4fbf7;
  box-shadow: var(--shadow);
}

.selection-boundary span,
.selection-boundary small {
  display: block;
  color: #47705f;
  font-size: 12px;
}

.selection-boundary strong {
  display: block;
  margin: 8px 0 12px;
  font-size: 17px;
}

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

.model-scorecard {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid rgba(42, 92, 132, .18);
  border-top: 3px solid var(--blue);
  border-radius: 6px;
  background: rgba(255, 255, 255, .78);
}

.model-scorecard.timing { border-top-color: var(--amber); }

.model-scorecard b {
  display: block;
  margin: 5px 0 4px;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.15;
}

.selection-boundary p {
  margin: 9px 0 0;
  color: #36584a;
  font-size: 13px;
  line-height: 1.55;
}

.stock-evaluation-grid {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.stock-evaluation-empty {
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.stock-evaluation-empty strong,
.stock-evaluation-empty span { display: block; }
.stock-evaluation-empty span { margin-top: 6px; color: var(--muted); font-size: 13px; }

.stock-evaluation-card {
  padding: 16px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}

.stock-evaluation-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.stock-evaluation-card header span,
.stock-evaluation-card header p,
.stock-evaluation-card header small { color: var(--muted); font-size: 12px; }
.stock-evaluation-card header strong { display: block; margin-top: 6px; font-size: 18px; }
.stock-evaluation-card header strong small { font-weight: 500; }
.stock-evaluation-card header p { margin: 5px 0 0; }

.stock-evaluation-state {
  min-width: 170px;
  padding-left: 14px;
  border-left: 3px solid var(--amber);
  text-align: right;
}

.stock-evaluation-state.ready { border-left-color: var(--green); }
.stock-evaluation-state.evidence { border-left-color: var(--amber); }
.stock-evaluation-state b,
.stock-evaluation-state small { display: block; }
.stock-evaluation-state.locked b { color: #9a6700; }
.stock-evaluation-state.evidence b { color: #9a6700; }
.stock-evaluation-state.ready b { color: var(--green); }

.stock-evaluation-factors {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 14px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.stock-evaluation-factor {
  min-width: 0;
  min-height: 88px;
  padding: 12px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.stock-evaluation-factor span,
.stock-evaluation-factor b,
.stock-evaluation-factor small { display: block; }
.stock-evaluation-factor span { color: var(--muted); font-size: 12px; }
.stock-evaluation-factor b { margin: 6px 0; font-size: 16px; }
.stock-evaluation-factor small { color: var(--muted); font-size: 12px; line-height: 1.45; }
.stock-evaluation-factor.ready b { color: var(--green); }
.stock-evaluation-factor.missing { background: #fbfcfd; }
.stock-evaluation-factor.missing b { color: #9a6700; }
.stock-evaluation-factor.research { background: var(--blue-soft); }
.stock-evaluation-factor.research b { color: var(--blue); }

.research-factor-note {
  display: inline-block;
  margin: 8px 0;
  color: var(--blue);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}

.stock-evaluation-card > footer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
}

.stock-evaluation-card > footer > div {
  min-width: 0;
}

.stock-evaluation-card > footer span {
  display: block;
  overflow-wrap: anywhere;
  line-height: 1.5;
}

.stock-report-evidence {
  margin-top: 4px;
  color: #36584a;
}

.evaluation-remove {
  position: static;
  width: auto;
  height: auto;
  color: var(--muted);
  font-size: 12px;
  line-height: 1;
}

@media (max-width: 1120px) {
  .selection-shell .nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .selection-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .signal-pipeline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .context-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stock-factor-layout { grid-template-columns: 1fr; }
  .event-stock-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stock-pool-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stock-pool-toolbar > button { width: 100%; }
  .information-alert-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .discovery-summary { grid-template-columns: 132px minmax(220px, 1.4fr) minmax(190px, 1fr) 44px; }
  .user-pool-list { grid-template-columns: 1fr; }
  .stage-analysis-grid { grid-template-columns: 1fr; }
  .early-participation-band { grid-template-columns: 1fr; }
  .early-participation-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .early-participation-metrics > div:nth-child(odd) { border-left: 0; }
  .early-participation-metrics > div:nth-child(n + 3) { margin-top: 9px; padding-top: 9px; border-top: 1px solid #d8e0e7; }
  .stage-risk-panel { padding: 13px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .event-workspace-grid { grid-template-columns: 1fr; }
  .event-response-workspace { padding: 13px; }
  .stock-trade-row { grid-template-columns: minmax(96px, .5fr) minmax(300px, 2.5fr) minmax(72px, .4fr); }
  .production-brief-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-brief-grid > div:nth-child(2) { border-right: 0; }
  .production-brief-grid > div:nth-child(-n + 2) { border-bottom: 1px solid #e4e7ec; }
  .profitability-scorecard { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .profitability-scorecard > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .selection-shell .nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .selection-section-head { align-items: flex-start; flex-direction: column; }
  .selection-section-head > strong { text-align: left; }
  .selection-hero,
  .next-action-panel,
  .context-metrics,
  .signal-pipeline,
  .concept-guide,
  .prosperity-dimensions,
  .stock-factor-grid,
  .model-scorecards,
  .core-model-summary,
  .parallel-scorecards,
  .event-decision-strip,
  .event-latest-fact {
    grid-template-columns: 1fr;
  }
  .production-brief-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .production-brief-head small { text-align: left; }
  .production-brief-grid { grid-template-columns: 1fr; }
  .production-brief-grid > div {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid #e4e7ec;
  }
  .production-brief-grid > div:last-child { border-bottom: 0; }
  .production-company-funnel {
    align-items: stretch;
    flex-direction: column;
  }
  .production-company-funnel i { display: none; }
  .production-company-funnel > div { justify-content: space-between; }
  .profitability-scorecard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profitability-scorecard > div:first-child { grid-column: 1 / -1; }
  .profitability-scorecard > div { min-height: 62px; border-bottom: 1px solid #e4e7ec; }
  .production-model-scorecards { grid-template-columns: 1fr; }
  .production-model-scorecards article { border-right: 0; border-bottom: 1px solid #e4e7ec; }
  .production-model-scorecards article:last-child { border-bottom: 0; }
  .core-model-metric { border-right: 0; border-bottom: 1px solid var(--line); }
  .core-model-metric:nth-child(3) { border-bottom: 0; }
  .event-key-state,
  .event-risk-summary { border-right: 0; border-bottom: 1px solid var(--line); }
  .event-mainline-link { border-right: 0; }
  .event-exit-monitor { grid-template-columns: 1fr; gap: 4px; }
  .event-latest-fact { align-items: start; }
  .event-latest-fact > small { text-align: left; }
  .stock-trade-verification-head {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 10px;
    padding: 10px;
  }
  .stock-trade-summary-title { min-width: 0; }
  .stock-trade-summary-metrics {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
  }
  .stock-trade-summary-metrics > span {
    min-width: 0;
    flex: 1 1 0;
    text-align: left;
  }
  .stock-trade-disclosure {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }
  .stock-trade-verification-body { padding: 0 9px 8px; }
  .stock-trade-legend { gap: 6px 12px; }
  .stock-trade-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 10px;
    padding: 11px 4px 10px;
  }
  .stock-trade-name { grid-column: 1; grid-row: 1; }
  .stock-trade-result { grid-column: 2; grid-row: 1; }
  .stock-trade-track { grid-column: 1 / -1; grid-row: 2; }
  .stock-holding-risk {
    grid-column: 1 / -1;
    grid-row: 3;
    grid-template-columns: 1fr;
  }
  .holding-risk-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stock-trade-reason { grid-column: 1 / -1; grid-row: 4; display: block; }
  .stock-trade-reason span { display: block; white-space: normal; }
  .stock-trade-reason small { display: none; }
  .stage-subhead {
    width: 100%;
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
  .stage-subhead > div:first-child {
    min-width: 0;
    width: 100%;
  }
  .stage-legend {
    width: 100%;
    flex-wrap: wrap;
    gap: 5px 10px;
    white-space: normal;
  }
  .event-decision-head { flex-direction: column; }
  .event-target-card,
  .event-stock-list,
  .stock-pool-toolbar,
  .event-dimensions,
  .stock-evaluation-factors { grid-template-columns: 1fr; }
  .stock-evaluation-card > header { flex-direction: column; }
  .product-recall-caption { align-items: flex-start; flex-direction: column; }
  .product-recall-caption small { text-align: left; }
  .qwen-core-mapping-band { grid-template-columns: 1fr; }
  .qwen-core-mapping-band p,
  .qwen-core-mapping-band > em {
    grid-column: 1;
    text-align: left;
  }
  .stock-evaluation-state { min-width: 0; width: 100%; text-align: left; }
  .information-monitor { align-items: flex-start; flex-direction: column; }
  .information-monitor-actions { width: 100%; flex-wrap: wrap; }
  .information-monitor-actions button { flex: 1 1 120px; }
  .information-alert-list,
  .event-decision-states { grid-template-columns: 1fr; }
  .discovery-note { align-items: flex-start; flex-direction: column; }
  .discovery-brief { grid-template-columns: 1fr; }
  .discovery-brief > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .discovery-brief > div:last-child { border-bottom: 0; }
  .discovery-toolbar { overflow-x: auto; }
  .discovery-toolbar button { flex: 0 0 auto; }
  .discovery-summary {
    grid-template-columns: 112px minmax(0, 1fr) 38px;
    gap: 8px;
    padding: 10px;
  }
  .discovery-route { grid-column: 2; }
  .discovery-toggle { grid-column: 3; grid-row: 1 / 4; }
  .discovery-detail { grid-template-columns: 1fr; }
  .discovery-quality-panel { grid-template-columns: 1fr; }
  .discovery-quality-panel > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .discovery-quality-panel > div:last-child { border-bottom: 0; }
  .discovery-review { padding: 10px 12px; }
  .blind-validation-head { align-items: flex-start; flex-direction: column; gap: 6px; }
  .blind-validation-head small { text-align: left; }
  .blind-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blind-metric { border-bottom: 1px solid var(--line); }
  .blind-case > summary { grid-template-columns: 86px minmax(0, 1fr); }
  .blind-case > summary small { grid-column: 2; text-align: left; }
  .blind-case-body { grid-template-columns: 1fr; }
  .blind-quick-actions { padding: 12px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .blind-result { padding: 12px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .event-candidate-heading { align-items: flex-start; flex-direction: column; }
  .stage-view-note,
  .stage-view-card > header { align-items: flex-start; flex-direction: column; }
  .stage-view-note span { text-align: left; }
  .stage-action { width: 100%; text-align: left; }
  .stage-track {
    overflow: visible;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 10px;
    padding-bottom: 0;
  }
  .stage-track::before,
  .stage-track::after { display: none; }
  .stage-track > div {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 8px;
    padding: 0;
    text-align: left;
  }
  .stage-track i { grid-row: 1 / 3; margin: 0; }
  .stage-track strong { align-self: end; }
  .stage-track small { align-self: start; }
  .stage-risk-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stage-evidence-grid,
  .stage-evidence-body,
  .evidence-gate-panel-grid,
  .candidate-factor-grid,
  .candidate-score-strip { grid-template-columns: 1fr; }
  .stage-event-evidence,
  .gate-event-evidence {
    padding: 12px 0 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }
  .evidence-inspector-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evidence-gate-panel > header {
    align-items: flex-start;
    flex-direction: column;
  }
  .evidence-gate-panel > header small {
    max-width: none;
    text-align: left;
  }
  .candidate-admission-note { grid-template-columns: 1fr; }
  .early-participation-metrics { grid-template-columns: 1fr; }
  .early-participation-metrics > div {
    margin-top: 0;
    padding: 8px 0;
    border-top: 1px solid #d8e0e7;
    border-left: 0;
  }
  .event-evidence-item header,
  .event-evidence-item footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .stage-evidence-panel summary { grid-template-columns: 30px minmax(0, 1fr) auto auto; }
  .event-stock-candidate[open],
  .prosperity-dimension[open] { grid-column: 1; }
  .candidate-factor-heading { align-items: flex-start; flex-direction: column; }
  .candidate-factor-heading small { text-align: left; }
  .compact-evidence-list > div { grid-template-columns: 1fr; }
  .compact-evidence-list small { grid-column: 1; }
}

@media (max-width: 760px) {
  .event-research-summary { grid-template-columns: 1fr; gap: 4px; }
}

@media (max-width: 560px) {
  .stock-selection-page .workspace-header { grid-template-columns: 1fr; }
  .stock-selection-page .workspace-status { display: none; }
}

@media (max-width: 350px) {
  .stage-risk-metrics { grid-template-columns: 1fr; }
}

.core-pool-ledger {
  grid-column: 1 / -1;
  margin-top: 14px;
  border-top: 1px solid var(--line);
}

.core-pool-ledger > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  cursor: pointer;
  list-style: none;
}

.core-pool-ledger > summary::-webkit-details-marker { display: none; }
.core-pool-ledger > summary span { display: grid; gap: 3px; }
.core-pool-ledger > summary strong { font-size: 14px; }
.core-pool-ledger > summary small { color: var(--muted); font-size: 11px; }
.core-pool-ledger > summary b { color: var(--blue); font-size: 12px; }

.core-pool-ledger-body {
  overflow-x: auto;
  padding-bottom: 8px;
}

.core-pool-ledger-policy {
  margin: 0 0 8px;
  padding: 9px 10px;
  border-left: 3px solid var(--blue);
  background: rgba(24, 119, 242, .055);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.core-pool-ledger-head,
.core-pool-ledger-row {
  display: grid;
  grid-template-columns: minmax(110px, 1.1fr) minmax(120px, 1fr) minmax(150px, 1.2fr) minmax(90px, .7fr) minmax(180px, 1.5fr);
  gap: 12px;
  min-width: 760px;
  align-items: center;
}

.core-pool-ledger-head {
  padding: 8px 10px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
  border-bottom: 1px solid var(--line);
}

.core-pool-ledger-row {
  padding: 10px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}

.core-pool-ledger-row.active { background: rgba(24, 119, 242, .045); }
.core-pool-ledger-row strong,
.core-pool-ledger-row span,
.core-pool-ledger-row b { display: grid; gap: 2px; }
.core-pool-ledger-row small { color: var(--muted); font-size: 10px; font-weight: 500; }
.core-pool-ledger-row .positive { color: var(--red); }
.core-pool-ledger-row .negative { color: var(--green); }

@media (max-width: 760px) {
  .core-pool-ledger > summary { align-items: flex-start; flex-direction: column; }
  .core-pool-ledger-body { overflow-x: visible; }
  .core-pool-ledger-head { display: none; }
  .core-pool-ledger-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    min-width: 0;
    margin-bottom: 8px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
  }
  .core-pool-ledger-row > strong,
  .core-pool-ledger-row > span:last-child { grid-column: 1 / -1; }
}

/* 雷达证据过滤透明化（2026-08-04） */
.discovery-evidence-foot {
  margin-top: 8px;
  font-size: 12px;
  color: #8a8f98;
}
.discovery-evidence-hidden {
  margin-top: 6px;
}
.discovery-evidence-hidden summary {
  cursor: pointer;
  font-size: 12.5px;
  color: #6b7280;
}
.discovery-evidence.muted article {
  opacity: .72;
}

/* 窄屏适配补充（2026-08-04）：雷达卡片 */
@media (max-width: 900px) {
  .discovery-summary {
    grid-template-columns: 120px minmax(0, 1fr) 44px;
  }
  .discovery-summary .discovery-route { grid-column: 2 / 3; }
  .discovery-summary .discovery-toggle { grid-row: 1 / 3; grid-column: 3 / 4; align-self: center; }
}
@media (max-width: 640px) {
  .discovery-summary {
    grid-template-columns: minmax(0, 1fr) 40px;
    gap: 8px;
  }
  .discovery-summary .discovery-state { grid-column: 1 / 2; }
  .discovery-summary .discovery-title { grid-column: 1 / 2; }
  .discovery-summary .discovery-route { grid-column: 1 / 2; }
  .discovery-summary .discovery-toggle { grid-row: 1 / 2; grid-column: 2 / 3; }
  .discovery-quality-panel { grid-template-columns: 1fr; }
  .discovery-review-actions { flex-wrap: wrap; }
  .discovery-review-actions button { flex: 1 1 46%; }
  #discoveryFilters { overflow-x: auto; }
}

/* 2026-08-05 全局状态条基础样式（581e3b0 遗漏导致"看不见改变"） */
.system-status-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 18px;
  padding: 7px 14px;
  margin: 0 0 10px;
  background: rgba(60, 110, 200, .07);
  border: 1px solid rgba(60, 110, 200, .18);
  border-radius: 10px;
  font-size: 12px;
  color: #475569;
}
.system-status-bar strong { color: #17212b; }
.system-status-bar .system-status-running { color: #2f6fed; font-weight: 800; }
.system-status-bar[hidden] { display: none; }
