:root {
  color-scheme: light;
  --bg: #eeeeee;
  --panel: #ffffff;
  --text: #111827;
  --muted: #667085;
  --line: #e3e8f2;
  --strong: #0f172a;
  --blue: #0f62fe;
  --teal: #0f766e;
  --amber: #d97706;
  --red: #ef4444;
  --green: #16a34a;
  --soft-blue: #edf4ff;
  --soft-teal: #ecfdf5;
  --soft-amber: #fffbeb;
  --soft-red: #fff1f2;
  --shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
  --radius: 8px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0f172a;
  --panel: #162033;
  --text: #e5e7eb;
  --muted: #94a3b8;
  --line: #2a364a;
  --strong: #f8fafc;
  --blue: #60a5fa;
  --teal: #2dd4bf;
  --amber: #fbbf24;
  --red: #f87171;
  --green: #4ade80;
  --soft-blue: #13233c;
  --soft-teal: #123129;
  --soft-amber: #32270e;
  --soft-red: #3a171c;
  --shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

* {
  box-sizing: border-box;
}

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

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
}

button,
input,
select,
textarea {
  font: inherit;
}

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

.sidebar {
  position: sticky;
  top: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto auto;
  height: 100vh;
  background: rgba(255, 255, 255, 0.86);
  color: var(--text);
  padding: 24px 16px 18px;
  border-right: 1px solid var(--line);
  box-shadow: 8px 0 24px rgba(15, 23, 42, 0.03);
}

.brand {
  display: flex;
  align-items: center;
  gap: 9px;
  align-items: flex-start;
  padding: 2px 4px 32px;
}

.brand-mark {
  position: relative;
  width: 24px;
  height: 24px;
  border: 2px solid #111827;
  border-radius: 50%;
}

.brand-mark::before,
.brand-mark span {
  position: absolute;
  inset: 5px;
  border: 2px solid #111827;
  border-radius: 50%;
  content: "";
}

.brand-mark span {
  inset: 9px;
  background: #111827;
}

.brand-title {
  color: #111827;
  font-size: 20px;
  font-weight: 800;
}

.brand-subtitle {
  display: block;
  max-width: 164px;
  margin-top: 10px;
  color: #7a8495;
  font-size: 10px;
  line-height: 1.5;
}

.sidebar-collapse {
  margin-left: auto;
  padding: 0;
  min-width: 22px;
  height: 22px;
  border: 0;
  color: #64748b;
  background: transparent;
  font-size: 13px;
}

.nav-list {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
}

.nav-list a {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 44px;
  color: #1f2937;
  text-decoration: none;
  padding: 10px 13px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  transition: color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

.nav-list a:hover:not(.active) {
  color: #2563eb;
  background: #eff6ff;
}

.nav-list a.active {
  color: #ffffff;
  background: #3182f6;
  box-shadow: 0 8px 18px rgba(49, 130, 246, 0.2);
}

.nav-list a:focus-visible {
  outline: 2px solid #60a5fa;
  outline-offset: 2px;
}

.nav-list a[data-route="mission-panel"].active {
  color: #ffffff;
  background: linear-gradient(180deg, #0f6fff 0%, #0754df 100%);
  box-shadow: 0 8px 20px rgba(15, 98, 254, 0.22);
}

.nav-group-label {
  margin: 20px 6px 8px;
  color: #64748b;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.nav-icon {
  display: grid;
  flex: 0 0 18px;
  place-items: center;
  width: 18px;
  height: 18px;
  color: inherit;
  font-size: 16px;
}

.sidebar-user {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 13px 6px 2px;
  border-top: 1px solid var(--line);
  border-radius: 7px;
  color: var(--text);
  text-decoration: none;
}

.sidebar-user:hover {
  color: var(--blue);
  background: var(--soft-blue);
}

.avatar {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #cbd5e1;
  color: #ffffff;
  font-weight: 700;
}

.sidebar-user strong,
.sidebar-user span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-user strong {
  font-size: 12px;
}

.sidebar-user span {
  color: #64748b;
  font-size: 10px;
}

.user-collapse {
  color: #64748b;
  font-size: 13px;
}

.sidebar-logout {
  justify-self: end;
  width: 30px;
  min-height: 30px;
  margin: 6px 6px 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  background: var(--panel);
  font-size: 17px;
  line-height: 1;
}

.sidebar-logout:hover {
  color: var(--red);
  border-color: var(--red);
  background: var(--soft-red);
}

.theme-control {
  padding: 12px 6px;
  border-top: 1px solid var(--line);
}

.theme-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 34px;
  padding: 6px 8px;
  border-color: var(--line);
  color: var(--text);
  background: var(--panel);
}

.theme-toggle-track {
  position: relative;
  width: 38px;
  height: 20px;
  border-radius: 999px;
  background: #dbe3ef;
}

.theme-toggle-knob {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.22);
  transition: transform 160ms ease;
}

.theme-toggle[aria-pressed="true"] .theme-toggle-track {
  background: var(--blue);
}

.theme-toggle[aria-pressed="true"] .theme-toggle-knob {
  transform: translateX(18px);
}

.theme-toggle-text {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.main {
  min-width: 0;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 80px;
  padding: 18px 32px;
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}

body[data-route="mission-panel"] .topbar {
  display: none;
}

.topbar-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

.global-search {
  position: relative;
  width: min(260px, 30vw);
}

.global-search input {
  height: 38px;
  padding: 8px 12px 8px 38px;
  border-color: var(--line);
  border-radius: 8px;
  background: var(--panel);
  font-size: 12px;
}

.search-symbol {
  position: absolute;
  top: 11px;
  left: 14px;
  width: 13px;
  height: 13px;
  border: 2px solid var(--text);
  border-radius: 50%;
  pointer-events: none;
}

.search-symbol::after {
  position: absolute;
  right: -5px;
  bottom: -3px;
  width: 6px;
  height: 2px;
  background: var(--text);
  content: "";
  transform: rotate(45deg);
  transform-origin: left center;
}

.notification-button {
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--text);
}

.notification-button:hover {
  border-color: var(--line);
  background: var(--soft-blue);
}

.notification-bell {
  position: relative;
  width: 15px;
  height: 16px;
  border: 2px solid currentColor;
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
  border-bottom: 0;
}

.notification-bell::before {
  position: absolute;
  right: -4px;
  bottom: -3px;
  left: -4px;
  height: 5px;
  border: 2px solid currentColor;
  border-top: 0;
  border-radius: 0 0 8px 8px;
  content: "";
}

.notification-bell::after {
  position: absolute;
  bottom: -7px;
  left: 4px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

.notification-dot {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 7px;
  height: 7px;
  border: 2px solid var(--panel);
  border-radius: 50%;
  background: #ef4444;
}

body[data-module-route="overview"] .topbar-meta,
body[data-module-route="overview"] .status-chip,
body[data-module-route="overview"] .theme-control,
body[data-module-route="overview"] .sidebar-user {
  display: none;
}

body[data-module-route="overview"] .workspace {
  padding: 28px 32px 24px;
}

.auth-layout {
  display: grid;
  place-items: center;
  min-height: calc(100vh - 140px);
}

.auth-panel {
  width: min(420px, 100%);
}

.login-page {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, 0.65fr);
  gap: 16px;
  align-items: stretch;
  min-height: calc(100vh - 156px);
}

.login-hero-panel {
  display: grid;
  align-items: center;
  min-height: 520px;
  background: linear-gradient(135deg, var(--panel) 0%, #f8fbff 62%, var(--soft-blue) 100%);
}

.login-hero-panel h2 {
  margin-bottom: 10px;
  font-size: 44px;
  line-height: 1.05;
}

.login-lead {
  margin: 0;
  color: var(--strong);
  font-size: 19px;
  font-weight: 700;
}

.login-copy {
  max-width: 620px;
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.login-module-preview {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 28px;
}

.login-module-preview div {
  display: flex;
  align-items: center;
  min-height: 86px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
}

.login-module-preview span {
  display: block;
}

.login-module-preview span {
  margin-top: 0;
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

.login-card {
  align-self: center;
}

.login-form {
  gap: 12px;
}

.login-note {
  margin-top: 12px;
}

.page-module-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.34fr);
  gap: 16px;
  align-items: stretch;
  margin-bottom: 16px;
  background: linear-gradient(135deg, var(--panel) 0%, var(--panel) 58%, var(--soft-blue) 100%);
}

.page-module-header h2 {
  margin-bottom: 8px;
  font-size: 26px;
}

.page-module-header p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.page-focus-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.page-focus-list span {
  padding: 6px 8px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  color: #1d4ed8;
  background: var(--soft-blue);
  font-size: 12px;
  font-weight: 700;
}

.page-route-card {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.page-route-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.page-route-card strong,
.page-route-card a {
  color: var(--strong);
  font-size: 14px;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.page-route-card a {
  color: var(--blue);
}

.page-module-content {
  display: grid;
  gap: 16px;
}

h1 {
  margin: 0;
  color: var(--strong);
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: 0;
}

h2 {
  margin: 0 0 12px;
  color: var(--strong);
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: 0;
}

h3 {
  margin: 0 0 8px;
  color: var(--strong);
  font-size: 15px;
  line-height: 1.3;
  letter-spacing: 0;
}

.topbar-meta {
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
}

.status-chip,
.pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 4px 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.status-chip.ok {
  color: var(--green);
  background: var(--soft-teal);
  border-color: #bbf7d0;
}

.status-chip.fail {
  color: var(--red);
  background: #fef2f2;
  border-color: #fecaca;
}

.workspace {
  padding: 16px 22px 20px;
}

.workspace.route-loading {
  cursor: progress;
}

.route-loading-state {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.route-loading-state span,
.route-loading-state div {
  display: block;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  animation: route-skeleton-pulse 700ms ease-in-out infinite alternate;
}

.route-loading-state span {
  height: 92px;
}

.route-loading-state div {
  height: 260px;
}

@keyframes route-skeleton-pulse {
  from { opacity: 0.58; }
  to { opacity: 0.9; }
}

.workspace.route-loading::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  z-index: 30;
  width: 30vw;
  min-width: 120px;
  height: 3px;
  background: #3182f6;
  animation: route-loading-progress 900ms ease-in-out infinite;
}

@keyframes route-loading-progress {
  from { transform: translateX(-110%); }
  to { transform: translateX(440%); }
}

@media (prefers-reduced-motion: reduce) {
  .workspace.route-loading::before {
    width: 100%;
    animation: none;
  }

  .route-loading-state span,
  .route-loading-state div {
    animation: none;
  }
}

@media (max-width: 900px) {
  .route-loading-state {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .route-loading-state {
    grid-template-columns: 1fr;
  }
}

.home-dashboard {
  display: grid;
  gap: 18px;
  max-width: 1320px;
  margin: 0 auto;
}

.home-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
  overflow: hidden;
}

.home-stat-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  min-height: 126px;
  padding: 20px 18px;
  border-right: 1px solid var(--line);
}

.home-stat-card:last-child {
  border-right: 0;
}

.home-stat-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #3182f6;
  background: #eaf3ff;
  font-size: 23px;
  font-weight: 800;
}

.home-stat-card.green .home-stat-icon {
  color: #24a865;
  background: #e5f7ed;
}

.home-stat-card.coral .home-stat-icon {
  color: #ef6a4c;
  background: #fff0eb;
}

.home-stat-card.violet .home-stat-icon {
  color: #7c5ce5;
  background: #f0ebff;
}

.home-stat-card.amber .home-stat-icon {
  color: #e7a322;
  background: #fff5df;
}

.home-stat-card div,
.home-stat-card span,
.home-stat-card strong,
.home-stat-card small {
  display: block;
  min-width: 0;
}

.home-stat-card div > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.home-stat-card strong {
  margin-top: 5px;
  color: var(--strong);
  font-size: 24px;
  line-height: 1.1;
}

.home-stat-card small {
  margin-top: 7px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.home-primary-grid,
.home-secondary-grid {
  display: grid;
  gap: 18px;
  align-items: stretch;
}

.home-primary-grid {
  grid-template-columns: minmax(360px, 1.45fr) minmax(250px, 0.88fr) minmax(300px, 1fr);
}

.home-secondary-grid {
  grid-template-columns: minmax(290px, 0.95fr) minmax(360px, 1.25fr) minmax(280px, 0.95fr);
}

.home-card {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.home-card-heading {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-height: 26px;
  margin-bottom: 18px;
}

.home-card-heading h2 {
  margin: 0;
  font-size: 15px;
}

.home-card-heading > span {
  color: var(--muted);
  font-size: 10px;
  white-space: nowrap;
}

.world-map-card,
.recent-events-card,
.trend-card {
  min-height: 360px;
}

.world-map-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.world-map-visual {
  position: relative;
  align-self: center;
  width: 100%;
  min-height: 230px;
  background: url("/static/world-map.png") center / contain no-repeat;
}

.map-marker {
  position: absolute;
  width: 9px;
  height: 9px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #3182f6;
  box-shadow: 0 0 0 5px rgba(49, 130, 246, 0.14);
}

.marker-americas { top: 37%; left: 23%; }
.marker-europe { top: 31%; left: 50%; }
.marker-asia { top: 39%; left: 72%; }
.marker-africa { top: 58%; left: 52%; }

.home-link-button,
.home-text-link {
  width: max-content;
  min-height: 32px;
  padding: 6px 13px;
  border: 1px solid #7fb1ff;
  border-radius: 6px;
  color: #3182f6;
  background: transparent;
  font-size: 11px;
}

.home-link-button.full {
  width: 100%;
}

.home-text-link {
  padding: 5px 0;
  border: 0;
  font-weight: 700;
}

.recent-events-card,
.latest-reports-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.home-list {
  display: grid;
  align-content: start;
}

.home-list-row {
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr) max-content;
  gap: 8px;
  align-items: center;
  min-height: 43px;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 74%, transparent);
}

.home-list-row:last-child {
  border-bottom: 0;
}

.home-list-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #3182f6;
}

.home-list-label {
  overflow: hidden;
  color: var(--text);
  font-size: 11px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-list-row time {
  color: var(--muted);
  font-size: 10px;
}

.home-empty {
  display: grid;
  place-items: center;
  min-height: 150px;
  color: var(--muted);
  font-size: 12px;
}

.trend-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.trend-chart {
  position: relative;
  display: grid;
  align-content: center;
  min-height: 234px;
  padding: 12px 0 24px 30px;
}

.trend-chart svg {
  width: 100%;
  height: 172px;
  overflow: visible;
}

.trend-chart line {
  stroke: var(--line);
  stroke-width: 1;
}

.trend-chart path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
}

.trend-primary {
  stroke: #3182f6;
}

.trend-secondary {
  stroke: #35b979;
}

.axis-label {
  position: absolute;
  left: 0;
  color: var(--muted);
  font-size: 9px;
}

.axis-100 { top: 20px; }
.axis-50 { top: 50%; transform: translateY(-50%); }
.axis-0 { bottom: 30px; }

.trend-labels {
  display: flex;
  justify-content: space-between;
  min-height: 16px;
  color: var(--muted);
  font-size: 8px;
}

.trend-legend {
  display: flex;
  gap: 20px;
  justify-content: center;
  color: var(--muted);
  font-size: 10px;
}

.trend-legend span::before {
  display: inline-block;
  width: 10px;
  height: 3px;
  margin-right: 6px;
  border-radius: 2px;
  background: #3182f6;
  content: "";
  vertical-align: middle;
}

.trend-legend .secondary::before {
  background: #35b979;
}

.distribution-card,
.simulation-card,
.latest-reports-card {
  min-height: 294px;
}

.distribution-layout {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  min-height: 205px;
}

.distribution-donut {
  display: grid;
  place-items: center;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: var(--donut-gradient);
}

.distribution-donut::before {
  grid-area: 1 / 1;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: var(--panel);
  content: "";
}

.distribution-donut span {
  z-index: 1;
  grid-area: 1 / 1;
  color: var(--strong);
  font-size: 17px;
  font-weight: 800;
}

.distribution-legend {
  display: grid;
  gap: 10px;
}

.distribution-legend div {
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr) max-content;
  gap: 8px;
  align-items: center;
  font-size: 10px;
}

.distribution-legend i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--legend-color);
}

.distribution-legend span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.distribution-legend strong {
  color: var(--muted);
}

.simulation-card {
  display: grid;
  grid-template-rows: auto auto 1fr;
}

.simulation-total {
  display: flex;
  gap: 10px;
  align-items: baseline;
}

.simulation-total strong {
  font-size: 30px;
}

.simulation-total span {
  color: var(--muted);
  font-size: 10px;
}

.simulation-bars {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
  min-height: 155px;
  padding: 24px 8px 0;
  border-top: 1px solid var(--line);
}

.simulation-bar-item {
  display: grid;
  grid-template-rows: 110px auto;
  gap: 7px;
  align-items: end;
  justify-items: center;
}

.simulation-bar-item > span {
  width: min(24px, 76%);
  height: max(3px, var(--bar-height));
  max-height: 110px;
  border-radius: 5px 5px 2px 2px;
  background: linear-gradient(180deg, #78afff 0%, #a9ccff 100%);
}

.simulation-bar-item small {
  color: var(--muted);
  font-size: 8px;
  white-space: nowrap;
}

.home-footer {
  padding: 18px 16px 4px;
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.grid {
  display: grid;
  gap: 16px;
}

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

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

.span-two {
  grid-column: 1 / -1;
}

.panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px;
  box-shadow: var(--shadow);
}

.panel.tight {
  padding: 12px;
}

.toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 16px;
}

.field {
  display: grid;
  gap: 6px;
}

.field label {
  color: var(--muted);
  font-size: 12px;
}

.config-form {
  display: grid;
  gap: 10px;
}

.check-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
}

.check-row input {
  width: auto;
}

.action-status,
.model-status {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: #ffffff;
  font-size: 13px;
}

.action-status {
  margin: 10px 0 14px;
}

.action-status.ok,
.model-status.ok {
  border-color: #86efac;
  color: #166534;
  background: #f0fdf4;
}

.action-status.fail,
.model-status.fail {
  border-color: #fecaca;
  color: #991b1b;
  background: #fef2f2;
}

.action-status.loading,
.model-status.loading {
  border-color: #bfdbfe;
  color: #1d4ed8;
  background: #eff6ff;
}

.action-status.warn,
.model-status.warn {
  border-color: #fde68a;
  color: #92400e;
  background: #fffbeb;
}

.key-form {
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: end;
}

.span-field {
  grid-column: 1 / -1;
}

.model-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 8px;
  align-items: center;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  color: var(--text);
  background: #ffffff;
}

textarea {
  min-height: 92px;
  resize: vertical;
}

button {
  min-height: 32px;
  border: 1px solid #0f62fe;
  border-radius: 8px;
  padding: 7px 12px;
  color: #ffffff;
  background: var(--blue);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
}

button.secondary {
  color: var(--text);
  border-color: var(--line);
  background: #ffffff;
}

button.danger {
  color: var(--red);
  border-color: #fecaca;
  background: #fff7f7;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

button.is-loading {
  cursor: progress;
  opacity: 0.72;
}

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

.demo-card,
.notice {
  padding: 12px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: var(--soft-blue);
  color: #1e3a8a;
  font-size: 13px;
}

.demo-card {
  margin-bottom: 12px;
}

.demo-card p {
  margin: 0 0 10px;
  line-height: 1.45;
}

.demo-steps,
.legend,
.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.demo-steps span,
.legend-item,
.mini-chip {
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--text);
  font-size: 12px;
}

.legend {
  margin-bottom: 12px;
}

.case-row {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fafbfc;
}

.comparison {
  display: grid;
  grid-template-columns: repeat(4, max-content minmax(0, 1fr));
  gap: 6px 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  background: var(--soft-teal);
  font-size: 12px;
}

.comparison.pending {
  border-color: var(--line);
  background: #ffffff;
}

.comparison span {
  color: var(--muted);
}

.relationship-list,
.reaction-list,
.timeline,
.graph-list {
  display: grid;
  gap: 10px;
}

.player-group {
  display: grid;
  gap: 10px;
}

.group-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.group-grid {
  display: grid;
  gap: 10px;
}

.relationship-card,
.scenario-card,
.timeline-row,
.influence-line,
.admin-card,
.operational-item,
.metadata-block {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fafbfc;
}

.llm-control-plane,
.agent-control-plane,
.source-control-plane {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.4fr);
  gap: 14px;
  align-items: start;
}

.llm-provider-list,
.llm-linked-panel,
.agent-connector-list,
.agent-linked-panel,
.source-list,
.source-linked-panel {
  display: grid;
  gap: 10px;
}

.llm-provider-row,
.agent-connector-row,
.source-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 58px;
  padding: 10px;
  color: var(--text);
  text-align: left;
  border-color: var(--line);
  background: #ffffff;
}

.llm-provider-row.active,
.agent-connector-row.active,
.source-row.active {
  border-color: #93c5fd;
  background: var(--soft-blue);
}

.llm-provider-row strong,
.llm-provider-row small,
.agent-connector-row strong,
.agent-connector-row small,
.source-row strong,
.source-row small {
  display: block;
}

.llm-provider-row small,
.agent-connector-row small,
.source-row small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.compact-admin-card {
  background: #ffffff;
}

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

.compact-form .check-row,
.compact-form .advanced-config {
  grid-column: 1 / -1;
}

.advanced-config {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fafbfc;
}

.advanced-config summary {
  cursor: pointer;
  color: var(--muted);
  font-size: 13px;
}

.advanced-config[open] {
  display: grid;
  gap: 10px;
}

.linked-divider {
  height: 1px;
  background: var(--line);
}

.operational-item.recorded {
  border-color: #fde68a;
  background: var(--soft-amber);
}

.operational-item.validated {
  border-color: #bbf7d0;
  background: var(--soft-teal);
}

.operational-item.error {
  background: #ffffff;
}

.operational-item p {
  margin: 8px 0 10px;
  font-size: 13px;
  line-height: 1.45;
}

.record-row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(120px, 1fr) max-content;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  font-size: 12px;
}

.source-run-row,
.fetched-item {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.source-run-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 6px 0 8px;
  color: var(--muted);
  font-size: 12px;
}

.source-run-meta span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.truncate {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.line-clamp {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.relationship-card p {
  margin: 8px 0 10px;
  color: var(--text);
  font-size: 13px;
  line-height: 1.45;
}

.metric-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.metric-strip span {
  padding: 5px 7px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: var(--soft-blue);
  color: #1d4ed8;
  font-size: 12px;
}

.reaction-row,
.influence-line {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(120px, 180px) minmax(70px, 100px) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  font-size: 13px;
}

.timeline-date {
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 12px;
}

.kv {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
  gap: 8px 12px;
  font-size: 13px;
}

.kv .key {
  color: var(--muted);
}

.section-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.section-list li {
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fafbfc;
  font-size: 13px;
}

.subject-list-page,
.subject-detail-page,
.subject-detail-main,
.subject-detail-side {
  display: grid;
  gap: 16px;
}

.subject-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0;
  overflow: hidden;
}

.subject-summary-item {
  display: grid;
  min-height: 88px;
  align-content: center;
  gap: 7px;
  padding: 16px 20px;
}

.subject-summary-item + .subject-summary-item {
  border-left: 1px solid var(--line);
}

.subject-summary-item span,
.subject-list-heading span,
.subject-panel-heading span,
.subject-profile-meta span,
.subject-state-group header span {
  color: var(--muted);
  font-size: 12px;
}

.subject-summary-item strong {
  color: var(--strong);
  font-size: 23px;
  line-height: 1;
}

.subject-list-panel {
  padding: 0;
  overflow: hidden;
}

.subject-list-heading,
.subject-panel-heading,
.subject-detail-toolbar,
.subject-profile,
.subject-profile-main,
.subject-profile-labels,
.subject-profile-meta {
  display: flex;
  align-items: center;
}

.subject-list-heading {
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 14px;
}

.subject-list-heading h2,
.subject-panel-heading h2,
.subject-profile h2,
.subject-state-group h3 {
  margin: 0;
}

.subject-list-heading h2,
.subject-panel-heading h2 {
  font-size: 16px;
}

.subject-list-heading > div,
.subject-panel-heading > div {
  display: grid;
  gap: 4px;
}

.subject-list-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(150px, 190px) minmax(150px, 190px) max-content;
  gap: 10px;
  padding: 0 20px 16px;
}

.subject-search-field {
  position: relative;
}

.subject-search-field input {
  padding-right: 38px;
}

.subject-icon-button {
  position: absolute;
  top: 50%;
  right: 4px;
  width: 30px;
  min-height: 30px;
  padding: 0;
  color: var(--muted);
  border: 0;
  background: transparent;
  transform: translateY(-50%);
  font-size: 18px;
}

.subject-table-shell {
  overflow-x: auto;
  border-top: 1px solid var(--line);
}

.subject-table {
  width: 100%;
  min-width: 840px;
  border-collapse: collapse;
  table-layout: fixed;
}

.subject-table th,
.subject-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}

.subject-table th {
  color: var(--muted);
  background: #f8fafc;
  font-size: 11px;
  font-weight: 700;
}

.subject-table th:first-child { width: 36%; }
.subject-table th:nth-child(2) { width: 13%; }
.subject-table th:nth-child(3) { width: 16%; }
.subject-table th:nth-child(4) { width: 14%; }
.subject-table th:nth-child(5) { width: 12%; }
.subject-table th:last-child { width: 9%; }

.subject-table tbody tr:last-child td {
  border-bottom: 0;
}

.subject-table tbody tr:hover {
  background: #f8fbff;
}

.subject-name-button {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  width: 100%;
  min-height: 40px;
  align-items: center;
  gap: 10px;
  padding: 0;
  color: var(--text);
  border: 0;
  background: transparent;
  text-align: left;
}

.subject-name-button > span:last-child {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.subject-name-button strong,
.subject-name-button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.subject-name-button strong {
  color: var(--strong);
  font-size: 13px;
}

.subject-name-button small,
.subject-table time,
.subject-coverage small {
  color: var(--muted);
  font-size: 11px;
}

.subject-avatar {
  display: grid;
  width: 54px;
  height: 54px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 8px;
  color: #1d4ed8;
  background: #dbeafe;
  font-size: 16px;
  font-weight: 800;
}

.subject-avatar.small {
  width: 38px;
  height: 38px;
  font-size: 12px;
}

.subject-type-badge,
.subject-confidence {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border-radius: 6px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.subject-type-person { color: #1d4ed8; background: #dbeafe; }
.subject-type-company { color: #0f766e; background: #ccfbf1; }
.subject-type-country { color: #15803d; background: #dcfce7; }
.subject-type-government { color: #a16207; background: #fef3c7; }
.subject-type-organization { color: #5b21b6; background: #ede9fe; }
.subject-type-tool_agent { color: #0e7490; background: #cffafe; }
.subject-type-other { color: #475569; background: #e2e8f0; }

.subject-confidence.high { color: #15803d; background: #dcfce7; }
.subject-confidence.medium { color: #a16207; background: #fef3c7; }
.subject-confidence.low { color: #b91c1c; background: #fee2e2; }

.subject-coverage {
  display: grid;
  grid-template-columns: minmax(70px, 1fr) 28px;
  align-items: center;
  gap: 8px;
}

.subject-coverage > span,
.subject-metric-item > i,
.subject-reliability-row > i {
  display: block;
  height: 6px;
  overflow: hidden;
  border-radius: 6px;
  background: #e5e7eb;
}

.subject-coverage i,
.subject-metric-item b,
.subject-reliability-row b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--blue);
}

.subject-open-button {
  min-width: 54px;
}

.subject-empty-row,
.subject-empty-detail {
  padding: 34px 18px;
  color: var(--muted);
  text-align: center;
}

.subject-empty-detail {
  justify-items: center;
}

.subject-empty-detail p {
  margin: 4px 0 14px;
}

.subject-detail-toolbar {
  flex-wrap: wrap;
  gap: 10px;
}

.subject-detail-switcher {
  display: grid;
  grid-template-columns: max-content minmax(180px, 260px);
  align-items: center;
  gap: 8px;
  margin-right: auto;
}

.subject-detail-switcher label {
  color: var(--muted);
  font-size: 12px;
}

.subject-profile {
  justify-content: space-between;
  gap: 22px;
  padding: 20px;
}

.subject-profile-main {
  min-width: 0;
  gap: 14px;
}

.subject-profile-main > div:last-child {
  min-width: 0;
}

.subject-profile-labels {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 7px;
}

.subject-id-label {
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 11px;
}

.subject-profile h2 {
  color: var(--strong);
  font-size: 22px;
}

.subject-profile p {
  max-width: 760px;
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.subject-profile-meta {
  flex: 0 0 auto;
  align-items: flex-end;
  flex-direction: column;
  gap: 8px;
  text-align: right;
}

.subject-profile-meta strong {
  color: var(--text);
  font-weight: 700;
}

.subject-metric-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: 0;
  overflow: hidden;
}

.subject-metric-item {
  display: grid;
  gap: 8px;
  padding: 15px 17px;
}

.subject-metric-item + .subject-metric-item {
  border-left: 1px solid var(--line);
}

.subject-metric-item span {
  color: var(--muted);
  font-size: 11px;
}

.subject-metric-item strong {
  color: var(--strong);
  font-size: 19px;
}

.subject-metric-item > i {
  height: 4px;
}

.subject-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(280px, 0.8fr);
  gap: 16px;
  align-items: start;
}

.subject-panel-heading {
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 15px;
}

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

.subject-state-group {
  min-width: 0;
  padding: 15px 14px 12px 0;
  border-bottom: 1px solid var(--line);
}

.subject-state-group:nth-child(even) {
  padding-right: 0;
  padding-left: 14px;
  border-left: 1px solid var(--line);
}

.subject-state-group header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 9px;
}

.subject-state-group h3 {
  font-size: 13px;
}

.subject-state-group ul,
.subject-action-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.subject-state-group li {
  position: relative;
  padding-left: 13px;
  color: var(--text);
  font-size: 12px;
  line-height: 1.45;
}

.subject-state-group li::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--blue);
  content: "";
}

.subject-state-constraint li::before { background: var(--red); }
.subject-state-resource li::before { background: var(--green); }
.subject-state-belief li::before { background: var(--amber); }
.subject-state-preference li::before { background: var(--teal); }

.subject-group-empty {
  padding: 12px 0;
  color: var(--muted);
  font-size: 12px;
}

.subject-relationship-list {
  display: grid;
  border-top: 1px solid var(--line);
}

.subject-relationship-row {
  display: grid;
  grid-template-columns: minmax(100px, 140px) minmax(120px, 180px) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}

.subject-relationship-row > span {
  color: #1d4ed8;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.subject-relationship-row p {
  margin: 0;
  color: var(--muted);
  line-height: 1.4;
}

.subject-reliability-list {
  display: grid;
  gap: 12px;
}

.subject-reliability-row {
  display: grid;
  gap: 6px;
}

.subject-reliability-row > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
}

.subject-reliability-row span {
  color: var(--muted);
}

.subject-reliability-row > i {
  height: 5px;
}

.subject-diagnostic-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.subject-diagnostic-list > div {
  display: grid;
  gap: 3px;
}

.subject-diagnostic-list span {
  color: #a16207;
  font-size: 11px;
  font-weight: 700;
}

.subject-diagnostic-list p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

.subject-diagnostic-ok {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  color: var(--green);
  font-size: 12px;
}

.subject-action-list {
  counter-reset: subject-action;
}

.subject-action-list li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  color: var(--text);
  font-size: 12px;
  line-height: 1.45;
  counter-increment: subject-action;
}

.subject-action-list li::before {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 6px;
  color: #1d4ed8;
  background: var(--soft-blue);
  content: counter(subject-action);
  font-size: 10px;
  font-weight: 800;
}

.belief {
  border-color: #fde68a;
  background: var(--soft-amber);
}

.probability-row {
  display: grid;
  grid-template-columns: minmax(160px, 260px) minmax(0, 1fr) 64px;
  gap: 10px;
  align-items: center;
  font-size: 13px;
}

.bar {
  position: relative;
  height: 12px;
  overflow: hidden;
  border-radius: 8px;
  background: #e5e7eb;
}

.bar > span {
  display: block;
  height: 100%;
  border-radius: 8px;
  background: linear-gradient(90deg, var(--teal), var(--blue));
}

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

.tree-node {
  border-left: 3px solid var(--blue);
  padding: 10px 12px;
  background: #fbfcfe;
  border-radius: 0 8px 8px 0;
}

.tree-node.depth-1 {
  margin-left: 18px;
  border-left-color: var(--teal);
}

.tree-node.depth-2 {
  margin-left: 36px;
  border-left-color: var(--amber);
}

.tree-node.tesla-action-node,
.legend-item.tesla-action {
  border-left-color: var(--teal);
}

.tree-node.reaction-node,
.legend-item.reaction {
  border-left-color: var(--blue);
  background: var(--soft-blue);
}

.tree-node.effect-node,
.legend-item.effect,
.mini-chip.effect {
  border-left-color: var(--green);
  border-color: #bbf7d0;
  background: var(--soft-teal);
}

.tree-node.risk-node,
.legend-item.risk,
.mini-chip.risk {
  border-left-color: var(--amber);
  border-color: #fde68a;
  background: var(--soft-amber);
}

.node-role {
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.trace-grid {
  display: grid;
  gap: 10px;
}

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

.score {
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fafbfc;
}

.score .label {
  color: var(--muted);
  font-size: 11px;
}

.score .value {
  margin-top: 4px;
  color: var(--strong);
  font-weight: 700;
}

pre {
  max-height: 420px;
  overflow: auto;
  margin: 0;
  padding: 12px;
  border-radius: 8px;
  background: #101827;
  color: #d1e7ff;
  font-size: 12px;
  line-height: 1.5;
}

.system-map {
  width: 100%;
  max-height: 320px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

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

.error {
  color: var(--red);
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
}

.mission-shell {
  display: grid;
  gap: 16px;
}

.mission-toolbar,
.mission-actions,
.mission-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.mission-toolbar {
  justify-content: space-between;
}

.mission-actions select {
  min-width: 260px;
}

.mission-create-panel {
  padding-bottom: 12px;
}

.mission-form {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(280px, 1fr) max-content max-content max-content;
  gap: 10px;
  align-items: end;
}

.mission-proposition-field textarea {
  min-height: 42px;
}

.mission-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, 0.9fr);
  gap: 16px;
}

.mission-summary {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) 130px 160px 190px 250px;
  gap: 16px;
  align-items: center;
}

.eyebrow,
.mission-summary-metric span,
.mission-current-stage span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.mission-meta {
  color: var(--muted);
  font-size: 12px;
}

.mission-summary-metric strong,
.mission-current-stage strong {
  display: block;
  margin-top: 6px;
  color: var(--strong);
  font-size: 15px;
}

.mission-current-stage {
  min-height: 78px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.mission-current-stage small {
  display: block;
  margin-top: 8px;
  overflow: hidden;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.progress {
  width: 100%;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #dbe3ef;
}

.progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--blue);
}

.mission-operator-table {
  display: grid;
  grid-template-columns: minmax(160px, 1.2fr) 130px minmax(240px, 1.5fr) 120px 70px;
  gap: 0;
  align-items: center;
  overflow-x: auto;
}

.mission-run-table {
  display: grid;
  grid-template-columns: 150px 130px 160px 150px 150px 110px 80px 80px 90px;
  gap: 0;
  overflow-x: auto;
}

.mission-table-head {
  padding: 9px 10px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.mission-operator-table > div:not(.mission-table-head),
.mission-run-table > div:not(.mission-table-head) {
  min-height: 48px;
  padding: 10px;
  border-bottom: 1px solid #edf1f7;
  font-size: 12px;
}

.mission-operator-table strong {
  display: block;
  color: var(--strong);
}

.mission-operator-table span:not(.status-dot) {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.status-dot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef2f7;
  color: #475467;
  font-size: 11px;
  white-space: nowrap;
}

.status-dot::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

.status-dot.completed,
.status-dot.report_ready {
  background: #ecfdf3;
  color: var(--green);
}

.status-dot.running {
  background: #eff6ff;
  color: var(--blue);
}

.status-dot.waiting_for_review,
.status-dot.needs_review,
.status-dot.queued {
  background: #fffbeb;
  color: var(--amber);
}

.status-dot.failed,
.status-dot.rejected {
  background: #fef2f2;
  color: var(--red);
}

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

.record-metrics div {
  display: grid;
  gap: 4px;
  min-height: 94px;
  padding: 12px;
  border-radius: 8px;
  background: #eff6ff;
  color: #1d4ed8;
}

.record-metrics div:nth-child(1) {
  background: #f5f3ff;
  color: #6d28d9;
}

.record-metrics div:nth-child(3) {
  background: #ecfdf3;
  color: var(--green);
}

.record-metrics span,
.record-metrics small {
  font-size: 11px;
}

.record-metrics strong {
  font-size: 26px;
}

.mission-record-list {
  display: grid;
  gap: 8px;
}

.mission-timeline {
  position: relative;
  display: grid;
  gap: 14px;
  padding-left: 20px;
}

.mission-timeline::before {
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 6px;
  width: 1px;
  background: #cbd5e1;
  content: "";
}

.mission-timeline > div {
  position: relative;
}

.timeline-dot {
  position: absolute;
  top: 3px;
  left: -20px;
  width: 12px;
  height: 12px;
  border: 2px solid var(--green);
  border-radius: 50%;
  background: #ffffff;
}

.timeline-dot.error {
  border-color: var(--red);
}

.mission-timeline strong {
  color: var(--muted);
  font-size: 11px;
}

.mission-timeline p {
  margin: 4px 0 0;
  font-size: 12px;
}

.report-tile {
  display: grid;
  gap: 8px;
  min-height: 180px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.report-tile span {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.report-tile strong {
  color: var(--blue);
}

.report-tile small {
  overflow-wrap: anywhere;
  color: var(--muted);
}

.mission-report-card button {
  width: 100%;
  margin-top: 12px;
}

.mission-run-table-panel {
  grid-column: 1 / -1;
}

.mission-evaluation-panel,
.mission-record-card,
.mission-timeline-card,
.mission-report-card {
  min-width: 0;
}

.mission-table-empty {
  grid-column: 1 / -1;
}

.kv.compact {
  margin-top: 10px;
  font-size: 12px;
}

.mission-report-preview {
  margin-top: 16px;
}

body[data-route="mission-panel"] {
  background:
    radial-gradient(circle at 22% 0%, rgba(15, 98, 254, 0.045), transparent 24%),
    linear-gradient(180deg, #fbfcff 0%, #f7f9fd 100%);
}

body[data-route="mission-panel"] .workspace {
  padding: 14px 22px 20px;
}

.mission-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  min-height: 74px;
}

.mission-page-header h1 {
  margin: 0 0 12px;
  color: #0b1220;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0;
}

.mission-tabs {
  gap: 6px;
}

.mission-tabs button {
  min-width: 108px;
  min-height: 34px;
  padding-inline: 12px;
}

.mission-actions {
  justify-content: flex-end;
  padding-top: 2px;
}

.mission-actions .secondary {
  min-width: 80px;
  background: #ffffff;
}

.switch-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #475467;
  font-size: 12px;
  white-space: nowrap;
}

.switch-row input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.switch-row span {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 18px;
  border-radius: 999px;
  background: var(--blue);
}

.switch-row span::after {
  position: absolute;
  top: 3px;
  right: 3px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ffffff;
  content: "";
}

.last-updated {
  margin-left: 12px;
  color: #475467;
  font-size: 12px;
  white-space: nowrap;
}

.last-updated strong {
  color: #0f172a;
}

.mission-create-panel.is-hidden {
  display: none;
}

.mission-create-panel {
  box-shadow: none;
}

.mission-create-panel .group-title {
  align-items: center;
  margin-bottom: 10px;
}

.mission-create-panel select {
  max-width: 420px;
}

.mission-grid {
  grid-template-columns: minmax(0, 1.72fr) minmax(360px, 0.98fr);
  gap: 10px;
}

.mission-summary {
  min-height: 118px;
  grid-template-columns: minmax(320px, 1.65fr) 100px 130px 150px 110px 140px minmax(230px, 0.86fr);
  gap: 0;
  padding: 14px 16px;
  overflow: hidden;
}

.mission-summary > * {
  padding-inline: 16px;
}

.mission-summary > * + * {
  border-left: 1px solid #edf1f7;
}

.mission-summary h2 {
  margin: 6px 0 12px;
  font-size: 18px;
  line-height: 1.25;
}

.mission-meta {
  margin-top: 5px;
  color: #475467;
}

.mission-meta a {
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
}

.copy-mini {
  min-width: 18px;
  min-height: 18px;
  margin-left: 4px;
  padding: 0;
  border: 0;
  color: #64748b;
  background: transparent;
  font-size: 11px;
}

.mission-summary-metric strong {
  font-size: 14px;
  white-space: nowrap;
}

.mission-summary-metric .status-dot {
  margin-top: 10px;
  padding: 0;
  background: transparent;
  color: var(--green);
  font-size: 15px;
  font-weight: 800;
}

.mission-summary-metric .progress {
  margin-top: 10px;
  height: 8px;
}

.mission-current-stage {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 90px;
  margin-left: 14px;
  padding: 14px;
  border: 0;
  background: #f7f9fc;
}

.stage-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #eaf1ff;
  color: var(--blue);
  font-size: 18px;
  font-weight: 800;
}

.mission-current-stage strong {
  margin-top: 4px;
  font-size: 16px;
}

.mission-current-stage small {
  margin-top: 6px;
}

.mission-operators {
  grid-column: 1;
  padding: 14px;
}

.mission-record-card {
  grid-column: 2;
  padding: 14px;
}

.mission-run-table-panel {
  grid-column: 1;
  padding: 14px;
}

.mission-side-bottom {
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(160px, 0.85fr);
  gap: 10px;
}

.mission-side-bottom .panel {
  min-width: 0;
}

.group-title h2 {
  margin-bottom: 0;
  font-size: 15px;
}

.info-dot {
  display: inline-grid;
  place-items: center;
  width: 14px;
  height: 14px;
  margin-left: 3px;
  border: 1px solid #94a3b8;
  border-radius: 50%;
  color: #64748b;
  font-size: 9px;
}

.small-button {
  min-height: 28px;
  padding: 5px 10px;
  font-size: 11px;
}

.operator-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 14px 0 14px;
}

.operator-filter {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  min-height: 24px;
  padding: 4px 12px;
  border-radius: 999px;
  background: #f2f5fa;
  color: #344054;
  font-size: 12px;
}

.operator-filter b {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #e2e8f0;
  font-size: 10px;
}

.operator-filter.active {
  color: #ffffff;
  background: var(--blue);
}

.operator-filter.active b {
  background: rgba(255, 255, 255, 0.2);
}

.mission-operator-table {
  grid-template-columns: minmax(180px, 1.16fr) 96px minmax(210px, 1.25fr) 108px 70px 20px;
}

.mission-run-table {
  grid-template-columns:
    minmax(120px, 1.2fr)
    minmax(82px, 0.85fr)
    minmax(96px, 0.95fr)
    minmax(98px, 0.95fr)
    66px
    54px
    54px
    54px
    58px
    48px;
}

.mission-table-head {
  padding: 8px 10px;
  color: #475467;
  font-size: 10px;
  text-transform: none;
}

.mission-operator-table > div:not(.mission-table-head),
.mission-run-table > div:not(.mission-table-head) {
  min-height: 39px;
  padding: 8px 8px;
  color: #0f172a;
  font-size: 11px;
}

.operator-name-cell {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.operator-icon {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  background: #eef4ff;
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
  vertical-align: middle;
}

.operator-icon.small {
  width: 18px;
  height: 18px;
  margin-right: 7px;
  border-radius: 5px;
  font-size: 10px;
}

.operator-icon.evidence,
.operator-icon.relationship {
  background: #f3e8ff;
  color: #7c3aed;
}

.operator-icon.scenario {
  background: #fef3c7;
  color: #b45309;
}

.operator-icon.backtest {
  background: #e8f7ef;
  color: #15803d;
}

.operator-name-cell strong {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.operator-name-cell span:not(.operator-icon) {
  display: block;
  margin-top: 2px;
  color: #64748b;
  font-size: 10px;
}

.row-chevron {
  color: #94a3b8;
  font-size: 18px !important;
}

.status-dot {
  min-height: 20px;
  padding: 0;
  background: transparent;
  font-weight: 700;
}

.status-dot.running,
.status-dot.completed,
.status-dot.report_ready {
  background: transparent;
  color: var(--green);
}

.status-dot.waiting_for_review,
.status-dot.needs_review,
.status-dot.queued {
  background: transparent;
  color: var(--amber);
}

.status-dot.idle,
.status-dot.skipped {
  background: transparent;
  color: #2563eb;
}

.progress {
  height: 5px;
}

.mission-operator-table small {
  display: inline-block;
  margin-left: 8px;
  color: #334155;
  font-size: 10px;
}

.status-legend {
  display: flex;
  gap: 20px;
  margin-top: 12px;
  color: #344054;
  font-size: 11px;
}

.status-legend i {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 50%;
}

.legend-running { background: var(--green); }
.legend-waiting { background: var(--amber); }
.legend-idle { background: #2563eb; }
.legend-failed { background: var(--red); }

.record-metrics {
  gap: 14px;
}

.record-metrics div {
  min-height: 96px;
  padding: 14px;
  border-radius: 7px;
  border: 0;
}

.record-subtitle {
  margin-top: 16px;
}

.record-subtitle h3 {
  margin: 0;
  font-size: 12px;
}

.mission-record-list .record-row {
  grid-template-columns: minmax(0, 1fr) max-content max-content;
  min-height: 44px;
  border-radius: 0;
  background: #ffffff;
}

.mission-timeline-card,
.mission-report-card {
  padding: 14px;
}

.mission-timeline {
  gap: 12px;
  min-height: 230px;
}

.mission-timeline p {
  color: #344054;
}

.report-tile {
  min-height: 224px;
  border-radius: 8px;
  background: #ffffff;
}

.report-tile strong:first-of-type {
  font-size: 15px;
}

.format-row {
  display: flex;
  gap: 12px;
}

.format-row b {
  color: var(--blue);
  font-size: 12px;
}

.table-footnote {
  margin-top: 10px;
  color: #64748b;
  font-size: 11px;
}

body[data-route="mission-panel"] .mission-evaluation-panel {
  grid-column: 1 / -1;
}

body[data-theme="dark"] {
  background: var(--bg);
}

body[data-theme="dark"][data-route="mission-panel"] {
  background:
    radial-gradient(circle at 22% 0%, rgba(96, 165, 250, 0.12), transparent 24%),
    linear-gradient(180deg, #111b2f 0%, #0f172a 100%);
}

body[data-theme="dark"] .sidebar {
  background: rgba(15, 23, 42, 0.94);
  box-shadow: 8px 0 24px rgba(0, 0, 0, 0.22);
}

body[data-theme="dark"] .topbar {
  background: rgba(15, 23, 42, 0.92);
  border-color: var(--line);
}

body[data-theme="dark"] .home-stats,
body[data-theme="dark"] .home-card,
body[data-theme="dark"] .global-search input {
  color: var(--text);
  border-color: var(--line);
  background: var(--panel);
}

body[data-theme="dark"] .brand-mark,
body[data-theme="dark"] .brand-mark::before,
body[data-theme="dark"] .brand-mark span {
  border-color: #e5e7eb;
}

body[data-theme="dark"] .brand-mark span {
  background: #e5e7eb;
}

body[data-theme="dark"] .brand-title,
body[data-theme="dark"] .mission-page-header h1,
body[data-theme="dark"] .last-updated strong,
body[data-theme="dark"] .mission-summary-metric strong,
body[data-theme="dark"] .mission-current-stage strong,
body[data-theme="dark"] .mission-operator-table > div:not(.mission-table-head),
body[data-theme="dark"] .mission-run-table > div:not(.mission-table-head),
body[data-theme="dark"] .score .value {
  color: var(--strong);
}

body[data-theme="dark"] .sidebar-collapse,
body[data-theme="dark"] .nav-group-label,
body[data-theme="dark"] .sidebar-user span,
body[data-theme="dark"] .user-collapse,
body[data-theme="dark"] .last-updated,
body[data-theme="dark"] .switch-row,
body[data-theme="dark"] .mission-meta,
body[data-theme="dark"] .mission-table-head,
body[data-theme="dark"] .operator-name-cell span:not(.operator-icon),
body[data-theme="dark"] .mission-operator-table small,
body[data-theme="dark"] .status-legend,
body[data-theme="dark"] .mission-timeline p,
body[data-theme="dark"] .table-footnote,
body[data-theme="dark"] .copy-mini {
  color: var(--muted);
}

body[data-theme="dark"] .nav-list a {
  color: #cbd5e1;
}

body[data-theme="dark"] .nav-list a:hover:not(.active) {
  color: #e2e8f0;
  background: #172033;
}

body[data-theme="dark"] .nav-list a.active {
  color: #ffffff;
  background: #2563eb;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.28);
}

body[data-theme="dark"] .nav-list a[data-route="mission-panel"].active {
  color: #ffffff;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%);
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.32);
}

body[data-theme="dark"] .avatar {
  background: #334155;
}

body[data-theme="dark"] .theme-toggle,
body[data-theme="dark"] input,
body[data-theme="dark"] select,
body[data-theme="dark"] textarea,
body[data-theme="dark"] button.secondary,
body[data-theme="dark"] .status-chip,
body[data-theme="dark"] .pill,
body[data-theme="dark"] .action-status,
body[data-theme="dark"] .model-status,
body[data-theme="dark"] .demo-steps span,
body[data-theme="dark"] .legend-item,
body[data-theme="dark"] .mini-chip,
body[data-theme="dark"] .llm-provider-row,
body[data-theme="dark"] .agent-connector-row,
body[data-theme="dark"] .source-row,
body[data-theme="dark"] .compact-admin-card,
body[data-theme="dark"] .record-row,
body[data-theme="dark"] .source-run-row,
body[data-theme="dark"] .fetched-item,
body[data-theme="dark"] .system-map,
body[data-theme="dark"] .mission-record-list .record-row,
body[data-theme="dark"] .report-tile {
  color: var(--text);
  background: #101827;
  border-color: var(--line);
}

body[data-theme="dark"] .panel,
body[data-theme="dark"] .mission-create-panel {
  background: var(--panel);
  border-color: var(--line);
}

body[data-theme="dark"] .case-row,
body[data-theme="dark"] .relationship-card,
body[data-theme="dark"] .scenario-card,
body[data-theme="dark"] .timeline-row,
body[data-theme="dark"] .influence-line,
body[data-theme="dark"] .admin-card,
body[data-theme="dark"] .operational-item,
body[data-theme="dark"] .metadata-block,
body[data-theme="dark"] .advanced-config,
body[data-theme="dark"] .section-list li,
body[data-theme="dark"] .tree-node,
body[data-theme="dark"] .score,
body[data-theme="dark"] .mission-current-stage {
  background: #111b2f;
  border-color: var(--line);
}

body[data-theme="dark"] .mission-current-stage,
body[data-theme="dark"] .stage-icon,
body[data-theme="dark"] .operator-filter,
body[data-theme="dark"] .operator-filter b {
  background: #111b2f;
}

body[data-theme="dark"] .stage-icon,
body[data-theme="dark"] .operator-icon {
  color: var(--blue);
  background: #13233c;
}

body[data-theme="dark"] .operator-icon.evidence,
body[data-theme="dark"] .operator-icon.relationship {
  color: #c4b5fd;
  background: #2e214f;
}

body[data-theme="dark"] .operator-icon.scenario {
  color: #fcd34d;
  background: #33270e;
}

body[data-theme="dark"] .operator-icon.backtest {
  color: #86efac;
  background: #123129;
}

body[data-theme="dark"] .mission-summary > * + *,
body[data-theme="dark"] .mission-table-head,
body[data-theme="dark"] .mission-operator-table > div:not(.mission-table-head),
body[data-theme="dark"] .mission-run-table > div:not(.mission-table-head) {
  border-color: var(--line);
}

body[data-theme="dark"] .progress,
body[data-theme="dark"] .bar,
body[data-theme="dark"] .theme-toggle-track {
  background: #334155;
}

body[data-theme="dark"] .operator-filter {
  color: #cbd5e1;
}

body[data-theme="dark"] .operator-filter.active {
  color: #ffffff;
  background: #2563eb;
}

body[data-theme="dark"] .record-metrics div {
  color: #93c5fd;
  background: #13233c;
}

body[data-theme="dark"] .record-metrics div:nth-child(1) {
  color: #c4b5fd;
  background: #2e214f;
}

body[data-theme="dark"] .record-metrics div:nth-child(3) {
  color: #86efac;
  background: #123129;
}

body[data-theme="dark"] .mission-timeline::before {
  background: #334155;
}

body[data-theme="dark"] .timeline-dot {
  background: var(--panel);
}

body[data-theme="dark"] .status-dot,
body[data-theme="dark"] .status-dot.running,
body[data-theme="dark"] .status-dot.completed,
body[data-theme="dark"] .status-dot.report_ready,
body[data-theme="dark"] .status-dot.waiting_for_review,
body[data-theme="dark"] .status-dot.needs_review,
body[data-theme="dark"] .status-dot.queued,
body[data-theme="dark"] .status-dot.failed,
body[data-theme="dark"] .status-dot.rejected {
  background: transparent;
}

body[data-theme="dark"] .format-row b,
body[data-theme="dark"] .report-tile strong,
body[data-theme="dark"] .mission-meta a {
  color: var(--blue);
}

@media (max-width: 900px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
  }

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

  .topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .grid.two,
  .grid.three,
  .login-page,
  .page-module-header,
  .mission-grid,
  .mission-summary,
  .mission-form,
  .llm-control-plane,
  .agent-control-plane,
  .source-control-plane,
  .compact-form,
  .key-form,
  .model-field,
  .score-grid {
    grid-template-columns: 1fr;
  }

  .login-page {
    min-height: auto;
  }

  .login-hero-panel {
    min-height: auto;
  }

  .login-hero-panel h2 {
    font-size: 34px;
  }

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

  .page-module-header h2 {
    font-size: 22px;
  }

  .mission-operator-table,
  .mission-run-table {
    display: block;
  }

  .mission-table-head {
    display: none;
  }

  .probability-row,
  .reaction-row,
  .influence-line,
  .record-row,
  .comparison,
  .kv {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1180px) {
  .app-shell {
    grid-template-columns: 200px minmax(0, 1fr);
  }

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

  .home-stat-card:nth-child(3) {
    border-right: 0;
  }

  .home-stat-card:nth-child(n + 4) {
    border-top: 1px solid var(--line);
  }

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

  .trend-card,
  .latest-reports-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .app-shell {
    display: block;
  }

  .sidebar {
    position: static;
    z-index: 10;
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 16px;
    width: 100%;
    height: auto;
    padding: 12px 16px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .brand {
    align-items: center;
    padding: 0;
  }

  .brand-mark,
  .brand-subtitle,
  .theme-control,
  .sidebar-user {
    display: none;
  }

  .brand-title {
    font-size: 17px;
  }

  .nav-list {
    display: flex;
    gap: 6px;
    overflow-x: auto;
  }

  .nav-list a {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 8px 10px;
    font-size: 11px;
    white-space: nowrap;
  }

  .nav-icon {
    width: 14px;
    height: 14px;
    font-size: 13px;
  }

  .topbar {
    position: static;
  }

  .topbar {
    flex-direction: row;
    align-items: center;
    min-height: 68px;
    padding: 14px 18px;
  }

  .global-search {
    width: min(240px, 42vw);
  }

  body[data-module-route="overview"] .workspace {
    padding: 18px;
  }

  .home-stats,
  .home-primary-grid,
  .home-secondary-grid {
    grid-template-columns: 1fr;
  }

  .home-stat-card,
  .home-stat-card:nth-child(3) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .home-stat-card:nth-child(n + 2) {
    border-top: 0;
  }

  .home-stat-card:last-child {
    border-bottom: 0;
  }

  .trend-card,
  .latest-reports-card {
    grid-column: auto;
  }

}

@media (max-width: 600px) {
  .sidebar {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .nav-list {
    margin-inline: -4px;
  }

  .topbar {
    align-items: stretch;
    flex-direction: column;
  }

  .topbar-actions {
    width: 100%;
  }

  .global-search {
    flex: 1;
    width: auto;
  }

  body[data-module-route="overview"] .workspace {
    padding: 14px;
  }

  .home-stat-card {
    min-height: 108px;
  }

  .home-card {
    padding: 18px;
  }

  .world-map-visual {
    min-height: 190px;
  }

  .distribution-layout {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .distribution-legend {
    width: 100%;
  }

  .simulation-bars {
    gap: 7px;
    padding-inline: 0;
  }

  .home-footer {
    white-space: normal;
  }
}

.world-page {
  display: grid;
  gap: 16px;
}

.world-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0;
  overflow: hidden;
}

.world-summary-item {
  display: grid;
  min-height: 84px;
  align-content: center;
  gap: 7px;
  padding: 16px 20px;
}

.world-summary-item + .world-summary-item {
  border-left: 1px solid var(--line);
}

.world-summary-item span,
.world-workspace-heading span,
.world-panel-heading span {
  color: var(--muted);
  font-size: 11px;
}

.world-summary-item strong {
  color: var(--strong);
  font-size: 23px;
  line-height: 1;
}

.world-main-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(280px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.world-map-workspace {
  min-width: 0;
  padding: 18px;
  overflow: hidden;
}

.world-workspace-heading,
.world-panel-heading,
.world-map-tools,
.world-region-heading,
.world-region-metrics,
.world-map-legend {
  display: flex;
  align-items: center;
}

.world-workspace-heading,
.world-panel-heading,
.world-region-heading {
  justify-content: space-between;
  gap: 14px;
}

.world-workspace-heading {
  margin-bottom: 14px;
}

.world-workspace-heading > div:first-child,
.world-panel-heading > div,
.world-region-heading > div {
  display: grid;
  gap: 4px;
}

.world-workspace-heading h2,
.world-panel-heading h2,
.world-region-heading h2,
.world-region-section h3,
.world-distribution-layout h3 {
  margin: 0;
}

.world-workspace-heading h2,
.world-panel-heading h2,
.world-region-heading h2 {
  font-size: 16px;
}

.world-map-tools {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.world-map-tools select {
  width: auto;
  min-width: 145px;
  min-height: 34px;
  padding-block: 6px;
  font-size: 11px;
}

.world-mode-switch,
.world-zoom-controls {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #ffffff;
}

.world-mode-switch button,
.world-zoom-controls button {
  min-width: 34px;
  min-height: 32px;
  padding: 5px 9px;
  color: var(--muted);
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 11px;
}

.world-mode-switch button + button,
.world-zoom-controls > * + * {
  border-left: 1px solid var(--line);
}

.world-mode-switch button.active {
  color: #ffffff;
  background: var(--blue);
}

.world-zoom-controls span {
  min-width: 48px;
  color: var(--text);
  font-size: 10px;
  text-align: center;
}

.world-map-canvas {
  position: relative;
  width: 100%;
  min-height: 420px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbff;
  aspect-ratio: 3 / 2;
}

.world-map-stage {
  position: absolute;
  inset: 0;
  background: url("/static/world-map.png") center / contain no-repeat;
  transform-origin: center;
  transition: transform 180ms ease;
}

.world-map-empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: 12px;
}

.world-region-marker {
  position: absolute;
  top: var(--marker-y);
  left: var(--marker-x);
  width: 30px;
  min-height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.world-region-marker > span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 3px solid #ffffff;
  border-radius: 50%;
  color: #ffffff;
  background: #3182f6;
  box-shadow: 0 0 0 6px rgba(49, 130, 246, 0.16);
  font-size: 10px;
  font-weight: 800;
}

.world-region-marker > small {
  position: absolute;
  top: 36px;
  left: 50%;
  padding: 4px 6px;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
  transform: translateX(-50%);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.world-region-marker:hover,
.world-region-marker:focus-visible,
.world-region-marker.selected {
  z-index: 4;
}

.world-region-marker.selected > span {
  box-shadow: 0 0 0 3px var(--panel), 0 0 0 7px var(--strong);
}

.world-region-marker.intensity-low > span,
.world-region-heading > strong.intensity-low,
.world-map-legend i.low { background: #22c55e; }
.world-region-marker.intensity-medium > span,
.world-region-heading > strong.intensity-medium,
.world-map-legend i.medium { background: #f59e0b; }
.world-region-marker.intensity-high > span,
.world-region-heading > strong.intensity-high,
.world-map-legend i.high { background: #ef4444; }

.world-map-legend {
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 10px;
}

.world-map-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--muted);
  font-size: 10px;
}

.world-map-legend i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

.world-region-list-view {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.world-region-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
}

.world-region-table th,
.world-region-table td {
  padding: 12px;
  border-bottom: 1px solid var(--line);
  color: var(--text);
  text-align: left;
  font-size: 12px;
}

.world-region-table th {
  color: var(--muted);
  background: #f8fafc;
  font-size: 10px;
}

.world-region-table tr:last-child td {
  border-bottom: 0;
}

.world-region-table tr.selected,
.world-region-table tbody tr:hover {
  background: var(--soft-blue);
}

.world-region-table td button {
  display: grid;
  gap: 2px;
  width: 100%;
  min-height: 30px;
  padding: 0;
  color: var(--text);
  border: 0;
  background: transparent;
  text-align: left;
}

.world-region-table td button small {
  color: var(--muted);
  font-size: 9px;
}

.world-region-panel {
  position: sticky;
  top: 112px;
  max-height: calc(100vh - 130px);
  overflow-y: auto;
}

.world-region-heading > div > span {
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 10px;
}

.world-region-heading > strong {
  padding: 5px 7px;
  border-radius: 6px;
  color: #ffffff;
  font-size: 10px;
}

.world-region-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 15px;
  border-block: 1px solid var(--line);
}

.world-region-metrics > div {
  display: grid;
  gap: 4px;
  padding: 12px 8px;
  text-align: center;
}

.world-region-metrics > div + div {
  border-left: 1px solid var(--line);
}

.world-region-metrics span {
  color: var(--muted);
  font-size: 10px;
}

.world-region-metrics strong {
  color: var(--strong);
  font-size: 16px;
}

.world-region-section {
  margin-top: 16px;
}

.world-region-section h3,
.world-distribution-layout h3 {
  margin-bottom: 9px;
  color: var(--strong);
  font-size: 12px;
}

.world-pressure-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.world-pressure-list span {
  padding: 5px 7px;
  border: 1px solid #fde68a;
  border-radius: 6px;
  color: #92400e;
  background: var(--soft-amber);
  font-size: 10px;
}

.world-pressure-list b {
  margin-left: 3px;
}

.world-region-entities {
  display: grid;
  border-top: 1px solid var(--line);
}

.world-region-entity {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 14px;
  gap: 9px;
  align-items: center;
  width: 100%;
  min-height: 58px;
  padding: 9px 0;
  color: var(--text);
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  text-align: left;
}

.world-region-entity > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.world-region-entity strong,
.world-region-entity small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-region-entity strong {
  color: var(--strong);
  font-size: 11px;
}

.world-region-entity small,
.world-region-entity > i,
.world-region-muted,
.world-region-empty p {
  color: var(--muted);
  font-size: 10px;
}

.world-region-entity > i {
  font-size: 18px;
  font-style: normal;
}

.world-region-empty {
  display: grid;
  min-height: 240px;
  align-content: center;
  justify-items: center;
  text-align: center;
}

.world-region-empty h2 {
  margin: 0;
  font-size: 15px;
}

.world-region-empty p {
  margin: 7px 0 0;
}

.world-panel-heading {
  margin-bottom: 16px;
}

.world-distribution-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.world-distribution-list {
  display: grid;
  border-top: 1px solid var(--line);
}

.world-distribution-row {
  display: grid;
  grid-template-columns: minmax(110px, 160px) minmax(90px, 1fr) 42px;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 48px;
  padding: 7px 0;
  color: var(--text);
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  text-align: left;
}

.world-distribution-row > span {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.world-distribution-row strong {
  color: var(--strong);
  font-size: 11px;
}

.world-distribution-row small,
.world-distribution-row em {
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
}

.world-distribution-row > i {
  display: block;
  height: 6px;
  overflow: hidden;
  border-radius: 5px;
  background: #e5e7eb;
}

.world-distribution-row > i > b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--blue);
}

.world-distribution-row em {
  text-align: right;
}

body[data-theme="dark"] .world-map-canvas {
  background: #101827;
}

body[data-theme="dark"] .world-mode-switch,
body[data-theme="dark"] .world-zoom-controls,
body[data-theme="dark"] .world-region-marker > small {
  color: var(--text);
  background: #101827;
  border-color: var(--line);
}

body[data-theme="dark"] .world-region-table th,
body[data-theme="dark"] .world-region-table tr.selected,
body[data-theme="dark"] .world-region-table tbody tr:hover {
  background: #111b2f;
}

body[data-theme="dark"] .world-region-table td button,
body[data-theme="dark"] .world-region-entity,
body[data-theme="dark"] .world-distribution-row {
  color: var(--text);
  background: transparent;
}

body[data-theme="dark"] .world-pressure-list span {
  color: #fde68a;
  background: #32270e;
  border-color: #713f12;
}

body[data-theme="dark"] .world-distribution-row > i {
  background: #334155;
}

body[data-theme="dark"] .subject-table th,
body[data-theme="dark"] .subject-table tbody tr:hover {
  background: #111b2f;
}

body[data-theme="dark"] .subject-name-button,
body[data-theme="dark"] .subject-icon-button {
  color: var(--text);
  background: transparent;
}

body[data-theme="dark"] .subject-coverage > span,
body[data-theme="dark"] .subject-metric-item > i,
body[data-theme="dark"] .subject-reliability-row > i {
  background: #334155;
}

body[data-theme="dark"] .subject-type-person { color: #93c5fd; background: #172554; }
body[data-theme="dark"] .subject-type-company { color: #5eead4; background: #134e4a; }
body[data-theme="dark"] .subject-type-country { color: #86efac; background: #14532d; }
body[data-theme="dark"] .subject-type-government { color: #fde68a; background: #422006; }
body[data-theme="dark"] .subject-type-organization { color: #c4b5fd; background: #2e1065; }
body[data-theme="dark"] .subject-type-tool_agent { color: #67e8f9; background: #164e63; }
body[data-theme="dark"] .subject-type-other { color: #cbd5e1; background: #334155; }
body[data-theme="dark"] .subject-confidence.high { color: #86efac; background: #14532d; }
body[data-theme="dark"] .subject-confidence.medium { color: #fde68a; background: #422006; }
body[data-theme="dark"] .subject-confidence.low { color: #fca5a5; background: #450a0a; }

body[data-theme="dark"] .subject-action-list li::before {
  color: #93c5fd;
  background: #13233c;
}

body[data-theme="dark"] .subject-relationship-row > span {
  color: #93c5fd;
}

body[data-theme="dark"] .subject-diagnostic-list span {
  color: #fcd34d;
}

@media (max-width: 900px) {
  .subject-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .subject-summary-item:nth-child(odd) {
    border-left: 0;
  }

  .subject-summary-item:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

  .subject-list-toolbar {
    grid-template-columns: minmax(220px, 1fr) minmax(150px, 190px) minmax(150px, 190px) max-content;
  }

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

  .subject-metric-item:nth-child(4) {
    border-left: 0;
  }

  .subject-metric-item:nth-child(n + 4) {
    border-top: 1px solid var(--line);
  }

  .subject-detail-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .subject-list-toolbar {
    grid-template-columns: 1fr;
  }

  .subject-list-heading {
    align-items: flex-start;
  }

  .subject-summary-item {
    min-height: 76px;
    padding: 14px 16px;
  }

  .subject-summary-item strong {
    font-size: 19px;
  }

  .subject-detail-toolbar {
    align-items: stretch;
  }

  .subject-detail-switcher {
    order: -1;
    width: 100%;
    grid-template-columns: 1fr;
  }

  .subject-profile {
    align-items: flex-start;
    flex-direction: column;
  }

  .subject-profile-meta {
    width: 100%;
    align-items: flex-start;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    text-align: left;
  }

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

  .subject-metric-item:nth-child(odd) {
    border-left: 0;
  }

  .subject-metric-item:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

  .subject-state-grid {
    grid-template-columns: 1fr;
  }

  .subject-state-group,
  .subject-state-group:nth-child(even) {
    padding-right: 0;
    padding-left: 0;
    border-left: 0;
  }

  .subject-relationship-row {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}

@media (max-width: 1100px) {
  .world-main-layout {
    grid-template-columns: 1fr;
  }

  .world-region-panel {
    position: static;
    max-height: none;
  }
}

@media (max-width: 900px) {
  .world-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .world-summary-item:nth-child(odd) {
    border-left: 0;
  }

  .world-summary-item:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

  .world-workspace-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .world-map-tools {
    width: 100%;
    justify-content: flex-start;
  }

  .world-map-canvas {
    min-height: 380px;
  }
}

@media (max-width: 600px) {
  .world-summary-item {
    min-height: 74px;
    padding: 13px 15px;
  }

  .world-summary-item strong {
    font-size: 19px;
  }

  .world-map-workspace {
    padding: 13px;
  }

  .world-map-tools select {
    width: 100%;
  }

  .world-map-canvas {
    min-height: 280px;
  }

  .world-region-marker > small {
    display: none;
  }

  .world-region-marker.selected > small {
    display: block;
  }

  .world-distribution-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .world-distribution-row {
    grid-template-columns: minmax(100px, 130px) minmax(70px, 1fr) 36px;
  }
}

.decision-suite-header {
  display: flex;
  gap: 28px;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 2px 14px;
  border-bottom: 1px solid var(--line);
}

.decision-suite-heading {
  display: grid;
  gap: 4px;
  min-width: 220px;
}

.decision-suite-heading > span {
  color: var(--blue);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.decision-suite-heading h2,
.decision-suite-heading p {
  margin: 0;
}

.decision-suite-heading h2 {
  color: var(--strong);
  font-size: 22px;
  line-height: 1.15;
}

.decision-suite-heading p {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

.decision-suite-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  width: min(720px, 68%);
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
  overflow: hidden;
}

.decision-suite-tabs a {
  display: grid;
  gap: 1px;
  min-width: 0;
  min-height: 54px;
  padding: 9px 12px;
  border-right: 1px solid var(--line);
  color: var(--muted);
  text-decoration: none;
}

.decision-suite-tabs a:last-child {
  border-right: 0;
}

.decision-suite-tabs a:hover {
  background: var(--soft-blue);
  color: var(--strong);
}

.decision-suite-tabs a.active {
  background: var(--blue);
  color: #fff;
}

.decision-suite-tabs strong,
.decision-suite-tabs small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-suite-tabs strong {
  color: inherit;
  font-size: 11px;
}

.decision-suite-tabs small {
  color: inherit;
  font-size: 8px;
  opacity: 0.72;
}

.decision-suite-content {
  min-width: 0;
  margin-top: 16px;
}

.decision-page {
  display: grid;
  gap: 16px;
  max-width: 1320px;
  margin: 0 auto;
}

.decision-agent-band {
  display: grid;
  grid-template-columns: minmax(220px, 1.25fr) repeat(4, minmax(130px, 0.75fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.decision-agent-band > div {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 82px;
  padding: 14px 16px;
  border-left: 1px solid var(--line);
}

.decision-agent-band > div:first-child {
  border-left: 0;
}

.decision-agent-band span,
.decision-agent-band small {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-agent-band strong {
  margin-top: 4px;
  overflow: hidden;
  color: var(--strong);
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-agent-band small {
  margin-top: 4px;
}

.decision-agent-band-title > span {
  font-weight: 750;
  text-transform: uppercase;
}

.decision-agent-band-title > strong {
  color: var(--blue);
  font-size: 17px;
}

.decision-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.decision-summary-item {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 102px;
  padding: 18px 20px;
  border-left: 1px solid var(--line);
}

.decision-summary-item:first-child {
  border-left: 0;
}

.decision-summary-item span,
.decision-summary-item small,
.decision-panel-heading p,
.decision-create-heading p,
.decision-context-heading p,
.decision-context-note,
.decision-pipeline-heading span,
.decision-section-heading span {
  color: var(--muted);
}

.decision-summary-item span {
  font-size: 11px;
  font-weight: 700;
}

.decision-summary-item strong {
  margin-top: 6px;
  overflow: hidden;
  color: var(--strong);
  font-size: 21px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-summary-item small {
  margin-top: 5px;
  overflow: hidden;
  font-size: 10px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-summary-item .decision-value-ok {
  color: var(--green);
}

.decision-summary-item .decision-value-warn {
  color: var(--amber);
}

.decision-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.65fr);
  gap: 16px;
  align-items: start;
}

.decision-config-panel,
.decision-context-panel,
.decision-result-panel {
  box-shadow: 0 8px 26px rgba(15, 23, 42, 0.045);
}

.decision-result-panel {
  scroll-margin-top: 132px;
}

.decision-context-panel {
  position: sticky;
  top: 166px;
}

.decision-panel-heading,
.decision-context-heading,
.decision-create-heading,
.decision-result-toolbar,
.decision-section-heading,
.decision-context-section-heading,
.decision-pipeline-heading {
  display: flex;
  justify-content: space-between;
  gap: 14px;
}

.decision-panel-heading,
.decision-context-heading,
.decision-result-toolbar {
  align-items: flex-start;
}

.decision-panel-heading h2,
.decision-context-heading h2,
.decision-create-heading h3,
.decision-section-heading h3,
.decision-context-section-heading h3,
.decision-pipeline-heading h3 {
  margin: 0;
}

.decision-panel-heading p,
.decision-create-heading p,
.decision-context-heading p {
  max-width: 620px;
  margin: 5px 0 0;
  font-size: 12px;
  line-height: 1.55;
}

.decision-run-form {
  display: grid;
  gap: 15px;
  margin-top: 18px;
}

.decision-task-inputs {
  display: grid;
  grid-template-columns: minmax(220px, 0.72fr) minmax(320px, 1.28fr);
  gap: 12px;
  align-items: start;
}

.decision-task-inputs textarea {
  min-height: 78px;
}

.decision-agent-loop {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 7px;
  list-style: none;
}

.decision-agent-loop .decision-stage {
  grid-template-columns: 28px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 3px 9px;
  min-height: 78px;
  padding: 12px;
  border-right: 1px solid var(--line);
  border-bottom: 0;
}

.decision-agent-loop .decision-stage:last-child {
  border-right: 0;
}

.decision-agent-loop .decision-stage > span {
  grid-row: 1 / 3;
  width: 26px;
  height: 26px;
}

.decision-agent-loop .decision-stage em {
  grid-column: 2;
  justify-self: start;
  min-width: 0;
  padding: 2px 0;
  background: transparent;
  text-align: left;
}

.decision-agent-loop .decision-stage.running,
.decision-agent-loop .decision-stage.complete {
  background: var(--soft-blue);
}

.decision-agent-loop .decision-stage.complete em {
  background: transparent;
}

.decision-advanced-panel {
  border-top: 1px solid var(--line);
}

.decision-advanced-panel > summary {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 12px 2px;
  color: var(--strong);
  cursor: pointer;
}

.decision-advanced-panel > summary > span {
  font-size: 11px;
  font-weight: 750;
}

.decision-advanced-panel > summary > small {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-advanced-content {
  display: grid;
  gap: 16px;
  padding: 4px 0 14px;
}

.decision-mode-fieldset {
  display: grid;
  gap: 7px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.decision-mode-fieldset legend {
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
}

.decision-mode-fieldset > p {
  min-height: 18px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.decision-mode-control {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
}

.decision-mode-option {
  display: grid;
  gap: 2px;
  min-width: 0;
  min-height: 54px;
  padding: 8px 10px;
  color: var(--muted);
  border: 0;
  background: transparent;
  text-align: left;
}

.decision-mode-option strong,
.decision-mode-option small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-mode-option strong {
  color: inherit;
  font-size: 12px;
}

.decision-mode-option small {
  font-size: 10px;
  font-weight: 500;
}

.decision-mode-option.active {
  color: #1d4ed8;
  background: var(--panel);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.decision-core-agent-status {
  display: grid;
  grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--soft-blue);
}

.decision-core-agent-status > div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px 11px;
  border-left: 1px solid var(--line);
}

.decision-core-agent-status > div:first-child {
  border-left: 0;
}

.decision-core-agent-status span,
.decision-core-agent-status small {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-core-agent-status strong {
  overflow: hidden;
  color: var(--strong);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-theme="dark"] .decision-core-agent-status {
  background: #13233c;
}

.decision-evidence-control {
  display: grid;
  gap: 11px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.decision-evidence-heading {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.decision-evidence-heading > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.decision-evidence-heading span,
.decision-evidence-heading small,
.decision-evidence-metrics span,
.decision-evidence-metrics small {
  color: var(--muted);
  font-size: 9px;
}

.decision-evidence-heading strong {
  color: var(--strong);
  font-size: 13px;
}

.decision-evidence-heading small {
  line-height: 1.45;
}

.decision-evidence-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 7px;
}

.decision-evidence-actions button {
  min-height: 32px;
  padding: 6px 10px;
  font-size: 9px;
}

.decision-evidence-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--line);
  background: var(--bg);
}

.decision-evidence-metrics > div {
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 58px;
  padding: 9px 10px;
  border-left: 1px solid var(--line);
}

.decision-evidence-metrics > div:first-child {
  border-left: 0;
}

.decision-evidence-metrics strong,
.decision-evidence-metrics small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-evidence-metrics strong {
  color: var(--strong);
  font-size: 12px;
}

.decision-evidence-status {
  min-height: 16px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

.decision-evidence-status.loading {
  color: var(--blue);
}

.decision-evidence-status.ok {
  color: var(--green);
}

.decision-evidence-status.warn {
  color: var(--amber);
}

.decision-evidence-status.fail {
  color: var(--red);
}

.decision-pipeline-heading {
  align-items: center;
  padding-top: 2px;
}

.decision-pipeline-heading span,
.decision-section-heading span,
.decision-context-section-heading span {
  font-size: 10px;
}

.decision-pipeline {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.decision-stage {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
  min-height: 52px;
  padding: 7px 2px;
  border-bottom: 1px solid var(--line);
}

.decision-stage > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--muted);
  background: var(--panel);
  font-size: 9px;
  font-weight: 800;
}

.decision-stage div {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.decision-stage strong {
  color: var(--text);
  font-size: 11px;
}

.decision-stage small {
  color: var(--muted);
  font-size: 9px;
}

.decision-stage em {
  min-width: 54px;
  padding: 4px 6px;
  color: var(--muted);
  border-radius: 6px;
  background: var(--bg);
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  text-align: center;
}

.decision-stage.running > span,
.decision-stage.complete > span {
  color: #ffffff;
  border-color: var(--blue);
  background: var(--blue);
}

.decision-stage.running em {
  color: #1d4ed8;
  background: var(--soft-blue);
}

.decision-stage.complete em {
  color: #166534;
  background: var(--soft-teal);
}

.decision-stage.failed > span {
  color: var(--red);
  border-color: #fecaca;
}

.decision-stage.failed em {
  color: #991b1b;
  background: #fef2f2;
}

.decision-run-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

.decision-run-actions button {
  min-width: 160px;
  min-height: 42px;
}

.decision-run-actions .decision-view-result {
  min-width: auto;
  min-height: 34px;
  margin-left: auto;
  padding: 6px 12px;
  font-size: 10px;
}

.decision-run-status {
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
}

.decision-run-status.loading {
  color: var(--blue);
}

.decision-run-status.ok {
  color: var(--green);
}

.decision-run-status.fail {
  color: var(--red);
}

.decision-create-panel {
  display: grid;
  gap: 14px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.decision-create-panel[hidden] {
  display: none;
}

.decision-create-actions {
  margin: 4px 0 0;
}

.decision-create-status {
  display: grid;
  gap: 8px;
}

.decision-created-entity {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
}

.decision-context-heading > div {
  min-width: 0;
}

.decision-context-heading h2 {
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.decision-context-heading p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.decision-context-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 16px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.decision-context-metrics div {
  display: grid;
  gap: 4px;
  padding: 12px 8px;
  border-left: 1px solid var(--line);
  text-align: center;
}

.decision-context-metrics div:first-child {
  border-left: 0;
}

.decision-context-metrics span,
.decision-context-metrics strong {
  font-size: 10px;
}

.decision-context-metrics span {
  color: var(--muted);
}

.decision-context-metrics strong {
  color: var(--strong);
  font-size: 17px;
}

.decision-context-section {
  padding-top: 15px;
}

.decision-context-section + .decision-context-section {
  margin-top: 15px;
  border-top: 1px solid var(--line);
}

.decision-context-section-heading,
.decision-section-heading {
  align-items: center;
  margin-bottom: 10px;
}

.decision-context-section-heading > strong {
  color: var(--blue);
  font-size: 16px;
}

.decision-reliability-list {
  display: grid;
  gap: 8px;
}

.decision-reliability-list > div {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 34px;
  gap: 8px;
  align-items: center;
}

.decision-reliability-list span,
.decision-reliability-list em {
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
}

.decision-reliability-list em {
  text-align: right;
}

.decision-reliability-list i,
.decision-outcome-primary i {
  display: block;
  height: 6px;
  overflow: hidden;
  border-radius: 5px;
  background: #e5e7eb;
}

.decision-reliability-list b,
.decision-outcome-primary b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--teal);
}

.decision-context-note {
  margin: 10px 0 0;
  font-size: 9px;
  line-height: 1.5;
}

.decision-context-list,
.decision-result-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.decision-context-list li,
.decision-result-list li {
  position: relative;
  padding-left: 13px;
  color: var(--text);
  font-size: 10px;
  line-height: 1.5;
}

.decision-context-list li::before,
.decision-result-list li::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--blue);
  content: "";
}

.decision-context-warning,
.decision-human-boundary {
  display: grid;
  gap: 4px;
  margin-top: 15px;
  padding: 10px;
  border: 1px solid #fde68a;
  border-radius: 8px;
  color: #92400e;
  background: var(--soft-amber);
}

.decision-context-warning strong,
.decision-human-boundary strong {
  font-size: 10px;
}

.decision-context-warning span,
.decision-human-boundary span {
  font-size: 9px;
  line-height: 1.5;
}

.decision-context-link {
  width: 100%;
  margin-top: 15px;
}

.decision-context-empty,
.decision-empty-result,
.decision-running {
  display: grid;
  place-items: center;
  min-height: 180px;
  gap: 7px;
  color: var(--muted);
  text-align: center;
}

.decision-context-empty strong,
.decision-empty-result strong,
.decision-running strong {
  color: var(--strong);
  font-size: 13px;
}

.decision-context-empty span,
.decision-empty-result span,
.decision-running span {
  max-width: 520px;
  font-size: 10px;
  line-height: 1.5;
}

.decision-result-panel > .decision-panel-heading {
  padding-bottom: 15px;
  border-bottom: 1px solid var(--line);
}

.decision-result-content {
  display: grid;
  gap: 18px;
  padding-top: 16px;
}

.decision-result-toolbar > div:first-child {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.decision-result-toolbar > div:first-child > strong {
  max-width: 760px;
  overflow-wrap: anywhere;
  color: var(--strong);
  font-size: 14px;
}

.decision-result-toolbar small {
  color: var(--muted);
  font-size: 9px;
  overflow-wrap: anywhere;
}

.decision-result-toolbar .toolbar {
  flex: 0 0 auto;
  margin: 0;
}

.decision-result-status {
  width: max-content;
  padding: 4px 7px;
  border-radius: 6px;
  color: #166534;
  background: var(--soft-teal);
  font-size: 9px;
  font-weight: 800;
}

.decision-direction-summary {
  display: grid;
  grid-template-columns: minmax(210px, 0.7fr) minmax(0, 1.5fr);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
}

.decision-direction-verdict {
  display: grid;
  align-content: center;
  min-height: 126px;
  gap: 7px;
  padding: 18px;
}

.decision-direction-verdict > span,
.decision-direction-verdict > small,
.decision-direction-item span,
.decision-direction-item small {
  color: var(--muted);
  font-size: 9px;
}

.decision-direction-verdict > strong {
  display: flex;
  gap: 10px;
  align-items: baseline;
  color: var(--strong);
}

.decision-direction-verdict > strong b {
  font-size: 24px;
}

.decision-direction-verdict > strong em {
  font-size: 18px;
  font-style: normal;
}

.decision-direction-verdict.upside > strong,
.decision-direction-item.upside > strong,
.decision-action-direction.upside {
  color: var(--green);
}

.decision-direction-verdict.neutral > strong,
.decision-direction-item.neutral > strong,
.decision-action-direction.neutral {
  color: var(--amber);
}

.decision-direction-verdict.downside > strong,
.decision-direction-item.downside > strong,
.decision-action-direction.downside {
  color: var(--red);
}

.decision-direction-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-left: 1px solid var(--line);
}

.decision-direction-item {
  display: grid;
  align-content: center;
  min-width: 0;
  gap: 6px;
  padding: 16px;
  border-left: 1px solid var(--line);
}

.decision-direction-item:first-child {
  border-left: 0;
}

.decision-direction-item.is-leading {
  background: var(--panel);
}

.decision-direction-item > strong {
  color: var(--strong);
  font-size: 18px;
}

.decision-direction-item > i {
  height: 4px;
  overflow: hidden;
  border-radius: 4px;
  background: #dbe2ea;
}

.decision-direction-item > i b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--muted);
}

.decision-direction-item.upside > i b {
  background: var(--green);
}

.decision-direction-item.neutral > i b {
  background: var(--amber);
}

.decision-direction-item.downside > i b {
  background: var(--red);
}

.decision-forecast-scope {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.decision-forecast-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
}

.decision-forecast-heading > div {
  display: grid;
  gap: 3px;
}

.decision-forecast-heading span,
.decision-forecast-heading small,
.decision-forecast-grid span,
.decision-forecast-grid small {
  color: var(--muted);
  font-size: 10px;
}

.decision-forecast-heading h3 {
  margin: 0;
  color: var(--strong);
  font-size: 15px;
}

.decision-forecast-heading > small {
  max-width: 52%;
  text-align: right;
}

.decision-forecast-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.decision-forecast-grid > div {
  display: grid;
  align-content: start;
  min-height: 98px;
  gap: 7px;
  padding: 15px 18px;
  border-left: 1px solid var(--line);
}

.decision-forecast-grid > div:first-child {
  border-left: 0;
}

.decision-forecast-grid strong {
  overflow-wrap: anywhere;
  color: var(--strong);
  font-size: 16px;
  line-height: 1.25;
}

.decision-forecast-grid small {
  line-height: 1.4;
}

.decision-player-discovery {
  display: grid;
  gap: 12px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.decision-player-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
}

.decision-player-heading > div:first-child {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.decision-player-heading span,
.decision-player-heading small,
.decision-player-item small,
.decision-player-contextual {
  color: var(--muted);
  font-size: 9px;
}

.decision-player-heading h3 {
  margin: 0;
  color: var(--strong);
  font-size: 14px;
}

.decision-player-metrics {
  display: grid;
  grid-template-columns: auto auto;
  gap: 0 6px;
  align-items: baseline;
  text-align: right;
}

.decision-player-metrics strong {
  color: var(--blue);
  font-size: 22px;
}

.decision-player-metrics > span {
  color: var(--strong);
  font-weight: 800;
}

.decision-player-metrics em {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
}

.decision-player-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  align-items: start;
}

.decision-player-item {
  display: grid;
  align-content: start;
  min-width: 0;
  min-height: 132px;
  gap: 7px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
}

.decision-player-item.critical {
  border-top: 3px solid var(--red);
}

.decision-player-item.major {
  border-top: 3px solid var(--blue);
}

.decision-player-item > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}

.decision-player-item > div span {
  padding: 2px 5px;
  border-radius: 4px;
  color: var(--blue);
  background: var(--soft-blue);
  font-size: 8px;
  font-weight: 800;
}

.decision-player-item.critical > div span {
  color: var(--red);
  background: var(--soft-red);
}

.decision-player-item > div em {
  overflow: hidden;
  color: var(--muted);
  font-size: 8px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-player-item > strong {
  overflow-wrap: anywhere;
  color: var(--strong);
  font-size: 14px;
}

.decision-player-item p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--text);
  font-size: 9px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.decision-player-contextual {
  padding-top: 2px;
}

.decision-internal-network {
  min-width: 0;
  border-top: 1px solid var(--line);
}

.decision-player-discovery > .decision-internal-network {
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.decision-internal-network summary {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  padding: 7px 0;
  color: var(--strong);
  cursor: pointer;
  font-size: 9px;
  font-weight: 800;
  list-style-position: inside;
}

.decision-internal-network summary strong {
  min-width: 20px;
  color: var(--blue);
  text-align: right;
}

.decision-internal-network ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.decision-player-discovery > .decision-internal-network ul {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.decision-internal-network li {
  display: grid;
  min-width: 0;
  gap: 4px;
  padding: 8px 10px;
  border-left: 2px solid var(--line);
}

.decision-internal-network li.is-covert {
  border-left-color: var(--amber);
}

.decision-internal-network li > div {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.decision-internal-network li strong {
  overflow-wrap: anywhere;
  color: var(--strong);
  font-size: 9px;
}

.decision-internal-network li em,
.decision-internal-network li small,
.decision-internal-network li p,
.decision-player-evidence-note {
  color: var(--muted);
  font-size: 8px;
}

.decision-internal-network li em {
  font-style: normal;
}

.decision-internal-network li p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.decision-player-evidence-note {
  padding-left: 9px;
  border-left: 2px solid var(--amber);
}

.decision-outcome-strip {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(180px, 0.7fr));
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
}

.decision-outcome-strip > div {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 114px;
  gap: 5px;
  padding: 16px;
  border-left: 1px solid var(--line);
}

.decision-outcome-strip > div:first-child {
  border-left: 0;
}

.decision-outcome-strip span,
.decision-outcome-strip small {
  color: var(--muted);
  font-size: 9px;
}

.decision-outcome-strip strong {
  overflow: hidden;
  color: var(--strong);
  font-size: 18px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-outcome-primary > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 8px;
  align-items: center;
}

.decision-outcome-primary em {
  color: var(--blue);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  text-align: right;
}

.decision-outcome-primary b {
  background: var(--blue);
}

.decision-outcome-reliability strong {
  color: var(--teal);
}

.decision-result-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(290px, 0.68fr);
  gap: 20px;
  align-items: start;
}

.decision-action-ranking {
  display: grid;
  gap: 10px;
}

.decision-action-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.decision-action-card.is-leading {
  border-color: #93c5fd;
  box-shadow: 0 7px 18px rgba(37, 99, 235, 0.07);
}

.decision-action-head {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 64px;
  gap: 10px;
  align-items: start;
}

.decision-action-rank {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--blue);
  background: var(--soft-blue);
  font-size: 9px;
  font-weight: 800;
}

.decision-action-head > div:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.decision-action-head > div:nth-child(2) strong {
  color: var(--strong);
  font-size: 12px;
}

.decision-action-direction {
  display: inline-block;
  margin-left: 5px;
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.decision-action-head > div:nth-child(2) small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.decision-action-score {
  display: grid;
  gap: 2px;
  text-align: right;
}

.decision-action-score strong {
  color: var(--blue);
  font-size: 16px;
}

.decision-action-score span {
  color: var(--muted);
  font-size: 8px;
}

.decision-action-bar {
  height: 5px;
  overflow: hidden;
  border-radius: 5px;
  background: #e5e7eb;
}

.decision-action-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--blue);
}

.decision-action-tags {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.decision-action-tags > span,
.decision-action-reasons > span,
.decision-trace-components > span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}

.decision-action-tags > div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.decision-action-tags em {
  padding: 3px 5px;
  border-radius: 5px;
  color: var(--text);
  background: var(--bg);
  font-size: 8px;
  font-style: normal;
}

.decision-action-tags.constraint em,
.decision-action-tags.risk em {
  color: #991b1b;
  background: #fef2f2;
}

.decision-action-tags.effect em {
  color: #166534;
  background: var(--soft-teal);
}

.decision-action-reasons,
.decision-trace-components {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 8px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
}

.decision-trace-components > div {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
}

.decision-trace-components em {
  display: grid;
  gap: 2px;
  font-style: normal;
}

.decision-trace-components small {
  color: var(--muted);
  font-size: 8px;
}

.decision-trace-components strong {
  color: var(--text);
  font-size: 9px;
}

.decision-result-aside {
  display: grid;
  border-left: 1px solid var(--line);
}

.decision-result-aside > section {
  padding: 0 0 16px 18px;
}

.decision-result-aside > section + section {
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.decision-modeling-list {
  display: grid;
  border-top: 1px solid var(--line);
}

.decision-modeling-list > div {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) max-content;
  gap: 8px;
  align-items: center;
  min-height: 48px;
  border-bottom: 1px solid var(--line);
}

.decision-attempt-status {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--amber);
}

.decision-attempt-status.completed,
.decision-attempt-status.success,
.decision-attempt-status.succeeded {
  background: var(--green);
}

.decision-attempt-status.failed,
.decision-attempt-status.error {
  background: var(--red);
}

.decision-modeling-list p {
  display: grid;
  gap: 2px;
  min-width: 0;
  margin: 0;
}

.decision-modeling-list strong,
.decision-modeling-list small,
.decision-modeling-list em,
.decision-modeling-empty strong,
.decision-modeling-empty span {
  font-size: 9px;
}

.decision-modeling-list small,
.decision-modeling-list em,
.decision-modeling-empty span {
  color: var(--muted);
}

.decision-modeling-list small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-modeling-list em {
  font-style: normal;
}

.decision-modeling-empty {
  display: grid;
  gap: 4px;
}

.decision-artifact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.decision-artifact-grid > div {
  display: grid;
  gap: 3px;
  min-height: 64px;
  padding: 11px;
  border-left: 1px solid var(--line);
  border-top: 1px solid var(--line);
}

.decision-artifact-grid > div:nth-child(odd) {
  border-left: 0;
}

.decision-artifact-grid > div:nth-child(-n + 2) {
  border-top: 0;
}

.decision-artifact-grid strong {
  color: var(--strong);
  font-size: 17px;
}

.decision-artifact-grid span {
  color: var(--muted);
  font-size: 9px;
}

.decision-warning-section .decision-result-list li::before {
  background: var(--amber);
}

.decision-human-boundary {
  margin: 0 0 0 18px;
}

body[data-theme="dark"] .decision-mode-option.active,
body[data-theme="dark"] .decision-action-card {
  background: #111b2f;
}

body[data-theme="dark"] .decision-reliability-list i,
body[data-theme="dark"] .decision-outcome-primary i,
body[data-theme="dark"] .decision-action-bar,
body[data-theme="dark"] .decision-direction-item > i {
  background: #334155;
}

body[data-theme="dark"] .decision-action-tags.constraint em,
body[data-theme="dark"] .decision-action-tags.risk em,
body[data-theme="dark"] .decision-stage.failed em {
  color: #fca5a5;
  background: #450a0a;
}

body[data-theme="dark"] .decision-action-tags.effect em,
body[data-theme="dark"] .decision-stage.complete em,
body[data-theme="dark"] .decision-result-status {
  color: #86efac;
  background: #14532d;
}

body[data-theme="dark"] .decision-context-warning,
body[data-theme="dark"] .decision-human-boundary {
  color: #fde68a;
  border-color: #713f12;
}

@media (max-width: 1100px) {
  .decision-workspace-grid,
  .decision-result-layout {
    grid-template-columns: 1fr;
  }

  .decision-context-panel {
    position: static;
  }

  .decision-agent-band {
    grid-template-columns: minmax(220px, 1.2fr) repeat(4, minmax(115px, 0.7fr));
  }

  .decision-result-aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .decision-result-aside > section,
  .decision-result-aside > section + section {
    padding: 16px;
    border-top: 0;
    border-left: 1px solid var(--line);
  }

  .decision-result-aside > section:nth-child(odd) {
    border-left: 0;
  }

  .decision-human-boundary {
    margin: 16px;
  }
}

@media (max-width: 800px) {
  .decision-agent-band {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .decision-agent-band-title {
    grid-column: 1 / -1;
  }

  .decision-agent-band > div {
    border-top: 1px solid var(--line);
  }

  .decision-agent-band-title,
  .decision-agent-band > div:nth-child(2) {
    border-left: 0;
  }

  .decision-agent-band-title {
    border-top: 0;
  }

  .decision-task-inputs {
    grid-template-columns: 1fr;
  }

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

  .decision-direction-grid {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

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

  .decision-forecast-grid > div:nth-child(odd) {
    border-left: 0;
  }

  .decision-forecast-grid > div:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

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

  .decision-agent-loop .decision-stage:nth-child(even) {
    border-right: 0;
  }

  .decision-agent-loop .decision-stage:nth-child(-n + 4) {
    border-bottom: 1px solid var(--line);
  }

  .decision-agent-loop .decision-stage:last-child {
    grid-column: 1 / -1;
  }

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

  .decision-summary-item:nth-child(odd) {
    border-left: 0;
  }

  .decision-summary-item:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

  .decision-outcome-strip {
    grid-template-columns: 1fr 1fr;
  }

  .decision-outcome-primary {
    grid-column: 1 / -1;
  }

  .decision-outcome-strip > div:nth-child(2) {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .decision-outcome-strip > div:nth-child(3) {
    border-top: 1px solid var(--line);
  }

  .decision-result-toolbar {
    flex-direction: column;
  }

  .decision-result-toolbar .toolbar {
    width: 100%;
  }

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

  .decision-evidence-metrics > div:nth-child(3) {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .decision-evidence-metrics > div:nth-child(4) {
    border-top: 1px solid var(--line);
  }
}

@media (max-width: 600px) {
  .decision-agent-band,
  .decision-agent-loop {
    grid-template-columns: 1fr;
  }

  .decision-agent-band-title {
    grid-column: auto;
  }

  .decision-agent-band > div,
  .decision-agent-band > div:nth-child(2) {
    min-height: 68px;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .decision-agent-band-title {
    border-top: 0;
  }

  .decision-agent-loop .decision-stage,
  .decision-agent-loop .decision-stage:nth-child(2) {
    grid-column: auto;
    min-height: 66px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .decision-agent-loop .decision-stage:last-child {
    border-bottom: 0;
  }

  .decision-player-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .decision-player-metrics {
    text-align: left;
  }

  .decision-player-discovery > .decision-internal-network ul {
    grid-template-columns: 1fr;
  }

  .decision-advanced-panel > summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .decision-summary-item {
    min-height: 86px;
    padding: 14px;
  }

  .decision-summary-item strong {
    font-size: 17px;
  }

  .decision-panel-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .decision-evidence-heading,
  .decision-evidence-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .decision-evidence-actions button {
    width: 100%;
  }

  .decision-evidence-metrics {
    grid-template-columns: 1fr;
  }

  .decision-evidence-metrics > div,
  .decision-evidence-metrics > div:nth-child(2),
  .decision-evidence-metrics > div:nth-child(3),
  .decision-evidence-metrics > div:nth-child(4) {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .decision-evidence-metrics > div:first-child {
    border-top: 0;
  }

  .decision-mode-control,
  .decision-result-aside {
    grid-template-columns: 1fr;
  }

  .decision-mode-option strong,
  .decision-mode-option small {
    white-space: normal;
  }

  .decision-run-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .decision-run-actions button {
    width: 100%;
  }

  .decision-run-actions .decision-view-result {
    margin-left: 0;
  }

  .decision-result-aside > section,
  .decision-result-aside > section + section {
    padding: 16px 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .decision-human-boundary {
    margin: 16px 0 0;
  }

  .decision-action-head {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .decision-action-score {
    grid-column: 2;
    grid-template-columns: max-content max-content;
    align-items: center;
    justify-content: start;
    text-align: left;
  }

  .decision-action-tags,
  .decision-action-reasons,
  .decision-trace-components {
    grid-template-columns: 1fr;
  }

  .decision-trace-components > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.scenario-page,
.scenario-workspace {
  display: grid;
  gap: 16px;
}

.scenario-page {
  max-width: 1380px;
  margin: 0 auto;
}

.scenario-loader-band {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(360px, 1.25fr) max-content;
  gap: 20px;
  align-items: end;
  box-shadow: 0 8px 26px rgba(15, 23, 42, 0.045);
}

.scenario-loader-copy h2 {
  margin: 3px 0 0;
}

.scenario-loader-copy p {
  max-width: 480px;
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.scenario-loader-form {
  display: grid;
  gap: 6px;
}

.scenario-loader-form label {
  color: var(--muted);
  font-size: 10px;
}

.scenario-loader-form > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 8px;
}

.scenario-loader-form input,
.scenario-loader-form button {
  min-height: 38px;
}

.scenario-loader-form > span {
  min-height: 15px;
  color: var(--muted);
  font-size: 9px;
}

.scenario-loader-form > span.loading {
  color: var(--blue);
}

.scenario-loader-form > span.ok {
  color: var(--green);
}

.scenario-loader-form > span.fail {
  color: var(--red);
}

.scenario-loader-actions {
  display: grid;
  gap: 8px;
}

.scenario-loader-actions button {
  width: 100%;
  white-space: nowrap;
}

.scenario-empty-workspace {
  display: grid;
  place-items: center;
  min-height: 320px;
  gap: 7px;
  padding: 24px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  color: var(--muted);
  text-align: center;
}

.scenario-empty-workspace strong {
  color: var(--strong);
  font-size: 15px;
}

.scenario-empty-workspace span {
  font-size: 10px;
}

.scenario-empty-workspace.error {
  color: var(--red);
  border-color: #fecaca;
  background: #fef2f2;
}

.scenario-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.scenario-summary-item {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 94px;
  padding: 16px 18px;
  border-left: 1px solid var(--line);
}

.scenario-summary-item:first-child {
  border-left: 0;
}

.scenario-summary-item span,
.scenario-summary-item small {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-summary-item strong {
  margin: 5px 0 4px;
  overflow: hidden;
  color: var(--strong);
  font-size: 19px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-summary-item:nth-child(3) strong {
  color: var(--blue);
}

.scenario-main-layout {
  display: grid;
  grid-template-columns: minmax(190px, 0.58fr) minmax(390px, 1.35fr) minmax(250px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.scenario-branch-panel,
.scenario-path-panel,
.scenario-inspector-panel,
.scenario-comparison-panel {
  box-shadow: 0 8px 26px rgba(15, 23, 42, 0.045);
}

.scenario-branch-panel,
.scenario-inspector-panel {
  position: sticky;
  top: 166px;
}

.scenario-section-heading,
.scenario-path-heading,
.scenario-inspector-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.scenario-section-heading h2,
.scenario-inspector-section-heading h3,
.scenario-path-heading h2 {
  margin: 2px 0 0;
}

.scenario-section-heading > span,
.scenario-inspector-section-heading > span {
  color: var(--muted);
  font-size: 9px;
}

.scenario-inspector-panel > .scenario-section-heading > span {
  color: var(--blue);
  font-size: 17px;
  font-weight: 800;
}

.scenario-branch-list {
  display: grid;
  gap: 6px;
  margin-top: 14px;
}

.scenario-branch-button {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) 48px;
  gap: 8px;
  align-items: center;
  width: 100%;
  min-height: 70px;
  padding: 9px;
  color: var(--text);
  border-color: transparent;
  background: transparent;
  text-align: left;
}

.scenario-branch-button:hover {
  border-color: var(--line);
  background: var(--bg);
}

.scenario-branch-button.active {
  border-color: #93c5fd;
  background: var(--soft-blue);
}

.scenario-branch-rank {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  color: var(--blue);
  background: var(--panel);
  font-size: 8px;
  font-weight: 800;
}

.scenario-branch-copy,
.scenario-branch-probability {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.scenario-branch-copy strong,
.scenario-branch-copy small,
.scenario-branch-probability strong,
.scenario-branch-probability small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-branch-copy strong {
  color: var(--strong);
  font-size: 10px;
}

.scenario-branch-copy small,
.scenario-branch-probability small {
  color: var(--muted);
  font-size: 8px;
}

.scenario-branch-probability {
  text-align: right;
}

.scenario-branch-probability strong {
  color: var(--blue);
  font-size: 14px;
}

.scenario-branch-note,
.scenario-boundary {
  display: grid;
  gap: 4px;
  margin-top: 14px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: var(--bg);
}

.scenario-branch-note strong,
.scenario-boundary strong {
  color: var(--strong);
  font-size: 9px;
}

.scenario-branch-note span,
.scenario-boundary span {
  font-size: 8px;
  line-height: 1.5;
}

.scenario-path-heading {
  align-items: flex-start;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line);
}

.scenario-path-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.scenario-path-legend span {
  position: relative;
  padding: 4px 6px 4px 15px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  background: var(--panel);
  font-size: 8px;
}

.scenario-path-legend span::before {
  position: absolute;
  top: 7px;
  left: 6px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--blue);
  content: "";
}

.scenario-path-legend .reaction::before {
  background: var(--teal);
}

.scenario-path-legend .effect::before {
  background: var(--green);
}

.scenario-path-legend .risk::before {
  background: var(--amber);
}

.scenario-question-band {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 14px 0;
  padding: 11px 12px;
  border-left: 3px solid var(--blue);
  border-radius: 0 8px 8px 0;
  background: var(--soft-blue);
}

.scenario-question-band span {
  color: var(--blue);
  font-size: 9px;
  font-weight: 800;
}

.scenario-question-band strong {
  color: var(--strong);
  font-size: 11px;
  line-height: 1.5;
}

.scenario-path-view {
  position: relative;
  display: grid;
  gap: 0;
  padding-left: 2px;
}

.scenario-path-view::before {
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 16px;
  width: 1px;
  background: var(--line);
  content: "";
}

.scenario-path-node {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 58px;
  gap: 10px;
  align-items: start;
  min-height: 78px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.scenario-path-node:last-child {
  border-bottom: 0;
}

.scenario-node-marker {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 2px solid var(--panel);
  border-radius: 50%;
  color: #ffffff;
  background: var(--blue);
  box-shadow: 0 0 0 1px #bfdbfe;
  font-size: 9px;
  font-weight: 800;
}

.scenario-path-node.reaction .scenario-node-marker {
  background: var(--teal);
  box-shadow: 0 0 0 1px #99f6e4;
}

.scenario-path-node.effect .scenario-node-marker {
  background: var(--green);
  box-shadow: 0 0 0 1px #bbf7d0;
}

.scenario-path-node.risk .scenario-node-marker {
  color: #78350f;
  background: #fbbf24;
  box-shadow: 0 0 0 1px #fde68a;
}

.scenario-path-node.root .scenario-node-marker {
  color: var(--blue);
  background: var(--panel);
}

.scenario-path-node > div:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.scenario-path-node > div:nth-child(2) > span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
}

.scenario-path-node > div:nth-child(2) > strong {
  color: var(--strong);
  font-size: 11px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.scenario-path-node > div:nth-child(2) > small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.scenario-path-node.branch > div:nth-child(2) > strong {
  color: var(--blue);
  font-size: 12px;
}

.scenario-node-score {
  display: grid;
  gap: 2px;
  text-align: right;
}

.scenario-node-score strong {
  color: var(--strong);
  font-size: 14px;
}

.scenario-node-score small,
.scenario-node-score em {
  color: var(--muted);
  font-size: 7px;
  font-style: normal;
}

.scenario-inline-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 3px;
}

.scenario-inline-tags em {
  padding: 3px 5px;
  border-radius: 5px;
  color: #166534;
  background: var(--soft-teal);
  font-size: 8px;
  font-style: normal;
}

.scenario-inline-tags em.risk {
  color: #92400e;
  background: var(--soft-amber);
}

.scenario-path-empty {
  margin-left: 40px;
  padding: 16px 0;
  color: var(--muted);
  font-size: 9px;
}

.scenario-inspector-lead {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.scenario-inspector-lead > strong {
  color: var(--strong);
  font-size: 12px;
  line-height: 1.4;
}

.scenario-inspector-lead p {
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.scenario-inspector-lead > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 8px;
}

.scenario-inspector-lead > div span {
  display: grid;
  gap: 3px;
  padding: 9px;
  color: var(--muted);
  font-size: 8px;
}

.scenario-inspector-lead > div span + span {
  border-left: 1px solid var(--line);
}

.scenario-inspector-lead > div strong {
  color: var(--strong);
  font-size: 12px;
}

.scenario-inspector-section {
  padding-top: 14px;
}

.scenario-inspector-section + .scenario-inspector-section {
  margin-top: 14px;
  border-top: 1px solid var(--line);
}

.scenario-inspector-counts,
.scenario-trace-assets {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.scenario-inspector-counts > div,
.scenario-trace-assets > div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 5px;
  border-left: 1px solid var(--line);
  text-align: center;
}

.scenario-inspector-counts > div:first-child,
.scenario-trace-assets > div:first-child {
  border-left: 0;
}

.scenario-inspector-counts strong,
.scenario-trace-assets strong {
  color: var(--strong);
  font-size: 14px;
}

.scenario-inspector-counts span,
.scenario-trace-assets span {
  overflow: hidden;
  color: var(--muted);
  font-size: 7px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-inspector-list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.scenario-inspector-list li {
  position: relative;
  padding-left: 13px;
  color: var(--text);
  font-size: 9px;
  line-height: 1.5;
}

.scenario-inspector-list li::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--green);
  content: "";
}

.scenario-inspector-list.risk li::before,
.scenario-inspector-list.missing li::before {
  background: var(--amber);
}

.scenario-reaction-list {
  display: grid;
  gap: 6px;
}

.scenario-reaction-list > div {
  display: grid;
  gap: 3px;
  padding-left: 9px;
  border-left: 2px solid var(--teal);
}

.scenario-reaction-list strong,
.scenario-reaction-list span {
  font-size: 9px;
  line-height: 1.4;
}

.scenario-reaction-list span {
  color: var(--muted);
}

.scenario-evidence-section {
  padding: 12px;
  border: 1px solid #fde68a;
  border-radius: 8px;
  background: var(--soft-amber);
}

.scenario-evidence-section + .scenario-boundary {
  margin-top: 14px;
}

.scenario-boundary {
  color: #92400e;
  border-color: #fde68a;
  background: var(--soft-amber);
}

.scenario-comparison-panel > .scenario-section-heading {
  margin-bottom: 14px;
}

.scenario-comparison-shell {
  overflow-x: auto;
}

.scenario-comparison-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  table-layout: fixed;
}

.scenario-comparison-table th,
.scenario-comparison-table td {
  padding: 10px;
  border-bottom: 1px solid var(--line);
  font-size: 9px;
  text-align: left;
}

.scenario-comparison-table th {
  color: var(--muted);
  background: var(--bg);
  font-weight: 700;
}

.scenario-comparison-table th:first-child {
  width: 36%;
}

.scenario-comparison-table th:last-child {
  width: 68px;
}

.scenario-comparison-table td:first-child {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
}

.scenario-comparison-table td:first-child > span {
  color: var(--blue);
  font-weight: 800;
}

.scenario-comparison-table td:first-child > strong {
  overflow: hidden;
  color: var(--strong);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-comparison-table tr.selected td {
  background: var(--soft-blue);
}

.scenario-comparison-table tbody tr:hover td {
  background: var(--bg);
}

.scenario-comparison-table button {
  min-height: 27px;
  padding: 4px 8px;
}

body[data-theme="dark"] .scenario-branch-button.active,
body[data-theme="dark"] .scenario-comparison-table tr.selected td,
body[data-theme="dark"] .scenario-question-band {
  background: #13233c;
}

body[data-theme="dark"] .scenario-path-legend span,
body[data-theme="dark"] .scenario-node-marker,
body[data-theme="dark"] .scenario-branch-rank {
  background: #111b2f;
  border-color: var(--line);
}

body[data-theme="dark"] .scenario-node-marker {
  color: #93c5fd;
}

body[data-theme="dark"] .scenario-path-node.reaction .scenario-node-marker,
body[data-theme="dark"] .scenario-path-node.effect .scenario-node-marker {
  color: #ffffff;
}

body[data-theme="dark"] .scenario-inline-tags em {
  color: #86efac;
  background: #14532d;
}

body[data-theme="dark"] .scenario-inline-tags em.risk,
body[data-theme="dark"] .scenario-evidence-section,
body[data-theme="dark"] .scenario-boundary {
  color: #fde68a;
  background: #32270e;
  border-color: #713f12;
}

body[data-theme="dark"] .scenario-comparison-table th,
body[data-theme="dark"] .scenario-comparison-table tbody tr:hover td {
  background: #111b2f;
}

body[data-theme="dark"] .scenario-empty-workspace.error {
  color: #fca5a5;
  background: #450a0a;
  border-color: #7f1d1d;
}

@media (max-width: 1180px) {
  .scenario-main-layout {
    grid-template-columns: minmax(220px, 0.62fr) minmax(0, 1.38fr);
  }

  .scenario-inspector-panel {
    position: static;
    grid-column: 1 / -1;
  }

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

  .scenario-inspector-panel > .scenario-section-heading,
  .scenario-inspector-panel > .scenario-inspector-lead,
  .scenario-inspector-panel > .scenario-boundary {
    grid-column: 1 / -1;
  }
}

@media (max-width: 920px) {
  .scenario-loader-band {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

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

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

  .scenario-summary-item:nth-child(odd) {
    border-left: 0;
  }

  .scenario-summary-item:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

  .scenario-main-layout {
    grid-template-columns: 1fr;
  }

  .scenario-branch-panel,
  .scenario-inspector-panel {
    position: static;
  }

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

  .scenario-inspector-panel {
    grid-column: auto;
  }
}

@media (max-width: 600px) {
  .scenario-loader-form > div,
  .scenario-loader-actions,
  .scenario-branch-list,
  .scenario-inspector-panel {
    grid-template-columns: 1fr;
  }

  .scenario-loader-form button {
    width: 100%;
  }

  .scenario-summary-item {
    min-height: 78px;
    padding: 13px;
  }

  .scenario-summary-item strong {
    font-size: 16px;
  }

  .scenario-path-heading {
    flex-direction: column;
  }

  .scenario-path-legend {
    justify-content: flex-start;
  }

  .scenario-question-band {
    grid-template-columns: 1fr;
  }

  .scenario-path-node {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .scenario-node-score {
    grid-column: 2;
    grid-template-columns: max-content max-content max-content;
    gap: 7px;
    align-items: center;
    justify-content: start;
    text-align: left;
  }

  .scenario-inspector-panel > .scenario-section-heading,
  .scenario-inspector-panel > .scenario-inspector-lead,
  .scenario-inspector-panel > .scenario-boundary {
    grid-column: auto;
  }
}

.probability-page,
.probability-workspace {
  display: grid;
  gap: 16px;
}

.probability-page {
  max-width: 1380px;
  margin: 0 auto;
}

.probability-loader-band {
  display: grid;
  grid-template-columns: minmax(220px, 0.78fr) minmax(460px, 1.5fr) max-content;
  gap: 20px;
  align-items: end;
  box-shadow: 0 8px 26px rgba(15, 23, 42, 0.045);
}

.probability-loader-copy h2 {
  margin: 3px 0 0;
}

.probability-loader-copy p {
  max-width: 480px;
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.probability-loader-form {
  display: grid;
  grid-template-columns: minmax(150px, 0.65fr) minmax(220px, 1.1fr) max-content;
  gap: 8px;
  align-items: end;
}

.probability-loader-form button,
.probability-loader-form select,
.probability-loader-form input {
  min-height: 38px;
}

.probability-loader-form > span {
  grid-column: 1 / -1;
  min-height: 14px;
  color: var(--muted);
  font-size: 9px;
}

.probability-loader-form > span.loading {
  color: var(--blue);
}

.probability-loader-form > span.ok {
  color: var(--green);
}

.probability-loader-form > span.warn {
  color: var(--amber);
}

.probability-loader-form > span.fail {
  color: var(--red);
}

.probability-loader-actions {
  display: grid;
  gap: 8px;
}

.probability-loader-actions button {
  width: 100%;
  white-space: nowrap;
}

.probability-empty-workspace {
  display: grid;
  place-items: center;
  min-height: 320px;
  gap: 7px;
  padding: 24px;
  color: var(--muted);
  border: 1px dashed var(--line);
  border-radius: 8px;
  text-align: center;
}

.probability-empty-workspace strong {
  color: var(--strong);
  font-size: 15px;
}

.probability-empty-workspace span {
  max-width: 580px;
  font-size: 10px;
  line-height: 1.5;
}

.probability-empty-workspace.error {
  color: var(--red);
  border-color: #fecaca;
  background: #fef2f2;
}

.probability-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.probability-summary-item {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 94px;
  padding: 16px 18px;
  border-left: 1px solid var(--line);
}

.probability-summary-item:first-child {
  border-left: 0;
}

.probability-summary-item span,
.probability-summary-item small {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.probability-summary-item strong {
  margin: 5px 0 4px;
  overflow: hidden;
  color: var(--strong);
  font-size: 19px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.probability-summary-item:nth-child(3) strong {
  color: var(--blue);
}

.probability-main-layout {
  display: grid;
  grid-template-columns: minmax(200px, 0.6fr) minmax(410px, 1.42fr) minmax(250px, 0.76fr);
  gap: 16px;
  align-items: start;
}

.probability-ranking-panel,
.probability-inspector-panel {
  position: sticky;
  top: 166px;
}

.probability-ranking-panel,
.probability-score-panel,
.probability-inspector-panel,
.probability-comparison-panel {
  box-shadow: 0 8px 26px rgba(15, 23, 42, 0.045);
}

.probability-section-heading,
.probability-score-heading,
.probability-component-heading,
.probability-inspector-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.probability-section-heading h2,
.probability-score-heading h2,
.probability-component-heading h3,
.probability-inspector-heading h3 {
  margin: 2px 0 0;
}

.probability-section-heading > span,
.probability-component-heading > span,
.probability-inspector-heading > span {
  color: var(--muted);
  font-size: 9px;
}

.probability-inspector-panel > .probability-section-heading > span {
  color: var(--blue);
  font-size: 17px;
  font-weight: 800;
}

.probability-ranking-list {
  display: grid;
  gap: 6px;
  margin-top: 14px;
}

.probability-ranking-button {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) 48px;
  gap: 7px;
  align-items: center;
  width: 100%;
  min-height: 68px;
  padding: 9px;
  color: var(--text);
  border-color: transparent;
  background: transparent;
  text-align: left;
}

.probability-ranking-button:hover {
  border-color: var(--line);
  background: var(--bg);
}

.probability-ranking-button.active {
  border-color: #93c5fd;
  background: var(--soft-blue);
}

.probability-ranking-index {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  color: var(--blue);
  background: var(--panel);
  font-size: 8px;
  font-weight: 800;
}

.probability-ranking-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.probability-ranking-copy strong,
.probability-ranking-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.probability-ranking-copy strong {
  color: var(--strong);
  font-size: 10px;
}

.probability-ranking-copy small {
  color: var(--muted);
  font-size: 8px;
}

.probability-ranking-value {
  color: var(--blue);
  font-size: 14px;
  font-weight: 800;
  text-align: right;
}

.probability-ranking-button > i {
  grid-column: 2 / -1;
  display: block;
  height: 4px;
  overflow: hidden;
  border-radius: 4px;
  background: #e5e7eb;
}

.probability-ranking-button > i > b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--blue);
}

.probability-ranking-note,
.probability-normalization-note,
.probability-boundary {
  display: grid;
  gap: 4px;
  margin-top: 14px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: var(--bg);
}

.probability-ranking-note strong,
.probability-normalization-note strong,
.probability-boundary strong {
  color: var(--strong);
  font-size: 9px;
}

.probability-ranking-note span,
.probability-normalization-note span,
.probability-boundary span {
  font-size: 8px;
  line-height: 1.5;
}

.probability-score-heading {
  align-items: flex-start;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.probability-score-heading > div:first-child {
  min-width: 0;
}

.probability-score-heading h2 {
  overflow-wrap: anywhere;
}

.probability-score-heading p {
  max-width: 520px;
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.probability-score-outcome {
  display: grid;
  flex: 0 0 92px;
  gap: 3px;
  text-align: right;
}

.probability-score-outcome span,
.probability-score-outcome small {
  color: var(--muted);
  font-size: 8px;
}

.probability-score-outcome strong {
  color: var(--blue);
  font-size: 24px;
}

.probability-score-equation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  margin: 14px 0 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
}

.probability-score-equation > div {
  display: grid;
  min-width: 0;
  gap: 3px;
  padding: 12px;
}

.probability-score-equation span,
.probability-score-equation small {
  color: var(--muted);
  font-size: 8px;
}

.probability-score-equation strong {
  color: var(--strong);
  font-size: 17px;
}

.probability-score-equation > div:last-child strong {
  color: var(--blue);
}

.probability-equation-arrow {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--blue) !important;
  background: var(--panel);
  font-size: 13px !important;
}

.probability-component-heading {
  margin-bottom: 10px;
}

.probability-component-chart {
  display: grid;
  border-top: 1px solid var(--line);
}

.probability-component-row {
  display: grid;
  grid-template-columns: minmax(104px, 0.76fr) minmax(160px, 1.45fr) 58px;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}

.probability-component-row > div:first-child {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.probability-component-row > div:first-child strong {
  color: var(--strong);
  font-size: 10px;
}

.probability-component-row > div:first-child small {
  color: var(--muted);
  font-size: 8px;
  line-height: 1.4;
}

.probability-component-track {
  position: relative;
  height: 12px;
  border-radius: 4px;
  background: linear-gradient(90deg, #fff7f7 0%, var(--bg) 49%, var(--bg) 51%, var(--soft-blue) 100%);
}

.probability-component-track .zero {
  position: absolute;
  top: -4px;
  bottom: -4px;
  left: 50%;
  width: 1px;
  background: var(--muted);
  opacity: 0.55;
}

.probability-component-track b {
  position: absolute;
  top: 2px;
  height: 8px;
  border-radius: 3px;
  background: var(--blue);
}

.probability-component-row.state .probability-component-track b {
  background: var(--teal);
}

.probability-component-row.pattern .probability-component-track b {
  background: var(--green);
}

.probability-component-row.graph .probability-component-track b {
  background: #0e7490;
}

.probability-component-row.risk .probability-component-track b {
  background: var(--red);
}

.probability-component-row > em {
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  text-align: right;
}

.probability-component-row > em.positive {
  color: var(--green);
}

.probability-component-row > em.negative {
  color: var(--red);
}

.probability-normalization-note {
  border-color: #bfdbfe;
  color: #1d4ed8;
  background: var(--soft-blue);
}

.probability-explanation-section {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.probability-explanation-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.probability-explanation-list li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  min-height: 58px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}

.probability-explanation-list li > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--blue);
  background: var(--soft-blue);
  font-size: 8px;
  font-weight: 800;
}

.probability-explanation-list li > div {
  display: grid;
  gap: 3px;
}

.probability-explanation-list strong {
  color: var(--strong);
  font-size: 9px;
}

.probability-explanation-list p {
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.probability-confidence-block {
  display: grid;
  gap: 7px;
  margin-top: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.probability-confidence-block > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}

.probability-confidence-block span,
.probability-confidence-block small {
  color: var(--muted);
  font-size: 8px;
}

.probability-confidence-block strong {
  color: var(--teal);
  font-size: 15px;
}

.probability-confidence-block > i {
  display: block;
  height: 6px;
  overflow: hidden;
  border-radius: 5px;
  background: #e5e7eb;
}

.probability-confidence-block > i > b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--teal);
}

.probability-inspector-section {
  padding-top: 14px;
}

.probability-inspector-section + .probability-inspector-section {
  margin-top: 14px;
  border-top: 1px solid var(--line);
}

.probability-ref-counts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.probability-ref-counts > div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 5px;
  border-left: 1px solid var(--line);
  text-align: center;
}

.probability-ref-counts > div:first-child {
  border-left: 0;
}

.probability-ref-counts strong {
  color: var(--strong);
  font-size: 14px;
}

.probability-ref-counts span {
  color: var(--muted);
  font-size: 7px;
}

.probability-reference-list,
.probability-inspector-list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.probability-reference-list li,
.probability-inspector-list li {
  position: relative;
  min-width: 0;
  padding-left: 13px;
  color: var(--text);
  font-size: 8px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.probability-reference-list li::before,
.probability-inspector-list li::before {
  position: absolute;
  top: 5px;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--blue);
  content: "";
}

.probability-reference-list li.more {
  color: var(--muted);
}

.probability-inspector-list.sensitivity li::before {
  background: var(--teal);
}

.probability-inspector-list.missing li::before {
  background: var(--amber);
}

.probability-sensitivity-section {
  padding: 11px;
  border: 1px solid #99f6e4;
  border-radius: 8px;
  background: var(--soft-teal);
}

.probability-missing-section {
  padding: 11px;
  border: 1px solid #fde68a;
  border-radius: 8px;
  background: var(--soft-amber);
}

.probability-trace-id {
  display: grid;
  gap: 3px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.probability-trace-id span,
.probability-trace-id small {
  color: var(--muted);
  font-size: 7px;
}

.probability-trace-id strong {
  overflow: hidden;
  color: var(--text);
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.probability-boundary {
  color: #92400e;
  border-color: #fde68a;
  background: var(--soft-amber);
}

.probability-comparison-panel > .probability-section-heading {
  margin-bottom: 14px;
}

.probability-comparison-shell {
  overflow-x: auto;
}

.probability-comparison-table {
  width: 100%;
  min-width: 880px;
  border-collapse: collapse;
  table-layout: fixed;
}

.probability-comparison-table th,
.probability-comparison-table td {
  padding: 10px 8px;
  border-bottom: 1px solid var(--line);
  font-size: 8px;
  text-align: left;
}

.probability-comparison-table th {
  color: var(--muted);
  background: var(--bg);
  font-weight: 700;
}

.probability-comparison-table th:first-child {
  width: 29%;
}

.probability-comparison-table th:last-child {
  width: 60px;
}

.probability-comparison-table td:first-child {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 6px;
  align-items: center;
}

.probability-comparison-table td:first-child > span {
  color: var(--blue);
  font-weight: 800;
}

.probability-comparison-table td:first-child > strong {
  overflow: hidden;
  color: var(--strong);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.probability-comparison-table td.risk {
  color: var(--red);
}

.probability-comparison-table tr.selected td {
  background: var(--soft-blue);
}

.probability-comparison-table tbody tr:hover td {
  background: var(--bg);
}

.probability-comparison-table button {
  min-height: 27px;
  padding: 4px 8px;
}

body[data-theme="dark"] .probability-ranking-button.active,
body[data-theme="dark"] .probability-comparison-table tr.selected td,
body[data-theme="dark"] .probability-normalization-note {
  background: #13233c;
}

body[data-theme="dark"] .probability-ranking-index,
body[data-theme="dark"] .probability-equation-arrow {
  background: #111b2f;
}

body[data-theme="dark"] .probability-ranking-button > i,
body[data-theme="dark"] .probability-confidence-block > i {
  background: #334155;
}

body[data-theme="dark"] .probability-component-track {
  background: linear-gradient(90deg, #35191e 0%, #111b2f 49%, #111b2f 51%, #13233c 100%);
}

body[data-theme="dark"] .probability-sensitivity-section {
  background: #123129;
  border-color: #115e59;
}

body[data-theme="dark"] .probability-missing-section,
body[data-theme="dark"] .probability-boundary {
  color: #fde68a;
  background: #32270e;
  border-color: #713f12;
}

body[data-theme="dark"] .probability-comparison-table th,
body[data-theme="dark"] .probability-comparison-table tbody tr:hover td {
  background: #111b2f;
}

body[data-theme="dark"] .probability-empty-workspace.error {
  color: #fca5a5;
  background: #450a0a;
  border-color: #7f1d1d;
}

@media (max-width: 1180px) {
  .probability-main-layout {
    grid-template-columns: minmax(220px, 0.62fr) minmax(0, 1.38fr);
  }

  .probability-inspector-panel {
    position: static;
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
  }

  .probability-inspector-panel > .probability-section-heading,
  .probability-inspector-panel > .probability-confidence-block,
  .probability-inspector-panel > .probability-trace-id,
  .probability-inspector-panel > .probability-boundary {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .probability-loader-band {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

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

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

  .probability-summary-item:nth-child(odd) {
    border-left: 0;
  }

  .probability-summary-item:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

  .probability-main-layout {
    grid-template-columns: 1fr;
  }

  .probability-ranking-panel,
  .probability-inspector-panel {
    position: static;
  }

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

  .probability-inspector-panel {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .probability-loader-form,
  .probability-loader-actions,
  .probability-ranking-list,
  .probability-inspector-panel {
    grid-template-columns: 1fr;
  }

  .probability-loader-form > span {
    grid-column: auto;
  }

  .probability-loader-form button {
    width: 100%;
  }

  .probability-summary-item {
    min-height: 78px;
    padding: 13px;
  }

  .probability-summary-item strong {
    font-size: 16px;
  }

  .probability-score-heading {
    flex-direction: column;
  }

  .probability-score-outcome {
    width: 100%;
    text-align: left;
  }

  .probability-score-equation {
    grid-template-columns: 1fr;
  }

  .probability-equation-arrow {
    margin-left: 12px;
    transform: rotate(90deg);
  }

  .probability-component-row {
    grid-template-columns: 1fr 58px;
  }

  .probability-component-track {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .probability-inspector-panel > .probability-section-heading,
  .probability-inspector-panel > .probability-confidence-block,
  .probability-inspector-panel > .probability-trace-id,
  .probability-inspector-panel > .probability-boundary {
    grid-column: auto;
  }
}

/* Event monitoring workspace */
.event-monitor-page,
.event-monitor-workspace {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.event-monitor-loader-band {
  display: grid;
  grid-template-columns: minmax(230px, 0.9fr) minmax(430px, 1.25fr) minmax(190px, 0.55fr);
  gap: 18px;
  align-items: end;
  padding: 20px;
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: var(--shadow);
  border-radius: var(--radius);
}

.event-monitor-loader-compact {
  grid-template-columns: minmax(190px, 0.62fr) minmax(390px, 1.25fr) minmax(240px, 0.8fr);
  align-items: center;
  padding: 14px 18px;
}

.event-monitor-loader-compact .event-monitor-loader-copy h2 {
  font-size: 18px;
}

.event-critical-actions-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}

.event-critical-actions-panel .event-monitor-section-heading > small {
  max-width: min(52vw, 620px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-critical-action-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.event-critical-action-list li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 5px 8px;
  min-width: 0;
  min-height: 100px;
  padding: 12px;
  border-right: 1px solid var(--line);
}

.event-critical-action-list li:last-child {
  border-right: 0;
}

.event-critical-action-list li > span {
  color: var(--blue);
  font-size: 10px;
  font-weight: 800;
}

.event-critical-action-list li > div {
  display: grid;
  min-width: 0;
}

.event-critical-action-list strong,
.event-critical-action-list small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-critical-action-list strong {
  color: var(--strong);
  font-size: 11px;
  line-height: 1.35;
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.event-critical-action-list small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
}

.event-critical-action-list em {
  color: var(--strong);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.event-critical-action-list b {
  grid-column: 2 / -1;
  justify-self: start;
  color: var(--blue);
  font-size: 9px;
}

.event-critical-action-list b.observed {
  color: var(--green);
}

.event-monitor-empty.compact {
  grid-template-columns: auto auto;
  gap: 12px;
  min-height: 74px;
}

.event-monitor-loader-copy > span,
.event-monitor-section-heading > div > span,
.event-monitor-inspector-heading > div > span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.2;
  text-transform: uppercase;
}

.event-monitor-loader-copy h2,
.event-monitor-section-heading h2,
.event-monitor-inspector-heading h2 {
  margin: 4px 0 0;
  color: var(--strong);
  letter-spacing: 0;
}

.event-monitor-loader-copy h2 {
  font-size: 22px;
}

.event-monitor-loader-copy p {
  max-width: 520px;
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.event-monitor-loader-form {
  display: grid;
  grid-template-columns: minmax(210px, 1fr) auto;
  gap: 8px;
  align-items: end;
}

.event-monitor-loader-form label {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
}

.event-monitor-loader-form select,
.event-monitor-controls select,
.event-monitor-search-field input {
  min-width: 0;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
  color: var(--text);
}

.event-monitor-loader-form select,
.event-monitor-controls select {
  padding: 0 34px 0 12px;
}

.event-monitor-loader-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
}

.event-monitor-loader-actions button {
  width: 100%;
}

.event-monitor-status {
  min-height: 18px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}

.event-monitor-status.ok {
  color: var(--green);
}

.event-monitor-status.loading {
  color: var(--blue);
}

.event-monitor-status.fail {
  color: var(--red);
}

.event-monitor-runtime {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}

.event-monitor-runtime-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.event-monitor-runtime-heading span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
  text-transform: uppercase;
}

.event-monitor-runtime-heading h2 {
  margin: 3px 0 0;
  color: var(--strong);
  font-size: 16px;
}

.event-monitor-runtime-state {
  color: var(--muted);
  font-size: 11px;
}

.event-monitor-runtime-state.ok {
  color: var(--green);
}

.event-monitor-runtime-state.loading {
  color: var(--blue);
}

.event-monitor-runtime-state.fail {
  color: var(--red);
}

.event-monitor-runtime-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.event-monitor-runtime-grid > div {
  display: grid;
  min-width: 0;
  padding: 12px 16px;
  border-right: 1px solid var(--line);
}

.event-monitor-runtime-grid > div:last-child {
  border-right: 0;
}

.event-monitor-runtime-grid span,
.event-monitor-runtime-grid small,
.event-monitor-watch-list small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-runtime-grid strong {
  margin: 4px 0;
  overflow: hidden;
  color: var(--strong);
  font-size: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-watch-list {
  display: grid;
}

.event-monitor-watch-list > div {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
}

.event-monitor-watch-list > div:last-child {
  border-bottom: 0;
}

.event-monitor-watch-list strong {
  overflow: hidden;
  color: var(--strong);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-watch-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--blue);
}

.event-monitor-watch-dot.action_observed {
  background: var(--amber);
}

.event-monitor-watch-dot.resolved {
  background: var(--green);
}

.event-monitor-watch-dot.error {
  background: var(--red);
}

.event-monitor-empty,
.event-monitor-error {
  display: grid;
  place-items: center;
  min-height: 110px;
  padding: 20px;
  border: 1px dashed var(--line);
  border-radius: 6px;
  color: var(--muted);
  text-align: center;
}

.event-monitor-error {
  gap: 4px;
  color: var(--red);
}

.event-monitor-summary-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  overflow: hidden;
}

.event-monitor-summary-item {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 92px;
  padding: 15px 17px;
  border-right: 1px solid var(--line);
}

.event-monitor-summary-item:last-child {
  border-right: 0;
}

.event-monitor-summary-item > span {
  color: var(--muted);
  font-size: 11px;
}

.event-monitor-summary-item strong {
  margin-top: 5px;
  overflow: hidden;
  color: var(--strong);
  font-size: 20px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-summary-item small {
  margin-top: 5px;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-summary-item.attention strong {
  color: var(--amber);
}

.event-monitor-status-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  overflow: hidden;
}

.event-monitor-status-options {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.event-monitor-status-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  min-width: 0;
  min-height: 88px;
  padding: 13px 14px;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  box-shadow: none;
}

.event-monitor-status-option:last-child {
  border-right: 0;
}

.event-monitor-status-option:hover,
.event-monitor-status-option.active {
  background: var(--soft-blue);
  transform: none;
  box-shadow: inset 0 -3px 0 var(--blue);
}

.event-monitor-status-option > span {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-status-option > strong {
  color: var(--strong);
  font-size: 19px;
  line-height: 1;
}

.event-monitor-status-option > small {
  grid-column: 1 / -1;
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-status-option > i {
  grid-column: 1 / -1;
  height: 3px;
  margin-top: 4px;
  overflow: hidden;
  border-radius: 2px;
  background: var(--line);
}

.event-monitor-status-option > i > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--blue);
}

.event-monitor-current-status {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto minmax(260px, 0.9fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 13px 16px;
  border-top: 1px solid var(--line);
  background: color-mix(in srgb, var(--bg) 48%, var(--panel));
}

.event-monitor-current-status > div {
  display: grid;
  min-width: 0;
}

.event-monitor-current-status > div > span,
.event-monitor-current-status.empty > span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
  text-transform: uppercase;
}

.event-monitor-current-status strong {
  margin-top: 3px;
  overflow: hidden;
  color: var(--strong);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-current-status small {
  margin-top: 3px;
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-current-status > p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
  text-align: right;
}

.event-monitor-current-status.empty {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.event-learning-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  overflow: hidden;
}

.event-learning-disclosure-summary,
.event-monitor-diagnostics > summary {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 15px 18px;
  color: var(--strong);
  cursor: pointer;
}

.event-learning-disclosure-summary > span,
.event-monitor-diagnostics > summary > span {
  font-size: 12px;
  font-weight: 750;
}

.event-learning-disclosure-summary > small,
.event-monitor-diagnostics > summary > small {
  color: var(--muted);
  font-size: 10px;
}

.event-learning-panel[open] .event-learning-disclosure-summary {
  border-bottom: 1px solid var(--line);
}

.event-monitor-diagnostics {
  min-width: 0;
}

.event-monitor-diagnostics > summary {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}

.event-monitor-diagnostics[open] > summary {
  margin-bottom: 16px;
}

.event-learning-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
  padding: 14px;
}

.event-learning-form label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
}

.event-learning-form input,
.event-learning-form select,
.event-learning-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
  color: var(--text);
  font-size: 11px;
}

.event-learning-form input,
.event-learning-form select {
  min-height: 39px;
  padding: 0 10px;
}

.event-learning-form textarea {
  min-height: 78px;
  padding: 9px 10px;
  resize: vertical;
}

.event-learning-summary,
.event-learning-actions {
  grid-column: 1 / -1;
}

.event-learning-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.event-learning-actions button {
  flex: 0 0 auto;
}

.event-learning-actions span {
  color: var(--muted);
  font-size: 10px;
  text-align: right;
}

.event-monitor-record-marker.monitored_event {
  background: var(--green);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--green) 15%, transparent);
}

.event-monitor-controls {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) 170px 170px 74px;
  gap: 10px;
  align-items: end;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}

.event-monitor-controls label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 11px;
}

.event-monitor-search-field {
  position: relative;
}

.event-monitor-search-field > span {
  position: absolute;
  top: 50%;
  left: 13px;
  z-index: 1;
  color: var(--muted);
  font-size: 19px;
  transform: translateY(-52%);
  pointer-events: none;
}

.event-monitor-search-field input {
  width: 100%;
  padding: 0 12px 0 39px;
}

.event-monitor-filter-result {
  display: grid;
  justify-items: end;
  align-content: center;
  min-height: 42px;
}

.event-monitor-filter-result strong {
  color: var(--strong);
  font-size: 18px;
  line-height: 1;
}

.event-monitor-filter-result span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}

.event-monitor-main-layout {
  display: grid;
  grid-template-columns: minmax(330px, 0.78fr) minmax(0, 1.42fr);
  gap: 16px;
  align-items: start;
  min-width: 0;
}

.event-stream-panel,
.event-monitor-inspector,
.event-monitor-source-panel,
.event-monitor-validation-panel,
.event-monitor-reliability-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}

.event-stream-panel {
  overflow: hidden;
}

.event-monitor-section-heading,
.event-monitor-inspector-heading {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 17px 18px;
  border-bottom: 1px solid var(--line);
}

.event-monitor-section-heading h2,
.event-monitor-inspector-heading h2 {
  font-size: 17px;
}

.event-monitor-section-heading > small {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 11px;
}

.event-monitor-stream {
  max-height: 760px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.event-monitor-record {
  position: relative;
  display: grid;
  grid-template-columns: 4px minmax(0, 1fr);
  gap: 13px;
  width: 100%;
  min-height: 126px;
  padding: 15px 16px 15px 13px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  box-shadow: none;
}

.event-monitor-record:last-child {
  border-bottom: 0;
}

.event-monitor-record:hover,
.event-monitor-record.active {
  background: var(--soft-blue);
  transform: none;
  box-shadow: inset 3px 0 0 var(--blue);
}

.event-monitor-record-marker {
  width: 4px;
  height: 100%;
  min-height: 80px;
  border-radius: 2px;
  background: var(--muted);
}

.event-monitor-record-marker.relationship_event {
  background: var(--amber);
}

.event-monitor-record-marker.decision_case {
  background: var(--teal);
}

.event-monitor-record-marker.review_signal {
  background: var(--blue);
}

.event-monitor-record-body {
  display: grid;
  min-width: 0;
}

.event-monitor-record-meta,
.event-monitor-record-footer {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 10px;
}

.event-monitor-record-meta {
  justify-content: space-between;
}

.event-monitor-kind {
  color: var(--blue);
  font-weight: 750;
}

.event-monitor-record-body > strong {
  margin-top: 7px;
  overflow: hidden;
  color: var(--strong);
  font-size: 14px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-record-summary {
  display: -webkit-box;
  margin-top: 5px;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.event-monitor-record-footer {
  margin-top: 10px;
}

.event-monitor-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.event-monitor-status-badge.identified,
.event-monitor-status-badge.needs_review {
  border-color: color-mix(in srgb, var(--amber) 35%, var(--line));
  background: var(--soft-amber);
  color: var(--amber);
}

.event-monitor-status-badge.pending {
  border-color: color-mix(in srgb, var(--blue) 30%, var(--line));
  background: var(--soft-blue);
  color: var(--blue);
}

.event-monitor-status-badge.processed {
  border-color: color-mix(in srgb, var(--teal) 30%, var(--line));
  background: var(--soft-teal);
  color: var(--teal);
}

.event-monitor-status-badge.archived {
  background: color-mix(in srgb, var(--muted) 8%, transparent);
}

.event-monitor-status-badge.accepted,
.event-monitor-status-badge.observed {
  border-color: color-mix(in srgb, var(--green) 30%, var(--line));
  background: var(--soft-teal);
  color: var(--green);
}

.event-monitor-status-badge.rejected {
  color: var(--red);
}

.event-monitor-inspector {
  position: sticky;
  top: 88px;
  overflow: hidden;
}

.event-monitor-inspector-heading {
  align-items: flex-start;
}

.event-monitor-inspector-heading > div {
  min-width: 0;
}

.event-monitor-inspector-heading h2 {
  overflow-wrap: anywhere;
}

.event-monitor-inspector-summary {
  margin: 0;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.event-monitor-inspector-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.event-monitor-inspector-facts > div {
  display: grid;
  min-width: 0;
  padding: 14px 18px;
  border-right: 1px solid var(--line);
}

.event-monitor-inspector-facts > div:last-child {
  border-right: 0;
}

.event-monitor-inspector-facts span,
.event-monitor-source-trace > span,
.event-monitor-backtest-block span,
.event-monitor-reference-grid > div > span {
  color: var(--muted);
  font-size: 10px;
}

.event-monitor-inspector-facts strong {
  margin-top: 4px;
  overflow: hidden;
  color: var(--strong);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-inspector-facts small {
  margin-top: 4px;
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-inspector-section {
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}

.event-monitor-inspector-section.two-column,
.event-monitor-reference-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.event-monitor-inspector-section-heading {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.event-monitor-inspector-section-heading h3 {
  margin: 0;
  color: var(--strong);
  font-size: 12px;
}

.event-monitor-inspector-section-heading > span {
  color: var(--muted);
  font-size: 10px;
}

.event-monitor-inspector-list {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.event-monitor-inspector-list li {
  max-width: 100%;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 5px;
  color: var(--text);
  font-size: 10px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.event-monitor-inspector-list.effect li {
  border-left: 3px solid var(--amber);
}

.event-monitor-inspector-list.entity li {
  border-left: 3px solid var(--blue);
}

.event-monitor-inspector-list.trigger li {
  border-left: 3px solid var(--teal);
}

.event-monitor-inspector-list.constraint li {
  border-left: 3px solid var(--red);
}

.event-monitor-reference-grid > div {
  min-width: 0;
}

.event-monitor-reference-grid > div > span {
  display: block;
  margin-bottom: 7px;
}

.event-monitor-source-trace {
  display: grid;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
}

.event-monitor-source-trace strong {
  margin-top: 4px;
  color: var(--strong);
  font-size: 12px;
}

.event-monitor-source-trace small {
  margin-top: 3px;
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 9px;
  overflow-wrap: anywhere;
}

.event-monitor-backtest-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--soft-teal);
}

.event-monitor-backtest-block > div {
  display: grid;
  gap: 3px;
}

.event-monitor-backtest-block strong {
  color: var(--strong);
  font-size: 12px;
}

.event-monitor-backtest-block > small {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 10px;
}

.event-monitor-inspector-actions {
  padding: 14px 18px;
}

.event-monitor-secondary-layout {
  display: grid;
  grid-template-columns: minmax(250px, 0.8fr) minmax(430px, 1.35fr) minmax(250px, 0.85fr);
  gap: 16px;
  align-items: stretch;
  min-width: 0;
}

.event-monitor-source-panel,
.event-monitor-validation-panel,
.event-monitor-reliability-panel {
  overflow: hidden;
}

.event-monitor-source-list {
  max-height: 370px;
  overflow-y: auto;
}

.event-monitor-source-row {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
}

.event-monitor-source-row:last-child {
  border-bottom: 0;
}

.event-monitor-source-state {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--muted);
}

.event-monitor-source-state.enabled {
  background: var(--green);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--green) 14%, transparent);
}

.event-monitor-source-row > div {
  display: grid;
  min-width: 0;
}

.event-monitor-source-row > div:last-child {
  justify-items: end;
}

.event-monitor-source-row strong,
.event-monitor-source-row span {
  overflow: hidden;
  color: var(--strong);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-source-row small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
}

.event-monitor-more {
  padding: 9px 16px;
  color: var(--muted);
  font-size: 10px;
  text-align: center;
}

.event-monitor-case-table-shell {
  max-height: 370px;
  overflow: auto;
}

.event-monitor-case-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.event-monitor-case-table th,
.event-monitor-case-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 10px;
  text-align: left;
  vertical-align: middle;
}

.event-monitor-case-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--panel);
  color: var(--muted);
  font-weight: 700;
}

.event-monitor-case-table th:first-child {
  width: 42%;
}

.event-monitor-case-table th:nth-child(2) {
  width: 17%;
}

.event-monitor-case-table th:nth-child(3),
.event-monitor-case-table th:nth-child(4) {
  width: 14%;
}

.event-monitor-case-table th:last-child {
  width: 13%;
}

.event-monitor-case-table tr.selected td {
  background: var(--soft-blue);
}

.event-monitor-case-table td:first-child {
  display: grid;
  min-width: 0;
}

.event-monitor-case-table td strong,
.event-monitor-case-table td small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-case-table td strong {
  color: var(--strong);
  font-size: 10px;
}

.event-monitor-case-table td small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
}

.event-monitor-case-table button {
  min-height: 28px;
  padding: 0 9px;
  font-size: 10px;
}

.event-monitor-validation-state {
  color: var(--muted);
  font-weight: 700;
}

.event-monitor-validation-state.hit {
  color: var(--green);
}

.event-monitor-validation-state.miss {
  color: var(--amber);
}

.event-monitor-reliability-chart {
  display: grid;
  grid-template-columns: repeat(8, minmax(24px, 1fr));
  gap: 8px;
  align-items: end;
  min-height: 220px;
  padding: 22px 16px 14px;
}

.event-monitor-reliability-point {
  display: grid;
  gap: 5px;
  justify-items: center;
  min-width: 0;
}

.event-monitor-reliability-bars {
  display: flex;
  gap: 3px;
  align-items: end;
  width: 100%;
  height: 130px;
  padding: 0 2px;
  border-bottom: 1px solid var(--line);
}

.event-monitor-reliability-bars span,
.event-monitor-reliability-bars i {
  display: block;
  flex: 1;
  min-width: 3px;
  border-radius: 2px 2px 0 0;
  background: var(--blue);
}

.event-monitor-reliability-bars i {
  background: var(--teal);
}

.event-monitor-reliability-point strong {
  color: var(--strong);
  font-size: 9px;
}

.event-monitor-reliability-point small {
  overflow: hidden;
  width: 100%;
  color: var(--muted);
  font-size: 8px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-monitor-chart-legend {
  display: flex;
  gap: 14px;
  justify-content: center;
  padding: 0 14px 16px;
  color: var(--muted);
  font-size: 9px;
}

.event-monitor-chart-legend span {
  display: flex;
  gap: 5px;
  align-items: center;
}

.event-monitor-chart-legend i {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--blue);
}

.event-monitor-chart-legend i.completeness {
  background: var(--teal);
}

.event-monitor-boundary {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  border: 1px solid color-mix(in srgb, var(--amber) 32%, var(--line));
  border-radius: var(--radius);
  background: var(--soft-amber);
}

.event-monitor-boundary strong {
  flex: 0 0 auto;
  color: var(--amber);
  font-size: 11px;
}

.event-monitor-boundary span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
  text-align: right;
}

body[data-theme="dark"] .event-monitor-record:hover,
body[data-theme="dark"] .event-monitor-record.active,
body[data-theme="dark"] .event-monitor-status-option:hover,
body[data-theme="dark"] .event-monitor-status-option.active,
body[data-theme="dark"] .event-monitor-case-table tr.selected td {
  background: #13233c;
}

body[data-theme="dark"] .event-monitor-status-badge.identified,
body[data-theme="dark"] .event-monitor-status-badge.needs_review,
body[data-theme="dark"] .event-monitor-boundary {
  background: #32270e;
}

body[data-theme="dark"] .event-monitor-status-badge.accepted,
body[data-theme="dark"] .event-monitor-status-badge.observed,
body[data-theme="dark"] .event-monitor-backtest-block {
  background: #123129;
}

@media (max-width: 1180px) {
  .event-monitor-loader-band {
    grid-template-columns: 1fr 1.2fr;
  }

  .event-monitor-loader-actions {
    grid-column: 1 / -1;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    align-items: center;
  }

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

  .event-monitor-reliability-panel {
    grid-column: 1 / -1;
  }

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

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

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

  .event-monitor-runtime-grid > div:nth-child(2) {
    border-right: 0;
  }

  .event-monitor-runtime-grid > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .event-critical-action-list li {
    border-bottom: 1px solid var(--line);
  }

  .event-critical-action-list li:nth-child(3n) {
    border-right: 0;
  }

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

  .event-monitor-status-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .event-monitor-status-option:nth-child(3) {
    border-right: 0;
  }

  .event-monitor-status-option:nth-child(-n + 3) {
    border-bottom: 1px solid var(--line);
  }
}

@media (max-width: 920px) {
  .decision-core-agent-status {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .decision-core-agent-status > div:nth-child(3) {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .decision-core-agent-status > div:nth-child(4) {
    border-top: 1px solid var(--line);
  }

  .event-monitor-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .event-monitor-summary-item {
    border-bottom: 1px solid var(--line);
  }

  .event-monitor-summary-item:nth-child(2n) {
    border-right: 0;
  }

  .event-monitor-summary-item:last-child {
    grid-column: 1 / -1;
    border-bottom: 0;
  }

  .event-monitor-controls {
    grid-template-columns: minmax(220px, 1fr) 150px 150px;
  }

  .event-monitor-filter-result {
    grid-column: 1 / -1;
    grid-template-columns: auto auto;
    gap: 4px;
    justify-content: end;
    align-items: baseline;
    min-height: auto;
  }

  .event-monitor-main-layout,
  .event-monitor-secondary-layout {
    grid-template-columns: 1fr;
  }

  .event-monitor-current-status {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .event-monitor-current-status > p {
    grid-column: 1 / -1;
    text-align: left;
  }

  .event-monitor-inspector {
    position: static;
  }

  .event-monitor-reliability-panel {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .event-monitor-loader-band,
  .event-monitor-loader-form,
  .event-monitor-loader-actions,
  .event-monitor-controls,
  .event-monitor-inspector-facts,
  .event-monitor-inspector-section.two-column,
  .event-monitor-reference-grid,
  .event-learning-form {
    grid-template-columns: 1fr;
  }

  .event-learning-summary,
  .event-learning-actions {
    grid-column: auto;
  }

  .event-learning-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .event-learning-actions button {
    width: 100%;
  }

  .event-learning-actions span {
    text-align: left;
  }

  .event-monitor-loader-actions,
  .event-monitor-loader-form label,
  .event-monitor-filter-result,
  .event-monitor-summary-item:last-child {
    grid-column: auto;
  }

  .event-monitor-summary-strip {
    grid-template-columns: 1fr;
  }

  .event-monitor-runtime-grid {
    grid-template-columns: 1fr;
  }

  .event-monitor-runtime-grid > div,
  .event-monitor-runtime-grid > div:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .event-monitor-runtime-grid > div:last-child {
    border-bottom: 0;
  }

  .event-monitor-watch-list > div {
    grid-template-columns: 10px minmax(0, 1fr);
  }

  .event-monitor-watch-list small {
    grid-column: 2;
  }

  .event-critical-actions-panel .event-monitor-section-heading,
  .event-learning-disclosure-summary,
  .event-monitor-diagnostics > summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .decision-forecast-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .decision-forecast-heading > small {
    max-width: 100%;
    text-align: left;
  }

  .decision-forecast-grid {
    grid-template-columns: 1fr;
  }

  .decision-forecast-grid > div,
  .decision-forecast-grid > div:nth-child(odd) {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .decision-forecast-grid > div:first-child {
    border-top: 0;
  }

  .event-critical-actions-panel .event-monitor-section-heading > small {
    max-width: 100%;
  }

  .event-critical-action-list {
    grid-template-columns: 1fr;
  }

  .event-critical-action-list li,
  .event-critical-action-list li:nth-child(3n),
  .event-critical-action-list li:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .event-critical-action-list li:last-child {
    border-bottom: 0;
  }

  .event-monitor-status-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .event-monitor-status-option,
  .event-monitor-status-option:nth-child(3) {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .event-monitor-status-option:nth-child(2n) {
    border-right: 0;
  }

  .event-monitor-status-option:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .event-monitor-current-status {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .event-monitor-current-status > .event-monitor-status-badge {
    justify-self: start;
  }

  .event-monitor-current-status > p {
    grid-column: auto;
  }

  .event-monitor-summary-item,
  .event-monitor-summary-item:nth-child(2n) {
    min-height: 78px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .event-monitor-summary-item:last-child {
    border-bottom: 0;
  }

  .event-monitor-filter-result {
    display: flex;
    justify-content: flex-end;
  }

  .event-monitor-inspector-facts > div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .event-monitor-inspector-facts > div:last-child {
    border-bottom: 0;
  }

  .event-monitor-backtest-block {
    grid-template-columns: 1fr;
  }

  .event-monitor-case-table {
    min-width: 620px;
  }

  .event-monitor-boundary {
    align-items: flex-start;
    flex-direction: column;
  }

  .event-monitor-boundary span {
    text-align: left;
  }
}

/* Causality analysis workspace */
.causality-page,
.causality-workspace {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.causality-loader-band {
  display: grid;
  grid-template-columns: minmax(260px, 0.95fr) minmax(430px, 1.2fr) minmax(190px, 0.55fr);
  gap: 18px;
  align-items: end;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.causality-loader-copy > span,
.causality-section-heading > div > span,
.causality-inspector-heading > div > span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.2;
  text-transform: uppercase;
}

.causality-loader-copy h2,
.causality-section-heading h2,
.causality-inspector-heading h2 {
  margin: 4px 0 0;
  color: var(--strong);
  letter-spacing: 0;
}

.causality-loader-copy h2 {
  font-size: 22px;
}

.causality-loader-copy p {
  max-width: 540px;
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.causality-loader-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 8px;
  align-items: end;
}

.causality-loader-form label {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
}

.causality-loader-form select {
  min-width: 0;
  min-height: 42px;
  padding: 0 34px 0 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
  color: var(--text);
}

.causality-loader-actions {
  display: grid;
  gap: 7px;
}

.causality-loader-actions button {
  width: 100%;
}

.causality-status {
  min-height: 18px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}

.causality-status.loading {
  color: var(--blue);
}

.causality-status.ok {
  color: var(--green);
}

.causality-status.fail {
  color: var(--red);
}

.causality-empty,
.causality-error {
  display: grid;
  place-items: center;
  min-height: 110px;
  padding: 20px;
  border: 1px dashed var(--line);
  border-radius: 6px;
  color: var(--muted);
  font-size: 12px;
  text-align: center;
}

.causality-error {
  gap: 5px;
  color: var(--red);
}

.causality-summary-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  overflow: hidden;
}

.causality-summary-item {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 92px;
  padding: 15px 17px;
  border-right: 1px solid var(--line);
}

.causality-summary-item:last-child {
  border-right: 0;
}

.causality-summary-item > span {
  color: var(--muted);
  font-size: 11px;
}

.causality-summary-item strong {
  margin-top: 5px;
  overflow: hidden;
  color: var(--strong);
  font-size: 20px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.causality-summary-item small {
  margin-top: 5px;
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.causal-learning-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  overflow: hidden;
}

.causal-learning-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.causal-learning-grid article {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  min-height: 148px;
  padding: 13px 14px;
  border-right: 1px solid var(--line);
  border-top: 1px solid var(--line);
}

.causal-learning-grid article:nth-child(4n) {
  border-right: 0;
}

.causal-learning-grid article > div,
.causal-learning-grid footer {
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: space-between;
}

.causal-learning-grid article span,
.causal-learning-grid article em,
.causal-learning-grid article footer {
  color: var(--muted);
  font-size: 8px;
  font-style: normal;
}

.causal-learning-grid article strong {
  overflow: hidden;
  color: var(--strong);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.causal-learning-grid article p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.causal-learning-grid footer {
  margin-top: auto;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.causality-main-layout {
  display: grid;
  grid-template-columns: minmax(560px, 1.42fr) minmax(320px, 0.72fr);
  gap: 16px;
  align-items: start;
  min-width: 0;
}

.causality-map-panel,
.causality-player-inspector,
.causality-driver-panel,
.causality-scenario-panel,
.causality-audit-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  overflow: hidden;
}

.causality-section-heading,
.causality-inspector-heading {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 17px 18px;
  border-bottom: 1px solid var(--line);
}

.causality-section-heading h2,
.causality-inspector-heading h2 {
  font-size: 17px;
}

.causality-section-heading > small {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 10px;
}

.causality-legend {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.causality-legend span {
  position: relative;
  padding-left: 13px;
  color: var(--muted);
  font-size: 9px;
}

.causality-legend span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 8px;
  height: 2px;
  background: var(--muted);
  content: "";
  transform: translateY(-50%);
}

.causality-legend .supports::before {
  background: var(--green);
}

.causality-legend .blocks::before {
  background: var(--red);
}

.causality-legend .pressures::before {
  background: var(--amber);
}

.causality-map-scroll {
  width: 100%;
  overflow-x: auto;
}

.causality-map {
  position: relative;
  width: 100%;
  min-width: 600px;
  aspect-ratio: 1000 / 560;
  min-height: 420px;
  background: var(--bg);
  overflow: hidden;
}

.causality-map::before,
.causality-map::after {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px solid var(--line);
  border-radius: 50%;
  content: "";
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.causality-map::before {
  width: 58%;
  height: 66%;
}

.causality-map::after {
  width: 82%;
  height: 84%;
  opacity: 0.7;
}

.causality-edge-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.causality-edge {
  vector-effect: non-scaling-stroke;
  stroke: var(--muted);
  stroke-dasharray: 5 5;
  stroke-linecap: round;
  stroke-width: 1.5;
  opacity: 0.58;
}

.causality-edge.supports {
  stroke: var(--green);
}

.causality-edge.blocks {
  stroke: var(--red);
}

.causality-edge.pressures {
  stroke: var(--amber);
}

.causality-edge.selected {
  stroke-dasharray: none;
  stroke-width: 4;
  opacity: 1;
}

.causality-core-node,
.causality-player-node {
  position: absolute;
  z-index: 3;
  display: grid;
  align-content: center;
  justify-items: center;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.11);
  text-align: center;
  transform: translate(-50%, -50%);
}

.causality-core-node {
  top: 50%;
  left: 50%;
  width: 132px;
  height: 76px;
  border: 2px solid var(--blue);
  pointer-events: none;
}

.causality-core-node span,
.causality-player-node span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
}

.causality-core-node strong {
  max-width: 116px;
  margin-top: 3px;
  overflow: hidden;
  color: var(--strong);
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.causality-core-node small,
.causality-player-node small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 8px;
}

.causality-player-node {
  width: 118px;
  height: 62px;
  padding: 5px 7px;
  color: var(--text);
}

.causality-player-node:hover,
.causality-player-node.active {
  transform: translate(-50%, -50%);
  box-shadow: 0 10px 24px rgba(15, 98, 254, 0.18);
}

.causality-player-node.active {
  border-color: var(--blue);
  outline: 2px solid color-mix(in srgb, var(--blue) 20%, transparent);
}

.causality-player-node.supports {
  border-top: 3px solid var(--green);
}

.causality-player-node.blocks {
  border-top: 3px solid var(--red);
}

.causality-player-node.pressures {
  border-top: 3px solid var(--amber);
}

.causality-player-node.uncertain {
  border-top: 3px solid var(--muted);
}

.causality-player-node strong {
  display: block;
  max-width: 104px;
  margin-top: 2px;
  overflow: hidden;
  color: var(--strong);
  font-size: 10px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.causality-map-note {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 11px 16px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--soft-amber);
}

.causality-map-note strong {
  flex: 0 0 auto;
  color: var(--amber);
  font-size: 10px;
}

.causality-map-note span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
  text-align: right;
}

.causality-influence-ranking {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.causality-rank-item {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 60px;
  padding: 9px 13px;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  box-shadow: none;
}

.causality-rank-item:nth-child(2n) {
  border-right: 0;
}

.causality-rank-item:hover,
.causality-rank-item.active {
  background: var(--soft-blue);
  transform: none;
}

.causality-rank-item > span {
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 9px;
}

.causality-rank-item > div {
  display: grid;
  min-width: 0;
}

.causality-rank-item strong,
.causality-rank-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.causality-rank-item strong {
  color: var(--strong);
  font-size: 11px;
}

.causality-rank-item small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
}

.causality-rank-item em {
  color: var(--blue);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.causality-player-inspector {
  position: sticky;
  top: 88px;
}

.causality-inspector-heading {
  align-items: flex-start;
}

.causality-inspector-heading > div {
  min-width: 0;
}

.causality-inspector-heading h2 {
  overflow-wrap: anywhere;
}

.causality-inspector-heading small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 9px;
}

.causality-direction-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 23px;
  padding: 0 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
  white-space: nowrap;
}

.causality-direction-badge.supports {
  border-color: color-mix(in srgb, var(--green) 35%, var(--line));
  background: var(--soft-teal);
  color: var(--green);
}

.causality-direction-badge.blocks {
  border-color: color-mix(in srgb, var(--red) 35%, var(--line));
  color: var(--red);
}

.causality-direction-badge.pressures {
  border-color: color-mix(in srgb, var(--amber) 35%, var(--line));
  background: var(--soft-amber);
  color: var(--amber);
}

.causality-player-summary {
  margin: 0;
  padding: 15px 18px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.causality-inspector-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.causality-inspector-metrics > div {
  display: grid;
  min-width: 0;
  min-height: 78px;
  padding: 13px 15px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.causality-inspector-metrics > div:nth-child(2n) {
  border-right: 0;
}

.causality-inspector-metrics > div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.causality-inspector-metrics span,
.causality-edge-trace > span,
.causality-inspector-split > div > span {
  color: var(--muted);
  font-size: 9px;
}

.causality-inspector-metrics strong {
  margin-top: 4px;
  color: var(--strong);
  font-size: 17px;
}

.causality-inspector-metrics small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 8px;
}

.causality-inspector-section {
  padding: 15px 18px;
  border-bottom: 1px solid var(--line);
}

.causality-inspector-section-heading {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 9px;
}

.causality-inspector-section-heading h3 {
  margin: 0;
  color: var(--strong);
  font-size: 11px;
}

.causality-inspector-section-heading > span {
  color: var(--muted);
  font-size: 9px;
}

.causality-inspector-list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.causality-inspector-list li {
  padding: 7px 8px;
  border-left: 3px solid var(--line);
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.causality-inspector-list.why li,
.causality-inspector-list.effect li {
  border-left-color: var(--blue);
}

.causality-inspector-list.evidence li {
  border-left-color: var(--green);
}

.causality-inspector-list.question li,
.causality-inspector-list.risk li {
  border-left-color: var(--amber);
}

.causality-likely-actions {
  display: grid;
  gap: 9px;
}

.causality-likely-actions > div {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 8px;
  padding-bottom: 7px;
  overflow: hidden;
}

.causality-likely-actions strong {
  overflow: hidden;
  color: var(--strong);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.causality-likely-actions span {
  color: var(--blue);
  font-size: 10px;
  font-weight: 750;
}

.causality-likely-actions small {
  color: var(--muted);
  font-size: 8px;
}

.causality-likely-actions i {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  border-radius: 1px;
  background: var(--blue);
}

.causality-inspector-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.causality-inspector-split > div {
  min-width: 0;
}

.causality-inspector-split > div > span {
  display: block;
  margin-bottom: 7px;
}

.causality-edge-trace {
  display: grid;
  padding: 14px 18px;
}

.causality-edge-trace strong {
  margin-top: 4px;
  color: var(--strong);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 8px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.causality-edge-trace small {
  margin-top: 6px;
  color: var(--muted);
  font-size: 8px;
}

.causality-analysis-layout {
  display: grid;
  grid-template-columns: minmax(330px, 0.72fr) minmax(520px, 1.28fr);
  gap: 16px;
  align-items: start;
  min-width: 0;
}

.causality-driver-stack > section {
  padding: 15px 17px;
  border-bottom: 1px solid var(--line);
}

.causality-driver-stack > section:last-child {
  border-bottom: 0;
}

.causality-driver-heading {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}

.causality-driver-heading > span {
  color: var(--blue);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 10px;
}

.causality-driver-heading > div {
  display: grid;
}

.causality-driver-heading strong {
  color: var(--strong);
  font-size: 11px;
}

.causality-driver-heading small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 8px;
}

.causality-driver-heading em {
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
}

.causality-driver-list {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.causality-driver-list li {
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 5px;
  color: var(--text);
  font-size: 9px;
  line-height: 1.35;
}

.causality-driver-list.constraint li {
  border-left: 3px solid var(--red);
}

.causality-driver-list.environment li {
  border-left: 3px solid var(--teal);
}

.causality-event-drivers {
  display: grid;
}

.causality-event-drivers article {
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.causality-event-drivers article:last-child {
  border-bottom: 0;
}

.causality-event-drivers article > div {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.causality-event-drivers strong {
  color: var(--strong);
  font-size: 10px;
}

.causality-event-drivers span {
  color: var(--amber);
  font-size: 9px;
  font-weight: 750;
}

.causality-event-drivers p {
  margin: 5px 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}

.causality-event-drivers small {
  color: var(--muted);
  font-size: 8px;
  line-height: 1.4;
}

.causality-scenario-tabs {
  display: flex;
  gap: 7px;
  padding: 11px 15px;
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
}

.causality-scenario-tabs button {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: transparent;
  color: var(--muted);
  font-size: 9px;
  box-shadow: none;
}

.causality-scenario-tabs button:hover,
.causality-scenario-tabs button.active {
  border-color: var(--blue);
  background: var(--soft-blue);
  color: var(--blue);
  transform: none;
}

.causality-scenario-tabs button span {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 8px;
}

.causality-scenario-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  border-bottom: 1px solid var(--line);
}

.causality-scenario-summary > div {
  display: grid;
  min-width: 0;
  padding: 14px 17px;
  border-right: 1px solid var(--line);
}

.causality-scenario-summary > div:last-child {
  border-right: 0;
}

.causality-scenario-summary span {
  color: var(--muted);
  font-size: 9px;
}

.causality-scenario-summary strong {
  margin-top: 4px;
  overflow: hidden;
  color: var(--strong);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.causality-scenario-summary small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.4;
}

.causality-reaction-list {
  max-height: 570px;
  overflow-y: auto;
}

.causality-reaction-path {
  display: grid;
  grid-template-columns: 28px minmax(160px, 0.9fr) 84px minmax(160px, 1fr) minmax(130px, 0.7fr);
  gap: 11px;
  align-items: center;
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
}

.causality-reaction-path:last-child {
  border-bottom: 0;
}

.causality-reaction-index {
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 9px;
}

.causality-reaction-player {
  display: grid;
  min-width: 0;
}

.causality-reaction-player span,
.causality-reaction-effects > span,
.causality-reaction-risks > span {
  color: var(--muted);
  font-size: 8px;
}

.causality-reaction-player strong {
  margin-top: 3px;
  overflow: hidden;
  color: var(--strong);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.causality-reaction-player small {
  display: -webkit-box;
  margin-top: 4px;
  overflow: hidden;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.causality-reaction-probability {
  display: grid;
  justify-items: center;
  padding: 8px;
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
}

.causality-reaction-probability strong {
  color: var(--blue);
  font-size: 15px;
}

.causality-reaction-probability span,
.causality-reaction-probability small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 7px;
}

.causality-reaction-effects,
.causality-reaction-risks {
  min-width: 0;
}

.causality-reaction-effects > span,
.causality-reaction-risks > span {
  display: block;
  margin-bottom: 5px;
}

.causality-reaction-effects .causality-inspector-list li,
.causality-reaction-risks .causality-inspector-list li {
  padding: 3px 6px;
  font-size: 7px;
}

.causality-audit-table-shell {
  max-height: 440px;
  overflow: auto;
}

.causality-audit-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.causality-audit-table th,
.causality-audit-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 9px;
  text-align: left;
  vertical-align: middle;
}

.causality-audit-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--panel);
  font-weight: 700;
}

.causality-audit-table th:first-child {
  width: 24%;
}

.causality-audit-table th:nth-child(2) {
  width: 14%;
}

.causality-audit-table th:nth-child(3) {
  width: 13%;
}

.causality-audit-table th:nth-child(4),
.causality-audit-table th:nth-child(5),
.causality-audit-table th:nth-child(6),
.causality-audit-table th:nth-child(7) {
  width: 10%;
}

.causality-audit-table th:last-child {
  width: 9%;
}

.causality-audit-table tr.selected td {
  background: var(--soft-blue);
}

.causality-audit-table td:first-child {
  display: grid;
  min-width: 0;
}

.causality-audit-table td strong,
.causality-audit-table td small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.causality-audit-table td strong {
  color: var(--strong);
  font-size: 10px;
}

.causality-audit-table td small {
  margin-top: 3px;
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 7px;
}

.causality-audit-table button {
  min-height: 27px;
  padding: 0 9px;
  font-size: 9px;
}

.causality-boundary {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  border: 1px solid color-mix(in srgb, var(--amber) 32%, var(--line));
  border-radius: var(--radius);
  background: var(--soft-amber);
}

.causality-boundary strong {
  flex: 0 0 auto;
  color: var(--amber);
  font-size: 10px;
}

.causality-boundary span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
  text-align: right;
}

body[data-theme="dark"] .causality-map-note,
body[data-theme="dark"] .causality-direction-badge.pressures,
body[data-theme="dark"] .causality-boundary {
  background: #32270e;
}

body[data-theme="dark"] .causality-direction-badge.supports {
  background: #123129;
}

body[data-theme="dark"] .causality-rank-item:hover,
body[data-theme="dark"] .causality-rank-item.active,
body[data-theme="dark"] .causality-audit-table tr.selected td,
body[data-theme="dark"] .causality-scenario-tabs button.active {
  background: #13233c;
}

body[data-theme="dark"] .causality-core-node,
body[data-theme="dark"] .causality-player-node {
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.32);
}

@media (max-width: 1180px) {
  .causality-loader-band {
    grid-template-columns: 1fr 1.2fr;
  }

  .causality-loader-actions {
    grid-column: 1 / -1;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    align-items: center;
  }

  .causality-main-layout,
  .causality-analysis-layout {
    grid-template-columns: 1fr;
  }

  .causality-player-inspector {
    position: static;
  }

  .causality-inspector-section {
    min-width: 0;
  }

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

  .causal-learning-grid article:nth-child(2n) {
    border-right: 0;
  }
}

@media (max-width: 900px) {
  .causality-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .causality-summary-item {
    border-bottom: 1px solid var(--line);
  }

  .causality-summary-item:nth-child(2n) {
    border-right: 0;
  }

  .causality-summary-item:last-child {
    grid-column: 1 / -1;
    border-bottom: 0;
  }

  .causality-reaction-path {
    grid-template-columns: 28px minmax(160px, 1fr) 80px;
  }

  .causality-reaction-effects,
  .causality-reaction-risks {
    grid-column: 2 / -1;
  }
}

@media (max-width: 680px) {
  .causality-loader-band,
  .causality-loader-form,
  .causality-loader-actions,
  .causality-inspector-split,
  .causality-scenario-summary {
    grid-template-columns: 1fr;
  }

  .causality-loader-actions,
  .causality-loader-form label,
  .causality-summary-item:last-child {
    grid-column: auto;
  }

  .causality-summary-strip,
  .causality-influence-ranking,
  .causal-learning-grid {
    grid-template-columns: 1fr;
  }

  .causal-learning-grid article,
  .causal-learning-grid article:nth-child(2n) {
    border-right: 0;
  }

  .causality-summary-item,
  .causality-summary-item:nth-child(2n) {
    min-height: 78px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .causality-summary-item:last-child {
    border-bottom: 0;
  }

  .causality-rank-item,
  .causality-rank-item:nth-child(2n) {
    border-right: 0;
  }

  .causality-map-note,
  .causality-boundary {
    align-items: flex-start;
    flex-direction: column;
  }

  .causality-map-note span,
  .causality-boundary span {
    text-align: left;
  }

  .causality-map {
    min-width: 600px;
  }

  .causality-scenario-summary > div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .causality-scenario-summary > div:last-child {
    border-bottom: 0;
  }

  .causality-reaction-path {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .causality-reaction-probability,
  .causality-reaction-effects,
  .causality-reaction-risks {
    grid-column: 2;
  }

  .causality-reaction-probability {
    justify-items: start;
    border: 0;
  }

  .causality-audit-table {
    min-width: 760px;
  }
}

/* Decision-field network extensions */
.causality-map-tools {
  display: grid;
  gap: 9px;
  justify-items: end;
}

.causality-network-modes {
  display: inline-grid;
  grid-auto-flow: column;
  gap: 2px;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--bg);
}

.causality-network-modes button {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 9px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  box-shadow: none;
  white-space: nowrap;
}

.causality-network-modes button:hover,
.causality-network-modes button.active {
  background: var(--soft-blue);
  color: var(--blue);
  transform: none;
}

.causality-network-modes button span {
  color: inherit;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 8px;
}

.causality-edge.peer:not(.selected) {
  stroke-dasharray: 3 7;
  stroke-width: 1.2;
  opacity: 0.48;
}

.causality-edge.core:not(.selected) {
  opacity: 0.68;
}

.causality-edge.selected {
  stroke-width: 2.6;
}

.causality-player-links {
  display: grid;
  gap: 6px;
}

.causality-player-links > button,
.causality-player-links > div {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 46px;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
  color: var(--text);
  text-align: left;
  box-shadow: none;
}

.causality-player-links > button:hover {
  border-color: color-mix(in srgb, var(--blue) 45%, var(--line));
  background: var(--soft-blue);
  transform: none;
}

.causality-player-links > button > span,
.causality-player-links > div > span {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: var(--soft-blue);
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
}

.causality-player-links div > div,
.causality-player-links button > div {
  display: grid;
  min-width: 0;
}

.causality-player-links strong,
.causality-player-links small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.causality-player-links strong {
  color: var(--strong);
  font-size: 10px;
}

.causality-player-links small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 8px;
}

.causality-scope-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  white-space: nowrap;
}

.causality-scope-badge.peer {
  border-color: color-mix(in srgb, var(--blue) 34%, var(--line));
  background: var(--soft-blue);
  color: var(--blue);
}

.causality-audit-table {
  min-width: 1040px;
}

body[data-theme="dark"] .causality-network-modes button.active,
body[data-theme="dark"] .causality-player-links > button:hover,
body[data-theme="dark"] .causality-scope-badge.peer {
  background: #13233c;
}

@media (max-width: 680px) {
  .causality-map-panel .causality-section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .causality-map-tools {
    justify-items: stretch;
  }

  .causality-network-modes {
    grid-auto-flow: row;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .causality-network-modes button {
    min-width: 0;
    padding: 0 5px;
  }
}

/* Knowledge catalog workspace */
.knowledge-page,
.knowledge-workspace {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.knowledge-loader-band,
.knowledge-summary-strip,
.knowledge-catalog-panel,
.knowledge-inspector,
.knowledge-composition-panel,
.knowledge-calibration-panel,
.knowledge-learning-panel,
.knowledge-cycle-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.knowledge-loader-band {
  display: grid;
  grid-template-columns: minmax(250px, 0.8fr) minmax(480px, 1.7fr);
  gap: 18px 26px;
  padding: 22px 24px;
}

.knowledge-loader-copy > span,
.knowledge-section-heading > div > span,
.knowledge-inspector-heading > div > span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
  text-transform: uppercase;
}

.knowledge-loader-copy h2 {
  margin: 5px 0 8px;
  color: var(--strong);
  font-size: 21px;
}

.knowledge-loader-copy p {
  max-width: 560px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}

.knowledge-loader-controls {
  display: grid;
  grid-template-columns: 72px minmax(150px, 0.7fr) 72px minmax(220px, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.knowledge-loader-controls label,
.knowledge-cycle-form label {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}

.knowledge-loader-controls select,
.knowledge-loader-controls input,
.knowledge-cycle-form input,
.knowledge-cycle-form textarea {
  min-width: 0;
  border-color: var(--line);
  background: var(--bg);
}

.knowledge-search-control {
  position: relative;
  min-width: 0;
}

.knowledge-search-control > span {
  position: absolute;
  top: 50%;
  left: 11px;
  z-index: 1;
  color: var(--muted);
  font-size: 17px;
  transform: translateY(-50%);
  pointer-events: none;
}

.knowledge-search-control input {
  width: 100%;
  padding-left: 34px;
}

.knowledge-loader-controls button {
  min-height: 40px;
  white-space: nowrap;
}

.knowledge-loader-actions {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  gap: 8px;
  align-items: center;
}

.knowledge-status {
  color: var(--muted);
  font-size: 10px;
}

.knowledge-status.loading,
.knowledge-cycle-actions .loading {
  color: var(--blue);
}

.knowledge-status.ok {
  color: var(--green);
}

.knowledge-status.fail,
.knowledge-cycle-actions .fail {
  color: var(--red);
}

.knowledge-summary-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
}

.knowledge-summary-item {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 96px;
  padding: 15px 18px;
  border-right: 1px solid var(--line);
}

.knowledge-summary-item:last-child {
  border-right: 0;
}

.knowledge-summary-item span,
.knowledge-summary-item small,
.knowledge-asset-meta span {
  color: var(--muted);
  font-size: 9px;
}

.knowledge-summary-item strong {
  margin-top: 5px;
  color: var(--strong);
  font-size: 22px;
}

.knowledge-summary-item small {
  margin-top: 3px;
}

.knowledge-main-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
  gap: 16px;
  align-items: start;
  min-width: 0;
}

.knowledge-section-heading,
.knowledge-inspector-heading,
.knowledge-inspector-section-heading {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.knowledge-section-heading {
  min-height: 66px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
}

.knowledge-section-heading h2,
.knowledge-inspector-heading h2 {
  margin: 3px 0 0;
  color: var(--strong);
}

.knowledge-section-heading h2 {
  font-size: 15px;
}

.knowledge-section-heading > small {
  color: var(--muted);
  font-size: 9px;
  white-space: nowrap;
}

.knowledge-type-tabs {
  display: flex;
  gap: 4px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
  scrollbar-width: thin;
}

.knowledge-type-tabs button {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  box-shadow: none;
  white-space: nowrap;
}

.knowledge-type-tabs button:hover,
.knowledge-type-tabs button.active {
  border-color: color-mix(in srgb, var(--blue) 30%, var(--line));
  background: var(--soft-blue);
  color: var(--blue);
  transform: none;
}

.knowledge-type-tabs button span {
  color: inherit;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 8px;
}

.knowledge-asset-list {
  max-height: 760px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.knowledge-asset-row {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) 112px;
  gap: 13px;
  align-items: start;
  width: 100%;
  min-height: 104px;
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  box-shadow: none;
}

.knowledge-asset-row:last-child {
  border-bottom: 0;
}

.knowledge-asset-row:hover,
.knowledge-asset-row.active {
  background: var(--soft-blue);
  transform: none;
}

.knowledge-asset-row.active {
  box-shadow: inset 3px 0 0 var(--blue);
}

.knowledge-asset-type,
.knowledge-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 7px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 750;
  white-space: nowrap;
}

.knowledge-asset-type.evidence,
.knowledge-status-badge.evidence {
  border-color: color-mix(in srgb, var(--green) 35%, var(--line));
  color: var(--green);
}

.knowledge-asset-type.pattern,
.knowledge-status-badge.pattern {
  border-color: color-mix(in srgb, var(--amber) 35%, var(--line));
  color: var(--amber);
}

.knowledge-asset-type.causal_hypothesis,
.knowledge-status-badge.causal_hypothesis {
  border-color: color-mix(in srgb, var(--green) 35%, var(--line));
  color: var(--green);
}

.knowledge-asset-type.learning_report,
.knowledge-status-badge.learning_report,
.knowledge-asset-type.calibration_metric,
.knowledge-status-badge.calibration_metric {
  border-color: color-mix(in srgb, var(--blue) 35%, var(--line));
  color: var(--blue);
}

.knowledge-asset-row > div:nth-child(2) {
  min-width: 0;
}

.knowledge-asset-row strong,
.knowledge-asset-row p,
.knowledge-asset-row small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.knowledge-asset-row strong {
  color: var(--strong);
  font-size: 11px;
  white-space: nowrap;
}

.knowledge-asset-row p {
  display: -webkit-box;
  margin: 5px 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.knowledge-asset-row small {
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 8px;
  white-space: nowrap;
}

.knowledge-asset-meta {
  display: grid;
  gap: 5px;
  justify-items: end;
  min-width: 0;
  text-align: right;
}

.knowledge-inspector {
  position: sticky;
  top: 88px;
  overflow: hidden;
}

.knowledge-inspector-heading {
  align-items: flex-start;
  padding: 17px 18px;
  border-bottom: 1px solid var(--line);
}

.knowledge-inspector-heading > div {
  min-width: 0;
}

.knowledge-inspector-heading h2 {
  font-size: 16px;
  overflow-wrap: anywhere;
}

.knowledge-inspector-heading small {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-inspector-summary {
  margin: 0;
  padding: 15px 18px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}

.knowledge-inspector-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.knowledge-inspector-metrics > div {
  display: grid;
  min-width: 0;
  min-height: 76px;
  padding: 12px 14px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.knowledge-inspector-metrics > div:nth-child(2n) {
  border-right: 0;
}

.knowledge-inspector-metrics > div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.knowledge-inspector-metrics span,
.knowledge-inspector-metrics small {
  color: var(--muted);
  font-size: 8px;
}

.knowledge-inspector-metrics strong {
  margin-top: 4px;
  overflow: hidden;
  color: var(--strong);
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-inspector-section {
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
}

.knowledge-evidence-citation {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--soft-blue);
}

.knowledge-evidence-citation > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.knowledge-evidence-citation span,
.knowledge-evidence-citation small,
.knowledge-citation-missing {
  color: var(--muted);
  font-size: 8px;
}

.knowledge-evidence-citation strong {
  overflow: hidden;
  color: var(--strong);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-evidence-citation a {
  flex: 0 0 auto;
  color: var(--blue);
  font-size: 9px;
  font-weight: 800;
  text-decoration: none;
}

.knowledge-evidence-citation a:hover {
  text-decoration: underline;
}

body[data-theme="dark"] .knowledge-evidence-citation {
  background: #13233c;
}

.knowledge-inspector-section:last-child {
  border-bottom: 0;
}

.knowledge-inspector-section-heading {
  margin-bottom: 8px;
}

.knowledge-inspector-section-heading h3 {
  margin: 0;
  color: var(--strong);
  font-size: 10px;
}

.knowledge-inspector-section-heading span {
  color: var(--muted);
  font-size: 8px;
}

.knowledge-detail-list,
.knowledge-note-list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.knowledge-detail-list li,
.knowledge-note-list li {
  padding: 7px 8px;
  border-left: 3px solid var(--line);
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.knowledge-detail-list li,
.knowledge-note-list.lesson li {
  border-left-color: var(--blue);
}

.knowledge-note-list.question li {
  border-left-color: var(--amber);
}

.knowledge-reference-list {
  display: grid;
  gap: 6px;
}

.knowledge-reference-list > button,
.knowledge-reference-list > div {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
  min-width: 0;
  min-height: 38px;
  padding: 6px 7px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
  color: var(--text);
  text-align: left;
  box-shadow: none;
}

.knowledge-reference-list > button:hover {
  border-color: color-mix(in srgb, var(--blue) 40%, var(--line));
  background: var(--soft-blue);
  transform: none;
}

.knowledge-reference-list span {
  color: var(--blue);
  font-size: 11px;
}

.knowledge-reference-list strong {
  min-width: 0;
  overflow: hidden;
  color: var(--strong);
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-reference-list small {
  color: var(--muted);
  font-size: 8px;
  white-space: nowrap;
}

.knowledge-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.knowledge-tag-list > span:not(.empty) {
  max-width: 100%;
  padding: 4px 6px;
  border: 1px solid var(--line);
  border-radius: 5px;
  color: var(--muted);
  font-size: 8px;
  overflow-wrap: anywhere;
}

.knowledge-insight-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) minmax(260px, 1fr) minmax(300px, 1.15fr);
  gap: 16px;
  align-items: stretch;
  min-width: 0;
}

.knowledge-composition-list,
.knowledge-calibration-list,
.knowledge-note-columns {
  padding: 15px 18px;
}

.knowledge-composition-list {
  display: grid;
  gap: 12px;
}

.knowledge-composition-list > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 10px;
  align-items: center;
}

.knowledge-composition-list span,
.knowledge-composition-list strong {
  font-size: 9px;
}

.knowledge-composition-list span {
  color: var(--muted);
}

.knowledge-composition-list strong {
  color: var(--strong);
}

.knowledge-composition-list i,
.knowledge-calibration-list i {
  grid-column: 1 / -1;
  height: 3px;
  overflow: hidden;
  border-radius: 2px;
  background: var(--line);
}

.knowledge-composition-list b,
.knowledge-calibration-list b {
  display: block;
  height: 100%;
  background: var(--blue);
}

.knowledge-calibration-list {
  display: grid;
  gap: 8px;
}

.knowledge-calibration-list button {
  display: grid;
  gap: 5px;
  padding: 8px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
  color: var(--text);
  text-align: left;
  box-shadow: none;
}

.knowledge-calibration-list button:hover {
  background: var(--soft-blue);
  transform: none;
}

.knowledge-calibration-list button > div {
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.knowledge-calibration-list strong {
  min-width: 0;
  overflow: hidden;
  color: var(--strong);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-calibration-list span {
  color: var(--blue);
  font-size: 9px;
  font-weight: 750;
}

.knowledge-calibration-list small {
  color: var(--muted);
  font-size: 8px;
}

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

.knowledge-note-columns > div > span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}

.knowledge-cycle-form {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 10px 14px;
  align-items: center;
  padding: 18px;
}

.knowledge-cycle-form textarea {
  min-height: 96px;
  resize: vertical;
}

.knowledge-cycle-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  grid-column: 2;
  min-width: 0;
}

.knowledge-cycle-actions span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}

.knowledge-boundary {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  border: 1px solid color-mix(in srgb, var(--amber) 32%, var(--line));
  border-radius: var(--radius);
  background: var(--soft-amber);
}

.knowledge-boundary strong {
  flex: 0 0 auto;
  color: var(--amber);
  font-size: 9px;
}

.knowledge-boundary span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
  text-align: right;
}

.knowledge-empty,
.knowledge-error {
  display: grid;
  gap: 5px;
  min-height: 110px;
  padding: 24px;
  place-content: center;
  color: var(--muted);
  font-size: 10px;
  text-align: center;
}

.knowledge-pagination {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-top: 1px solid var(--line);
  background: var(--surface);
}

.knowledge-pagination button {
  width: 30px;
  min-width: 30px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  border-color: var(--line);
  border-radius: 4px;
  background: var(--bg);
  color: var(--text);
}

.knowledge-pagination button:disabled {
  cursor: default;
  opacity: 0.36;
}

.knowledge-pagination span {
  min-width: 54px;
  color: var(--muted);
  font-size: 9px;
  text-align: center;
}

.knowledge-error strong {
  color: var(--red);
}

body[data-theme="dark"] .knowledge-asset-row:hover,
body[data-theme="dark"] .knowledge-asset-row.active,
body[data-theme="dark"] .knowledge-type-tabs button.active,
body[data-theme="dark"] .knowledge-reference-list > button:hover,
body[data-theme="dark"] .knowledge-calibration-list button:hover {
  background: #13233c;
}

body[data-theme="dark"] .knowledge-boundary {
  background: #32270e;
}

@media (max-width: 1180px) {
  .knowledge-loader-band {
    grid-template-columns: 1fr;
  }

  .knowledge-main-layout {
    grid-template-columns: 1fr;
  }

  .knowledge-inspector {
    position: static;
  }

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

  .knowledge-learning-panel {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .knowledge-loader-controls {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .knowledge-search-control,
  .knowledge-loader-controls button {
    grid-column: 2;
  }

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

  .knowledge-summary-item {
    border-bottom: 1px solid var(--line);
  }

  .knowledge-summary-item:nth-child(2n) {
    border-right: 0;
  }

  .knowledge-summary-item:last-child {
    grid-column: 1 / -1;
    border-bottom: 0;
  }
}

@media (max-width: 680px) {
  .knowledge-loader-band {
    padding: 18px;
  }

  .knowledge-loader-controls,
  .knowledge-loader-actions,
  .knowledge-summary-strip,
  .knowledge-insight-layout,
  .knowledge-note-columns,
  .knowledge-cycle-form {
    grid-template-columns: 1fr;
  }

  .knowledge-search-control,
  .knowledge-loader-controls button,
  .knowledge-loader-actions > *,
  .knowledge-summary-item:last-child,
  .knowledge-learning-panel,
  .knowledge-cycle-actions {
    grid-column: auto;
  }

  .knowledge-loader-controls label {
    margin-top: 4px;
  }

  .knowledge-summary-item,
  .knowledge-summary-item:nth-child(2n) {
    min-height: 78px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .knowledge-summary-item:last-child {
    border-bottom: 0;
  }

  .knowledge-asset-row {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .knowledge-asset-meta {
    grid-column: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: start;
    text-align: left;
  }

  .knowledge-cycle-actions,
  .knowledge-boundary,
  .knowledge-evidence-citation {
    align-items: flex-start;
    flex-direction: column;
  }

  .knowledge-boundary span {
    text-align: left;
  }

  .knowledge-reference-list > button,
  .knowledge-reference-list > div {
    grid-template-columns: 20px minmax(0, 1fr);
  }

  .knowledge-reference-list small {
    grid-column: 2;
  }
}

/* Final report center */
.report-center-page,
.report-workspace {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.report-loader-band,
.report-compose-panel,
.report-summary-strip,
.report-catalog-panel,
.report-inspector {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.report-loader-band {
  display: grid;
  grid-template-columns: minmax(250px, 0.8fr) minmax(480px, 1.7fr);
  gap: 18px 26px;
  padding: 22px 24px;
}

.report-loader-copy > span,
.report-section-heading > div > span,
.report-inspector-heading > div > span,
.report-document-heading > span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
  text-transform: uppercase;
}

.report-loader-copy h2 {
  margin: 5px 0 8px;
  color: var(--strong);
  font-size: 21px;
}

.report-loader-copy p {
  max-width: 560px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}

.report-loader-controls {
  display: grid;
  grid-template-columns: 72px minmax(150px, 0.7fr) 72px minmax(210px, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.report-loader-controls label,
.report-compose-form > label {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}

.report-loader-controls select,
.report-loader-controls input,
.report-compose-form select,
.report-compose-form textarea {
  min-width: 0;
  border-color: var(--line);
  background: var(--bg);
}

.report-search-control {
  position: relative;
  min-width: 0;
}

.report-search-control > span {
  position: absolute;
  top: 50%;
  left: 11px;
  z-index: 1;
  color: var(--muted);
  font-size: 17px;
  transform: translateY(-50%);
  pointer-events: none;
}

.report-search-control input {
  width: 100%;
  padding-left: 34px;
}

.report-loader-controls button {
  min-height: 40px;
  white-space: nowrap;
}

.report-loader-actions {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(220px, 1fr) auto auto auto;
  gap: 8px;
  align-items: center;
}

.report-status {
  color: var(--muted);
  font-size: 10px;
}

.report-status.loading,
.report-compose-actions .loading {
  color: var(--blue);
}

.report-status.ok,
.report-compose-actions .ok {
  color: var(--green);
}

.report-status.fail,
.report-compose-actions .fail {
  color: var(--red);
}

.report-compose-panel[hidden] {
  display: none;
}

.report-section-heading,
.report-inspector-heading,
.report-document-heading {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.report-section-heading {
  min-height: 66px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
}

.report-section-heading h2,
.report-inspector-heading h2 {
  margin: 3px 0 0;
  color: var(--strong);
}

.report-section-heading h2 {
  font-size: 15px;
}

.report-section-heading > small,
.report-document-heading > small {
  color: var(--muted);
  font-size: 9px;
  white-space: nowrap;
}

.report-icon-button {
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  padding: 0;
  border-color: var(--line);
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
  box-shadow: none;
  font-size: 18px;
}

.report-compose-form {
  display: grid;
  grid-template-columns: 92px minmax(180px, 0.55fr) 92px minmax(260px, 1.45fr);
  gap: 12px;
  align-items: center;
  padding: 18px;
}

.report-compose-form textarea {
  min-height: 96px;
  resize: vertical;
}

.report-ai-options {
  display: grid;
  grid-column: 2 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.report-toggle {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 2px 9px;
  align-items: center;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  cursor: pointer;
}

.report-toggle input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.report-toggle > span {
  position: relative;
  grid-row: 1 / 3;
  width: 34px;
  height: 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--bg);
  transition: background 120ms ease;
}

.report-toggle > span::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--muted);
  content: "";
  transition: transform 120ms ease, background 120ms ease;
}

.report-toggle input:checked + span {
  border-color: var(--blue);
  background: var(--blue);
}

.report-toggle input:checked + span::after {
  background: #ffffff;
  transform: translateX(16px);
}

.report-toggle:focus-within {
  outline: 2px solid color-mix(in srgb, var(--blue) 42%, transparent);
  outline-offset: 2px;
}

.report-toggle b {
  color: var(--strong);
  font-size: 10px;
}

.report-toggle small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}

.report-compose-actions {
  display: grid;
  grid-column: 2 / -1;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.report-compose-actions > div {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.report-summary-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
}

.report-summary-strip > div {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 96px;
  padding: 15px 18px;
  border-right: 1px solid var(--line);
}

.report-summary-strip > div:last-child {
  border-right: 0;
}

.report-summary-strip span,
.report-summary-strip small,
.report-row-meta span {
  color: var(--muted);
  font-size: 9px;
}

.report-summary-strip strong {
  margin-top: 5px;
  color: var(--strong);
  font-size: 22px;
}

.report-summary-strip small {
  margin-top: 3px;
}

.report-main-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(360px, 0.9fr);
  gap: 16px;
  align-items: start;
  min-width: 0;
}

.report-type-tabs,
.report-availability-tabs {
  display: flex;
  gap: 4px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
  scrollbar-width: thin;
}

.report-availability-tabs {
  padding-block: 7px;
  background: color-mix(in srgb, var(--bg) 65%, transparent);
}

.report-type-tabs button,
.report-availability-tabs button {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  box-shadow: none;
  white-space: nowrap;
}

.report-availability-tabs button {
  min-height: 26px;
}

.report-type-tabs button:hover,
.report-type-tabs button.active,
.report-availability-tabs button:hover,
.report-availability-tabs button.active {
  border-color: color-mix(in srgb, var(--blue) 30%, var(--line));
  background: var(--soft-blue);
  color: var(--blue);
}

.report-type-tabs button span {
  min-width: 20px;
  padding: 2px 5px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--muted) 11%, transparent);
  text-align: center;
}

.report-list {
  max-height: 820px;
  overflow: auto;
  scrollbar-width: thin;
}

.report-row {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) 142px;
  gap: 13px;
  align-items: center;
  width: 100%;
  min-height: 92px;
  padding: 12px 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  box-shadow: none;
}

.report-row:hover,
.report-row.active {
  background: var(--soft-blue);
}

.report-row.active {
  box-shadow: inset 3px 0 0 var(--blue);
}

.report-type-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 4px 7px;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
  text-align: center;
}

.report-type-mark.proposition {
  border-color: color-mix(in srgb, var(--blue) 35%, var(--line));
  background: var(--soft-blue);
  color: var(--blue);
}

.report-type-mark.decision_field {
  border-color: color-mix(in srgb, var(--teal) 35%, var(--line));
  background: var(--soft-teal);
  color: var(--teal);
}

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

.report-row strong {
  display: block;
  overflow: hidden;
  color: var(--strong);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.report-row p {
  display: -webkit-box;
  margin: 5px 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.report-row small {
  display: block;
  overflow: hidden;
  color: var(--muted);
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.report-row-meta {
  display: grid;
  gap: 4px;
  justify-items: end;
  text-align: right;
}

.report-row-meta b {
  padding: 3px 6px;
  border-radius: 4px;
  font-size: 8px;
}

.report-row-meta b.available {
  background: var(--soft-teal);
  color: var(--green);
}

.report-row-meta b.missing {
  background: var(--soft-amber);
  color: var(--amber);
}

.report-pagination {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-top: 1px solid var(--line);
  background: var(--panel);
}

.report-pagination button {
  width: 30px;
  min-width: 30px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  border-color: var(--line);
  border-radius: 4px;
  background: var(--bg);
  color: var(--text);
}

.report-pagination button:disabled {
  cursor: default;
  opacity: 0.36;
}

.report-pagination span {
  min-width: 54px;
  color: var(--muted);
  font-size: 9px;
  text-align: center;
}

.report-inspector {
  position: sticky;
  top: 16px;
  overflow: hidden;
}

.report-inspector-heading {
  align-items: flex-start;
  padding: 17px 18px 13px;
  border-bottom: 1px solid var(--line);
}

.report-inspector-heading > div {
  min-width: 0;
}

.report-inspector-heading h2 {
  overflow-wrap: anywhere;
  font-size: 17px;
}

.report-inspector-heading p {
  margin: 5px 0 0;
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 8px;
}

.report-workflow-status {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 4px;
  background: var(--soft-teal);
  color: var(--green);
  font-size: 8px;
}

.report-workflow-status.waiting_for_review,
.report-workflow-status.artifact_missing {
  background: var(--soft-amber);
  color: var(--amber);
}

.report-inspector-actions {
  display: flex;
  gap: 8px;
  padding: 12px 18px;
  border-bottom: 1px solid var(--line);
}

.report-inspector-actions button {
  min-height: 34px;
  font-size: 9px;
}

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

.report-meta-grid > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 11px 12px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.report-meta-grid > div:nth-child(3n) {
  border-right: 0;
}

.report-meta-grid > div:nth-child(n + 4) {
  border-bottom: 0;
}

.report-meta-grid span {
  color: var(--muted);
  font-size: 8px;
}

.report-meta-grid strong {
  overflow: hidden;
  color: var(--strong);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.report-inspector-summary {
  padding: 13px 18px;
  border-bottom: 1px solid var(--line);
}

.report-inspector-summary > span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 750;
  text-transform: uppercase;
}

.report-inspector-summary p {
  margin: 6px 0 0;
  color: var(--text);
  font-size: 10px;
  line-height: 1.55;
}

.report-inspector-summary small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.45;
}

.report-document-heading {
  padding: 11px 18px;
  border-bottom: 1px solid var(--line);
}

.report-document-preview {
  max-height: 600px;
  padding: 18px;
  overflow: auto;
  background: color-mix(in srgb, var(--bg) 72%, transparent);
  scrollbar-width: thin;
}

.report-document-preview h3,
.report-document-preview h4,
.report-document-preview h5 {
  margin: 20px 0 8px;
  color: var(--strong);
}

.report-document-preview h3:first-child,
.report-document-preview h4:first-child {
  margin-top: 0;
}

.report-document-preview h3 {
  font-size: 16px;
}

.report-document-preview h4 {
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}

.report-document-preview h5 {
  font-size: 10px;
}

.report-document-preview p,
.report-document-preview li {
  color: var(--text);
  font-size: 9px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.report-document-preview p {
  margin: 6px 0;
}

.report-document-preview ul {
  margin: 5px 0 12px;
  padding-left: 18px;
}

.report-document-preview code {
  padding: 1px 3px;
  border-radius: 3px;
  background: color-mix(in srgb, var(--muted) 13%, transparent);
  color: var(--strong);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 8px;
}

.report-document-preview pre {
  margin: 8px 0;
  padding: 10px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--bg);
}

.report-preview-state,
.report-empty,
.report-error {
  display: grid;
  gap: 5px;
  min-height: 120px;
  padding: 24px;
  place-content: center;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
  text-align: center;
}

.report-preview-state.missing strong {
  color: var(--amber);
}

.report-preview-state.fail strong,
.report-error strong {
  color: var(--red);
}

.report-boundary {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  border: 1px solid color-mix(in srgb, var(--amber) 32%, var(--line));
  border-radius: var(--radius);
  background: var(--soft-amber);
}

.report-boundary strong {
  flex: 0 0 auto;
  color: var(--amber);
  font-size: 9px;
}

.report-boundary span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
  text-align: right;
}

body[data-theme="dark"] .report-row:hover,
body[data-theme="dark"] .report-row.active,
body[data-theme="dark"] .report-type-tabs button.active,
body[data-theme="dark"] .report-availability-tabs button.active {
  background: #13233c;
}

body[data-theme="dark"] .report-document-preview {
  background: #111a2a;
}

@media (max-width: 1180px) {
  .report-loader-band,
  .report-main-layout {
    grid-template-columns: 1fr;
  }

  .report-inspector {
    position: static;
  }
}

@media (max-width: 900px) {
  .report-loader-controls {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .report-search-control,
  .report-loader-controls button {
    grid-column: 2;
  }

  .report-loader-actions {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .report-loader-actions #report-next {
    grid-column: 2 / -1;
  }

  .report-compose-form {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .report-ai-options,
  .report-compose-actions {
    grid-column: 2;
    grid-template-columns: 1fr;
  }

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

  .report-summary-strip > div {
    border-bottom: 1px solid var(--line);
  }

  .report-summary-strip > div:nth-child(2n) {
    border-right: 0;
  }

  .report-summary-strip > div:last-child {
    grid-column: 1 / -1;
    border-bottom: 0;
  }
}

@media (max-width: 680px) {
  .report-loader-band {
    padding: 18px;
  }

  .report-loader-controls,
  .report-loader-actions,
  .report-compose-form,
  .report-ai-options,
  .report-compose-actions,
  .report-summary-strip {
    grid-template-columns: 1fr;
  }

  .report-search-control,
  .report-loader-controls button,
  .report-loader-actions > *,
  .report-loader-actions #report-next,
  .report-ai-options,
  .report-compose-actions,
  .report-summary-strip > div:last-child {
    grid-column: auto;
  }

  .report-loader-controls label {
    margin-top: 4px;
  }

  .report-compose-form > label:nth-of-type(2) {
    margin-top: 6px;
  }

  .report-summary-strip > div,
  .report-summary-strip > div:nth-child(2n) {
    min-height: 78px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .report-summary-strip > div:last-child {
    border-bottom: 0;
  }

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

  .report-row-meta {
    grid-column: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: start;
    text-align: left;
  }

  .report-row-meta b {
    justify-self: start;
  }

  .report-inspector-actions,
  .report-boundary {
    align-items: stretch;
    flex-direction: column;
  }

  .report-inspector-actions button {
    width: 100%;
  }

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

  .report-meta-grid > div,
  .report-meta-grid > div:nth-child(3n),
  .report-meta-grid > div:nth-child(n + 4) {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .report-meta-grid > div:nth-child(2n) {
    border-right: 0;
  }

  .report-meta-grid > div:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .report-boundary span {
    text-align: left;
  }
}

/* System settings workspace */

.settings-workspace {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.settings-loader-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.settings-kicker,
.settings-section-heading > div > span,
.settings-block-title > div > span {
  display: block;
  margin-bottom: 6px;
  color: var(--blue);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0;
}

.settings-loader-band h2 {
  margin-bottom: 6px;
  font-size: 20px;
}

.settings-loader-band p,
.settings-section-copy {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
}

.settings-loader-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.settings-loader-actions .button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 7px 12px;
  border: 1px solid var(--blue);
  border-radius: 8px;
  color: #ffffff;
  background: var(--blue);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.settings-loader-actions .button-link.secondary {
  border-color: var(--line);
  color: var(--text);
  background: var(--panel);
}

.settings-action-status {
  min-height: 34px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  background: var(--panel);
  font-size: 10px;
}

.settings-action-status.ok,
.settings-inline-status.ok,
.settings-inline-result.ok {
  border-color: color-mix(in srgb, var(--green) 30%, var(--line));
  color: var(--green);
  background: var(--soft-teal);
}

.settings-action-status.warn,
.settings-inline-status.warn {
  border-color: color-mix(in srgb, var(--amber) 32%, var(--line));
  color: var(--amber);
  background: var(--soft-amber);
}

.settings-action-status.fail,
.settings-inline-status.fail,
.settings-inline-result.fail {
  border-color: color-mix(in srgb, var(--red) 30%, var(--line));
  color: var(--red);
  background: color-mix(in srgb, var(--red) 8%, var(--panel));
}

.settings-action-status.loading {
  border-color: color-mix(in srgb, var(--blue) 30%, var(--line));
  color: var(--blue);
  background: var(--soft-blue);
}

.settings-summary-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.settings-metric {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  min-height: 88px;
  padding: 14px;
  border-right: 1px solid var(--line);
}

.settings-metric:last-child {
  border-right: 0;
}

.settings-metric-code,
.settings-pack-mark {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--blue);
  background: var(--soft-blue);
  font-size: 9px;
  font-weight: 800;
}

.settings-metric.ok .settings-metric-code {
  color: var(--teal);
  background: var(--soft-teal);
}

.settings-metric.warn .settings-metric-code {
  color: var(--amber);
  background: var(--soft-amber);
}

.settings-metric.fail .settings-metric-code {
  color: var(--red);
  background: color-mix(in srgb, var(--red) 8%, var(--panel));
}

.settings-metric > div {
  display: grid;
  min-width: 0;
}

.settings-metric small,
.settings-runtime-grid small {
  color: var(--muted);
  font-size: 9px;
}

.settings-metric strong {
  margin: 3px 0;
  overflow: hidden;
  color: var(--strong);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-metric em {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(112px, 1fr));
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}

.settings-tabs button {
  min-height: 42px;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 3px solid transparent;
  border-radius: 0;
  color: var(--muted);
  background: transparent;
}

.settings-tabs button:last-child {
  border-right: 0;
}

.settings-tabs button:hover,
.settings-tabs button.active {
  color: var(--blue);
  background: var(--soft-blue);
}

.settings-tabs button.active {
  border-bottom-color: var(--blue);
}

.settings-tab-panels,
.settings-section {
  min-width: 0;
}

.settings-section {
  display: grid;
  gap: 18px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.settings-section[hidden] {
  display: none;
}

.settings-section-heading,
.settings-block-title,
.settings-policy-actions {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
}

.settings-section-heading h3,
.settings-block-title h4,
.settings-config-block h4 {
  margin: 0;
  overflow-wrap: anywhere;
}

.settings-section-heading h3 {
  font-size: 17px;
}

.settings-status-pill {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 22px;
  padding: 3px 7px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  background: var(--bg);
  font-size: 9px;
  font-weight: 800;
}

.settings-status-pill.ok {
  border-color: color-mix(in srgb, var(--green) 28%, var(--line));
  color: var(--green);
  background: var(--soft-teal);
}

.settings-status-pill.warn {
  border-color: color-mix(in srgb, var(--amber) 30%, var(--line));
  color: var(--amber);
  background: var(--soft-amber);
}

.settings-status-pill.fail {
  border-color: color-mix(in srgb, var(--red) 28%, var(--line));
  color: var(--red);
  background: color-mix(in srgb, var(--red) 8%, var(--panel));
}

.settings-runtime-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 8px;
}

.settings-runtime-grid article {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 90px;
  padding: 14px 16px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.settings-runtime-grid article:nth-child(3n) {
  border-right: 0;
}

.settings-runtime-grid article:nth-last-child(-n + 3) {
  border-bottom: 0;
}

.settings-runtime-grid strong {
  margin: 5px 0;
  overflow-wrap: anywhere;
  color: var(--strong);
  font-size: 14px;
}

.settings-runtime-grid span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}

.settings-boundary-band {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
}

.settings-boundary-band.ok {
  border-left: 4px solid var(--green);
}

.settings-boundary-band.fail {
  border-left: 4px solid var(--red);
}

.settings-boundary-band strong {
  color: var(--strong);
  font-size: 11px;
}

.settings-boundary-band span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.settings-storage-layout,
.settings-ai-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.settings-config-block,
.settings-source-section,
.settings-policy-intro,
.settings-pack-row {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.settings-config-block {
  display: grid;
  gap: 13px;
  align-content: start;
}

.settings-definition-list {
  display: grid;
  margin: 0;
  border-top: 1px solid var(--line);
}

.settings-definition-list > div {
  display: grid;
  grid-template-columns: minmax(110px, 0.36fr) minmax(0, 1fr);
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}

.settings-definition-list dt,
.settings-definition-list dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 10px;
}

.settings-definition-list dt {
  color: var(--muted);
}

.settings-definition-list dd {
  color: var(--text);
  font-weight: 700;
}

.settings-boolean {
  font-weight: 800;
}

.settings-boolean.ok {
  color: var(--green);
}

.settings-boolean.fail {
  color: var(--red);
}

.settings-form {
  display: grid;
  gap: 12px;
}

.settings-form label,
.settings-model-field label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.settings-form p {
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.settings-migration-band,
.settings-key-band {
  display: grid;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
}

.settings-migration-band {
  grid-template-columns: minmax(0, 1fr) auto;
}

.settings-migration-band > div:first-child,
.settings-key-band > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.settings-migration-band strong,
.settings-key-band strong {
  color: var(--strong);
  font-size: 11px;
}

.settings-migration-band span,
.settings-key-band span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}

.settings-migration-band > div:last-child {
  display: flex;
  gap: 8px;
}

.settings-inline-result:empty {
  display: none;
}

.settings-inline-result {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 10px;
}

.settings-key-band {
  grid-template-columns: minmax(190px, 0.55fr) minmax(220px, 1fr) auto;
  border-left: 4px solid var(--blue);
}

.settings-key-band input {
  min-width: 0;
}

.settings-block-title > div {
  min-width: 0;
}

.settings-block-title a {
  color: var(--blue);
  font-size: 10px;
  font-weight: 700;
  text-decoration: none;
}

.settings-model-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: end;
}

.settings-model-field select {
  min-width: 0;
}

.settings-inline-status {
  min-height: 30px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  background: var(--bg);
  font-size: 9px;
}

.settings-source-section {
  display: grid;
  gap: 12px;
}

.settings-source-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 8px;
}

.settings-source-list article {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  min-height: 66px;
  padding: 11px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.settings-source-list article:nth-child(3n) {
  border-right: 0;
}

.settings-source-list article:nth-last-child(-n + 3) {
  border-bottom: 0;
}

.settings-source-list article > div {
  display: grid;
  min-width: 0;
}

.settings-source-list strong,
.settings-source-list span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-source-list strong {
  color: var(--strong);
  font-size: 10px;
}

.settings-source-list article > div > span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 8px;
}

.settings-policy-intro {
  border-left: 4px solid var(--amber);
  background: var(--soft-amber);
}

.settings-policy-intro strong {
  color: var(--amber);
  font-size: 11px;
}

.settings-policy-intro p {
  margin: 6px 0 0;
  color: var(--text);
  font-size: 10px;
  line-height: 1.55;
}

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

.settings-policy-grid article {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  min-height: 70px;
  padding: 12px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--green);
  border-radius: 8px;
}

.settings-policy-grid article.fail {
  border-left-color: var(--red);
}

.settings-policy-grid input {
  width: 16px;
  height: 16px;
  accent-color: var(--green);
}

.settings-policy-grid article > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.settings-policy-grid strong {
  color: var(--strong);
  font-size: 10px;
}

.settings-policy-grid article > div > span,
.settings-policy-actions > span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}

.settings-pack-list {
  display: grid;
  gap: 10px;
}

.settings-pack-row {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(360px, 1.2fr);
  gap: 16px;
  align-items: center;
}

.settings-pack-title {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.settings-pack-title > div {
  display: grid;
  min-width: 0;
}

.settings-pack-title strong {
  color: var(--strong);
  font-size: 12px;
}

.settings-pack-title small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.settings-pack-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 6px;
}

.settings-pack-stats span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px;
  border-right: 1px solid var(--line);
  color: var(--muted);
  font-size: 8px;
  text-align: center;
}

.settings-pack-stats span:last-child {
  border-right: 0;
}

.settings-pack-stats b {
  color: var(--strong);
  font-size: 13px;
}

.settings-pack-row details {
  grid-column: 1 / -1;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.settings-pack-row summary {
  color: var(--blue);
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
}

.settings-pack-detail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.settings-pack-detail > div {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
}

.settings-pack-detail strong {
  color: var(--strong);
  font-size: 9px;
}

.settings-pack-detail .section-list {
  margin-bottom: 0;
  padding-left: 18px;
}

.settings-pack-detail .section-list li {
  font-size: 9px;
  line-height: 1.45;
}

.settings-empty {
  display: grid;
  min-height: 100px;
  place-items: center;
  border: 1px dashed var(--line);
  border-radius: 8px;
  color: var(--muted);
  font-size: 10px;
}

body[data-theme="dark"] .settings-loader-actions .button-link.secondary,
body[data-theme="dark"] .settings-config-block,
body[data-theme="dark"] .settings-source-section,
body[data-theme="dark"] .settings-pack-row {
  background: var(--panel);
}

@media (max-width: 1180px) {
  .settings-summary-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .settings-metric:nth-child(3) {
    border-right: 0;
  }

  .settings-metric:nth-child(-n + 3) {
    border-bottom: 1px solid var(--line);
  }

  .settings-pack-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .settings-loader-band,
  .settings-key-band {
    grid-template-columns: 1fr;
  }

  .settings-loader-actions {
    justify-content: flex-start;
  }

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

  .settings-metric,
  .settings-metric:nth-child(3) {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .settings-metric:nth-child(2n) {
    border-right: 0;
  }

  .settings-metric:last-child {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 0;
  }

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

  .settings-runtime-grid article,
  .settings-runtime-grid article:nth-child(3n),
  .settings-source-list article,
  .settings-source-list article:nth-child(3n) {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .settings-runtime-grid article:nth-child(2n),
  .settings-source-list article:nth-child(2n) {
    border-right: 0;
  }

  .settings-runtime-grid article:nth-last-child(-n + 2),
  .settings-source-list article:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .settings-storage-layout,
  .settings-ai-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .settings-loader-band,
  .settings-section {
    padding: 16px;
  }

  .settings-loader-actions,
  .settings-loader-actions .button-link,
  .settings-loader-actions button {
    width: 100%;
  }

  .settings-summary-strip,
  .settings-runtime-grid,
  .settings-source-list,
  .settings-policy-grid,
  .settings-pack-detail,
  .settings-pack-stats {
    grid-template-columns: 1fr;
  }

  .settings-metric,
  .settings-metric:nth-child(2n),
  .settings-metric:nth-child(3),
  .settings-metric:last-child {
    grid-column: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

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

  .settings-tabs {
    grid-template-columns: repeat(5, minmax(104px, 1fr));
  }

  .settings-section-heading,
  .settings-policy-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .settings-section-heading > button,
  .settings-policy-actions > button {
    width: 100%;
  }

  .settings-runtime-grid article,
  .settings-runtime-grid article:nth-child(2n),
  .settings-runtime-grid article:nth-child(3n),
  .settings-runtime-grid article:nth-last-child(-n + 2),
  .settings-source-list article,
  .settings-source-list article:nth-child(2n),
  .settings-source-list article:nth-child(3n),
  .settings-source-list article:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .settings-runtime-grid article:last-child,
  .settings-source-list article:last-child {
    border-bottom: 0;
  }

  .settings-boundary-band,
  .settings-migration-band,
  .settings-key-band,
  .settings-model-field {
    grid-template-columns: 1fr;
  }

  .settings-boundary-band button,
  .settings-migration-band > div:last-child,
  .settings-migration-band button,
  .settings-key-band button,
  .settings-model-field button {
    width: 100%;
  }

  .settings-migration-band > div:last-child {
    display: grid;
    grid-template-columns: 1fr;
  }

  .settings-definition-list > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .settings-policy-grid article {
    grid-template-columns: 18px minmax(0, 1fr);
  }

  .settings-policy-grid .settings-status-pill {
    grid-column: 2;
    justify-self: start;
  }

  .settings-pack-stats span,
  .settings-pack-stats span:last-child {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .settings-pack-stats span:last-child {
    border-bottom: 0;
  }
}

/* Personal center */
.personal-workspace {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.personal-identity-band {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto auto;
  align-items: center;
  gap: 16px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.personal-avatar {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  color: #1d4ed8;
  background: var(--soft-blue);
  font-size: 17px;
  font-weight: 800;
}

.personal-identity-copy,
.personal-identity-copy h2,
.personal-identity-copy p,
.personal-section-heading h3,
.personal-section-heading p,
.personal-subheading h4,
.personal-review-copy p,
.personal-boundary-note p {
  margin: 0;
}

.personal-identity-copy {
  min-width: 0;
}

.personal-identity-copy > span,
.personal-section-heading > div > span {
  display: block;
  margin-bottom: 5px;
  color: var(--blue);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
}

.personal-identity-copy h2 {
  overflow-wrap: anywhere;
  color: var(--strong);
  font-size: 21px;
  line-height: 1.25;
}

.personal-identity-copy p {
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}

.personal-identity-state {
  display: grid;
  justify-items: end;
  gap: 6px;
}

.personal-identity-state > span:last-child {
  color: var(--muted);
  font-size: 11px;
  white-space: nowrap;
}

.personal-header-actions,
.personal-quick-actions,
.personal-form-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.personal-header-actions .button-link,
.personal-header-actions button,
.personal-quick-actions .button-link,
.personal-quick-actions button,
.personal-form-actions button,
.personal-review-actions button,
.personal-section-heading button {
  min-height: 36px;
}

.personal-header-actions .button-link,
.personal-quick-actions .button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  border: 1px solid var(--blue);
  border-radius: 7px;
  color: #ffffff;
  background: var(--blue);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

.personal-header-actions .button-link.secondary,
.personal-quick-actions .button-link.secondary {
  border-color: var(--line);
  color: var(--text);
  background: var(--panel);
}

.personal-header-actions .button-link:hover,
.personal-quick-actions .button-link:hover {
  border-color: #60a5fa;
  color: #ffffff;
  background: #2563eb;
}

.personal-header-actions .button-link.secondary:hover,
.personal-quick-actions .button-link.secondary:hover {
  color: var(--blue);
  background: var(--soft-blue);
}

.personal-action-status {
  min-height: 38px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--blue);
  border-radius: 6px;
  color: var(--muted);
  background: var(--panel);
  font-size: 12px;
}

.personal-action-status.ok {
  border-left-color: var(--green);
  color: var(--green);
}

.personal-action-status.warn,
.personal-action-status.loading {
  border-left-color: var(--amber);
  color: var(--amber);
}

.personal-action-status.fail {
  border-left-color: var(--red);
  color: var(--red);
}

.personal-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.personal-metric {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 108px;
  padding: 17px;
  border-right: 1px solid var(--line);
}

.personal-metric:last-child {
  border-right: 0;
}

.personal-metric > span,
.personal-focus-mark,
.personal-review-origin > span,
.personal-run-kind,
.personal-report-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid #bfdbfe;
  border-radius: 7px;
  color: #1d4ed8;
  background: var(--soft-blue);
  font-size: 10px;
  font-weight: 800;
}

.personal-metric.ok > span,
.personal-focus-mark,
.personal-review-origin > span,
.personal-report-mark {
  border-color: #bbf7d0;
  color: var(--green);
  background: var(--soft-teal);
}

.personal-metric.warn > span {
  border-color: #fde68a;
  color: var(--amber);
  background: var(--soft-amber);
}

.personal-metric > div {
  display: grid;
  min-width: 0;
}

.personal-metric small,
.personal-metric em {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}

.personal-metric strong {
  margin: 3px 0;
  color: var(--strong);
  font-size: 24px;
  line-height: 1;
}

.personal-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(130px, 1fr));
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  scrollbar-width: thin;
}

.personal-tabs button {
  min-height: 46px;
  padding: 10px 16px;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  color: var(--muted);
  background: transparent;
  font-size: 12px;
  font-weight: 700;
}

.personal-tabs button:last-child {
  border-right: 0;
}

.personal-tabs button.active {
  color: var(--blue);
  background: var(--soft-blue);
  box-shadow: inset 0 -2px 0 var(--blue);
}

.personal-tab-panels,
.personal-panel {
  min-width: 0;
}

.personal-panel[hidden] {
  display: none;
}

.personal-overview-grid,
.personal-activity-layout,
.personal-preferences-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  min-width: 0;
}

.personal-overview-grid > :only-child {
  grid-column: 1 / -1;
}

.personal-section-block {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.personal-mission-section {
  margin-top: 18px;
}

.personal-section-heading,
.personal-subheading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
}

.personal-section-heading > div,
.personal-subheading > div {
  min-width: 0;
}

.personal-section-heading h3 {
  color: var(--strong);
  font-size: 16px;
  line-height: 1.3;
}

.personal-section-heading p {
  max-width: 720px;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.personal-section-heading > span,
.personal-subheading > span,
.personal-subheading a {
  color: var(--muted);
  font-size: 11px;
  text-decoration: none;
}

.personal-panel-heading {
  margin-bottom: 16px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.personal-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  max-width: 100%;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  background: var(--bg);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.personal-status-pill.ok {
  border-color: #bbf7d0;
  color: var(--green);
  background: var(--soft-teal);
}

.personal-status-pill.warn {
  border-color: #fde68a;
  color: var(--amber);
  background: var(--soft-amber);
}

.personal-status-pill.fail {
  border-color: #fecaca;
  color: var(--red);
  background: #fff1f2;
}

body[data-theme="dark"] .personal-status-pill.fail {
  background: #35171c;
}

.personal-definition-list {
  display: grid;
  margin: 18px 0;
  border-top: 1px solid var(--line);
}

.personal-definition-list > div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 14px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

.personal-definition-list dt,
.personal-definition-list dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 12px;
}

.personal-definition-list dt {
  color: var(--muted);
}

.personal-definition-list dd {
  color: var(--strong);
  font-weight: 700;
}

.personal-focus-list,
.personal-mission-list,
.personal-review-list,
.personal-run-list,
.personal-report-list,
.personal-security-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.personal-focus-list article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 11px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--bg);
}

.personal-focus-list article > div {
  min-width: 0;
}

.personal-focus-list strong,
.personal-focus-list p,
.personal-focus-list small {
  display: block;
  overflow-wrap: anywhere;
}

.personal-focus-list strong {
  color: var(--strong);
  font-size: 12px;
}

.personal-focus-list p {
  display: -webkit-box;
  overflow: hidden;
  margin: 4px 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.personal-focus-list small {
  color: var(--muted);
  font-size: 10px;
}

.personal-mission-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(120px, 0.55fr) auto;
  align-items: center;
  gap: 16px;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--bg);
}

.personal-mission-row > div:first-child {
  min-width: 0;
}

.personal-mission-row strong,
.personal-mission-row > div:first-child span {
  display: block;
  overflow-wrap: anywhere;
}

.personal-mission-row strong {
  overflow: hidden;
  color: var(--strong);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.personal-mission-row > div:first-child span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
}

.personal-progress {
  overflow: hidden;
  height: 6px;
  border-radius: 6px;
  background: var(--line);
}

.personal-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--blue);
}

.personal-mission-row > div:last-child {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.personal-mission-row b {
  color: var(--strong);
  font-size: 11px;
}

.personal-review-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.personal-review-origin {
  display: grid;
  justify-items: center;
  gap: 6px;
}

.personal-review-origin small {
  color: var(--muted);
  font-size: 9px;
  text-align: center;
}

.personal-review-copy {
  min-width: 0;
}

.personal-review-copy > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.personal-review-copy strong {
  overflow-wrap: anywhere;
  color: var(--strong);
  font-size: 13px;
}

.personal-review-copy p {
  margin-top: 7px;
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.personal-review-copy > small {
  display: block;
  margin-top: 8px;
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 10px;
}

.personal-review-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(70px, 1fr));
  gap: 7px;
}

.personal-segmented {
  display: inline-grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(78px, auto);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--bg);
}

.personal-segmented button {
  min-height: 34px;
  padding: 7px 11px;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  color: var(--muted);
  background: transparent;
  font-size: 11px;
  font-weight: 700;
}

.personal-segmented button:last-child {
  border-right: 0;
}

.personal-segmented button.active {
  color: var(--blue);
  background: var(--soft-blue);
}

.personal-subheading {
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.personal-subheading h4 {
  color: var(--strong);
  font-size: 13px;
}

.personal-run-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-width: 0;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

.personal-run-row:last-child {
  border-bottom: 0;
}

.personal-run-kind.ai {
  border-color: #bfdbfe;
  color: #1d4ed8;
  background: var(--soft-blue);
}

.personal-run-kind.source {
  border-color: #fde68a;
  color: var(--amber);
  background: var(--soft-amber);
}

.personal-run-kind.internal {
  border-color: #bbf7d0;
  color: var(--green);
  background: var(--soft-teal);
}

.personal-run-row > div:nth-child(2) {
  min-width: 0;
}

.personal-run-row strong,
.personal-run-row small,
.personal-run-row > div:last-child > span:first-child {
  display: block;
}

.personal-run-row strong {
  overflow: hidden;
  color: var(--strong);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.personal-run-row small {
  margin-top: 4px;
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.personal-run-row > div:last-child {
  display: grid;
  justify-items: end;
  gap: 5px;
}

.personal-run-row > div:last-child > span:first-child {
  color: var(--muted);
  font-size: 9px;
  white-space: nowrap;
}

.personal-report-list article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-width: 0;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

.personal-report-list article:last-child {
  border-bottom: 0;
}

.personal-report-list article > div {
  min-width: 0;
}

.personal-report-list strong,
.personal-report-list small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.personal-report-list strong {
  color: var(--strong);
  font-size: 12px;
}

.personal-report-list small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
}

.personal-report-list b {
  color: var(--muted);
  font-size: 10px;
  white-space: nowrap;
}

.personal-preferences-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.personal-preferences-form > label,
.personal-preferences-form fieldset {
  display: grid;
  gap: 7px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--muted);
  font-size: 11px;
}

.personal-preferences-form label:first-child,
.personal-toggle-list,
.personal-form-actions {
  grid-column: 1 / -1;
}

.personal-preferences-form legend {
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 11px;
}

.personal-preferences-form input,
.personal-preferences-form select {
  width: 100%;
  min-width: 0;
  min-height: 40px;
}

.personal-toggle-list {
  display: grid;
  gap: 9px;
  padding-top: 3px;
}

.personal-toggle-list label {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--bg);
}

.personal-toggle-list input {
  width: 16px;
  min-height: 16px;
  margin: 2px 0 0;
}

.personal-toggle-list strong,
.personal-toggle-list small {
  display: block;
}

.personal-toggle-list strong {
  color: var(--strong);
  font-size: 11px;
}

.personal-toggle-list small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}

.personal-form-actions {
  padding-top: 3px;
}

.personal-form-actions .danger {
  color: var(--red);
}

.personal-security-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.personal-security-list article:last-child {
  border-bottom: 0;
}

.personal-security-list article > div {
  min-width: 0;
}

.personal-security-list strong,
.personal-security-list article > div > span {
  display: block;
  overflow-wrap: anywhere;
}

.personal-security-list strong {
  color: var(--strong);
  font-size: 12px;
}

.personal-security-list article > div > span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
}

.personal-boundary-note {
  margin-top: 16px;
  padding: 14px;
  border-left: 3px solid var(--green);
  border-radius: 0 7px 7px 0;
  background: var(--soft-teal);
}

.personal-boundary-note strong,
.personal-boundary-note p,
.personal-boundary-note a {
  display: block;
}

.personal-boundary-note strong {
  color: var(--green);
  font-size: 12px;
}

.personal-boundary-note p {
  margin-top: 5px;
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.personal-boundary-note a {
  margin-top: 8px;
  color: var(--blue);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

.personal-empty {
  display: grid;
  gap: 5px;
  min-height: 72px;
  place-content: center;
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: 7px;
  color: var(--muted);
  font-size: 11px;
  text-align: center;
}

.personal-empty.large {
  min-height: 180px;
}

.personal-empty strong {
  color: var(--strong);
  font-size: 13px;
}

body[data-density="compact"] .personal-workspace {
  gap: 12px;
}

body[data-density="compact"] .personal-identity-band,
body[data-density="compact"] .personal-section-block,
body[data-density="compact"] .personal-panel-heading {
  padding: 14px 16px;
}

body[data-density="compact"] .personal-metric {
  min-height: 88px;
  padding: 12px 14px;
}

body[data-density="compact"] .personal-review-row,
body[data-density="compact"] .personal-mission-row {
  padding: 10px 12px;
}

@media (max-width: 1180px) {
  .personal-identity-band {
    grid-template-columns: auto minmax(220px, 1fr) auto;
  }

  .personal-header-actions {
    grid-column: 2 / -1;
    justify-content: flex-end;
  }

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

  .personal-metric:nth-child(2) {
    border-right: 0;
  }

  .personal-metric:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .personal-overview-grid,
  .personal-activity-layout,
  .personal-preferences-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .personal-identity-band {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .personal-identity-state,
  .personal-header-actions {
    grid-column: 1 / -1;
    justify-items: start;
    justify-content: flex-start;
  }

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

  .personal-mission-row .personal-progress {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .personal-review-row {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  .personal-review-actions {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 680px) {
  .personal-identity-band,
  .personal-section-block,
  .personal-panel-heading,
  body[data-density="compact"] .personal-identity-band,
  body[data-density="compact"] .personal-section-block,
  body[data-density="compact"] .personal-panel-heading {
    padding: 15px;
  }

  .personal-identity-band {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
  }

  .personal-avatar {
    width: 44px;
    height: 44px;
  }

  .personal-identity-copy h2 {
    font-size: 18px;
  }

  .personal-header-actions,
  .personal-header-actions .button-link,
  .personal-header-actions button,
  .personal-quick-actions,
  .personal-quick-actions .button-link,
  .personal-quick-actions button,
  .personal-form-actions,
  .personal-form-actions button {
    width: 100%;
  }

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

  .personal-metric,
  .personal-metric:nth-child(2),
  .personal-metric:nth-child(-n + 2) {
    min-height: 88px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

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

  .personal-tabs {
    grid-template-columns: repeat(4, minmax(116px, 1fr));
  }

  .personal-section-heading,
  .personal-panel-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .personal-section-heading > button,
  .personal-panel-heading > .personal-status-pill {
    align-self: stretch;
  }

  .personal-definition-list > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .personal-mission-row,
  .personal-review-row,
  .personal-run-row {
    grid-template-columns: 1fr;
  }

  .personal-mission-row .personal-progress,
  .personal-review-actions {
    grid-column: 1;
  }

  .personal-mission-row > div:last-child,
  .personal-run-row > div:last-child {
    justify-content: flex-start;
    justify-items: start;
  }

  .personal-review-origin {
    grid-template-columns: 38px auto;
    justify-items: start;
  }

  .personal-review-actions,
  .personal-review-actions button {
    width: 100%;
  }

  .personal-panel-heading .personal-segmented,
  .personal-preferences-form .personal-segmented {
    display: grid;
    grid-auto-flow: column;
    width: 100%;
    overflow-x: auto;
  }

  .personal-preferences-form {
    grid-template-columns: 1fr;
  }

  .personal-preferences-form > label,
  .personal-preferences-form fieldset,
  .personal-toggle-list,
  .personal-form-actions {
    grid-column: 1;
  }

  .personal-security-list article {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 1080px) {
  .decision-suite-header {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  .decision-suite-tabs {
    width: 100%;
  }
}

@media (max-width: 680px) {
  .decision-suite-heading {
    min-width: 0;
  }

  .decision-suite-heading p {
    display: none;
  }

  .decision-suite-tabs {
    grid-template-columns: repeat(3, minmax(118px, 1fr));
    overflow-x: auto;
  }

  .decision-suite-tabs a {
    min-height: 46px;
    padding: 8px 9px;
  }

  .decision-suite-tabs small {
    display: none;
  }
}
