:root {
  color-scheme: dark;
  --bg: #070b10;
  --surface: #0c1219;
  --surface-2: #111a24;
  --panel: #121c27;
  --line: rgba(148, 163, 184, 0.18);
  --line-strong: rgba(203, 213, 225, 0.28);
  --text: #e6edf3;
  --muted: #8ea0b4;
  --faint: #64748b;
  --cyan: #22d3ee;
  --green: #34d399;
  --amber: #fbbf24;
  --orange: #fb923c;
  --red: #f87171;
  --blue: #60a5fa;
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background:
    linear-gradient(rgba(148, 163, 184, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, .045) 1px, transparent 1px),
    radial-gradient(circle at 18% 0%, rgba(34, 211, 238, .08), transparent 34%),
    radial-gradient(circle at 90% 20%, rgba(251, 146, 60, .07), transparent 30%),
    var(--bg);
  background-size: 44px 44px, 44px 44px, auto, auto, auto;
  color: var(--text);
  font-family: Inter, "Segoe UI", "Microsoft YaHei", Arial, sans-serif;
  letter-spacing: 0;
}

a { color: inherit; }

.auth-screen {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 20px;
  background:
    linear-gradient(rgba(148, 163, 184, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, .045) 1px, transparent 1px),
    radial-gradient(circle at 20% 10%, rgba(34, 211, 238, .14), transparent 32%),
    radial-gradient(circle at 84% 80%, rgba(248, 113, 113, .1), transparent 32%),
    rgba(7, 11, 16, .98);
  background-size: 44px 44px, 44px 44px, auto, auto, auto;
}

.auth-screen.hidden {
  display: none;
}

.hidden {
  display: none !important;
}

.login-card {
  width: min(440px, 100%);
  display: grid;
  gap: 14px;
  padding: 24px;
  border: 1px solid rgba(34, 211, 238, .28);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(18, 28, 39, .96), rgba(10, 16, 24, .94));
  box-shadow: var(--shadow);
}

.brand.compact {
  margin-bottom: 6px;
}

.login-card h2 {
  margin: 0;
  font-size: 30px;
}

.login-card p,
.login-card small {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.login-card button,
.tenant-form button {
  border: 1px solid rgba(34, 211, 238, .55);
  border-radius: 8px;
  background: rgba(34, 211, 238, .14);
  color: var(--cyan);
  padding: 11px 14px;
  font-weight: 900;
  cursor: pointer;
}

.shell {
  width: min(1500px, 100%);
  margin: 0 auto;
  padding: 18px;
}

.desk-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: minmax(240px, .85fr) auto minmax(300px, auto);
  align-items: center;
  gap: 18px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(7, 11, 16, .86);
  backdrop-filter: blur(16px);
  box-shadow: var(--shadow);
}

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

.brand-mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(34, 211, 238, .45);
  border-radius: 8px;
  background: linear-gradient(145deg, rgba(34, 211, 238, .2), rgba(96, 165, 250, .08));
  color: var(--cyan);
  font-weight: 900;
  font-size: 14px;
}

.eyebrow {
  margin: 0 0 6px;
  color: var(--faint);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

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

.brand h1 {
  margin: 0;
  font-size: 18px;
}

nav {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

nav a {
  padding: 9px 11px;
  border-radius: 8px;
  color: var(--muted);
  text-decoration: none;
  font-size: 14px;
}

nav a:hover {
  background: rgba(148, 163, 184, .1);
  color: var(--text);
}

.ghost-button,
.form-actions button,
.portfolio-actions button {
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: rgba(15, 23, 42, .8);
  color: var(--text);
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
}

.ghost-button.danger {
  border-color: rgba(248, 113, 113, .35);
  color: #ff9a9a;
}

.tenant-switcher {
  display: flex;
  align-items: end;
  justify-content: end;
  gap: 8px;
  min-width: 0;
}

.tenant-switcher label {
  min-width: 160px;
}

.tenant-switcher select {
  height: 38px;
  padding: 7px 9px;
}

.ghost-button:hover,
.form-actions button:hover,
.portfolio-actions button:hover {
  border-color: rgba(34, 211, 238, .55);
}

main {
  display: grid;
  gap: 18px;
  padding-top: 18px;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
  gap: 18px;
  min-height: 390px;
}

.hero-copy,
.hero-panel,
.metric,
.base-panel,
.base-theme-card,
.diagnostic-card,
.protocol-card,
.theme-card,
.panel,
.exposure-panel,
.entry-section,
.portfolio-card,
.source-card,
.rules-panel,
.empty-state {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(18, 28, 39, .94), rgba(10, 16, 24, .92));
  box-shadow: var(--shadow);
}

.hero-copy {
  padding: clamp(24px, 4vw, 44px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.hero-copy h2 {
  max-width: 940px;
  margin: 20px 0 34px;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1.05;
  letter-spacing: 0;
}

.hero-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.hero-meta span {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(2, 6, 23, .32);
  font-size: 13px;
}

.hero-panel {
  padding: 18px;
  overflow: hidden;
}

canvas {
  width: 100%;
  height: 100%;
  min-height: 300px;
  display: block;
}

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

.research-brief {
  display: grid;
  margin-bottom: 14px;
}

.research-brief article {
  padding: 20px;
  border: 1px solid rgba(34, 211, 238, .32);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(34, 211, 238, .14), rgba(251, 146, 60, .06) 58%, rgba(8, 13, 20, .94)),
    rgba(10, 16, 24, .94);
  box-shadow: var(--shadow);
}

.research-brief span,
.detail-strip span,
.event-row span {
  color: var(--faint);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.research-brief h3 {
  margin: 8px 0 14px;
  font-size: clamp(24px, 3vw, 36px);
}

.research-brief p {
  margin: 14px 0 0;
  color: var(--muted);
}

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

.brief-list b {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(3, 7, 18, .34);
  font-size: 14px;
  line-height: 1.5;
}

.gold-snapshot-panel {
  display: grid;
  margin-bottom: 14px;
}

.gold-workbench {
  padding: 20px;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .92), rgba(4, 8, 14, .95)),
    rgba(4, 8, 14, .94);
}

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

.gold-workbench h3 {
  margin: 6px 0 0;
  font-size: clamp(22px, 2.4vw, 32px);
}

.gold-workbench header strong {
  color: var(--orange);
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1;
  text-align: right;
}

.gold-workbench header strong small {
  color: var(--muted);
  font-size: 16px;
  margin-left: 2px;
}

.gold-factor span,
.gold-validation summary {
  color: var(--cyan);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
}

.gold-workbench p,
.gold-factor small,
.gold-validation p,
.gold-validation li {
  color: var(--muted);
  line-height: 1.55;
}

.gold-workbench.insufficient {
  border-color: rgba(251, 146, 60, .36);
}

.gold-verdict-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0;
}

.gold-verdict-strip span {
  padding: 8px 10px;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(2, 6, 12, .45);
}

.gold-verdict-strip.human span {
  color: var(--text);
}

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

.gold-factor {
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 8px;
  background: rgba(3, 7, 14, .7);
  text-decoration: none;
}

.gold-factor.missing {
  border-color: rgba(248, 113, 113, .34);
}

.gold-factor.crowded,
.gold-factor.headwind,
.gold-factor.event-risk {
  border-color: rgba(251, 146, 60, .36);
}

.gold-factor strong {
  color: var(--text);
  line-height: 1.45;
}

.gold-factor b {
  color: var(--orange);
  font-size: 24px;
}

.gold-validation {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 8px;
  background: rgba(2, 6, 12, .4);
}

.base-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: 14px;
}

.base-layout.lower {
  margin-top: 14px;
}

.base-layout.single {
  grid-template-columns: 1fr;
}

.base-panel {
  padding: 18px;
}

.base-theme-card header span {
  display: block;
  color: var(--faint);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.base-theme-card p,
.base-theme-card small {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.base-theme-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.base-theme-card {
  width: 100%;
  padding: 14px;
  display: grid;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  background:
    linear-gradient(180deg, rgba(18, 28, 39, .94), rgba(10, 16, 24, .92)),
    radial-gradient(circle at 86% 10%, rgba(34, 211, 238, .12), transparent 28%);
}

.base-theme-card:hover,
.base-theme-card.active {
  border-color: rgba(34, 211, 238, .56);
  background:
    linear-gradient(180deg, rgba(18, 36, 48, .96), rgba(10, 16, 24, .94)),
    radial-gradient(circle at 86% 10%, rgba(34, 211, 238, .18), transparent 30%);
}

.base-theme-card header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}

.base-theme-card h3 {
  margin: 6px 0 0;
  font-size: 22px;
}

.base-theme-card header strong {
  color: var(--cyan);
  font-size: 30px;
  line-height: 1;
}

.base-theme-card.hot header strong { color: var(--orange); }
.base-theme-card.warm header strong { color: var(--amber); }
.base-theme-card.cold header strong { color: var(--faint); }

.theme-card-meta,
.detail-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.theme-card-meta span,
.detail-strip span {
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(3, 7, 18, .32);
}

.theme-detail {
  min-height: 100%;
}

.theme-detail-card {
  display: grid;
  gap: 14px;
}

.theme-detail-card header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.theme-detail-card h3 {
  margin: 6px 0 0;
  font-size: 32px;
}

.theme-detail-card header strong {
  color: var(--cyan);
  font-size: 48px;
  line-height: 1;
}

.theme-detail-card.hot header strong { color: var(--orange); }
.theme-detail-card.warm header strong { color: var(--amber); }
.theme-detail-card.cold header strong { color: var(--faint); }

.theme-detail-card p {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.theme-detail-card h4 {
  margin: 6px 0 0;
  font-size: 15px;
}

.theme-answer {
  padding: 16px;
  border: 1px solid rgba(34, 211, 238, .26);
  border-radius: 8px;
  background: rgba(34, 211, 238, .06);
}

.theme-answer span {
  display: block;
  margin-bottom: 8px;
  color: var(--cyan);
  font-size: 12px;
  font-weight: 900;
}

.theme-answer p {
  color: var(--text);
  font-size: 20px;
  line-height: 1.55;
}

.theme-signal-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.theme-signal-strip article {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(3, 7, 18, .32);
}

.theme-signal-strip span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
}

.theme-signal-strip strong {
  display: block;
  color: var(--text);
  font-size: 20px;
  overflow-wrap: anywhere;
}

.method-fold {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(3, 7, 18, .22);
}

.method-fold summary {
  cursor: pointer;
  color: var(--muted);
  font-weight: 900;
}

.method-grid {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.method-grid h5 {
  margin: 0 0 8px;
  color: var(--text);
  font-size: 14px;
}

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

.verification-grid article,
.validation-card,
.audit-list div {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(3, 7, 18, .32);
}

.verification-grid span {
  color: var(--faint);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.verification-grid strong {
  display: block;
  margin: 7px 0;
  font-size: 22px;
}

.verification-grid p,
.validation-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.validation-card {
  display: grid;
  gap: 10px;
}

.validation-card details {
  border-top: 1px solid var(--line);
  padding-top: 9px;
  color: var(--muted);
}

.validation-card summary {
  color: var(--text);
  cursor: pointer;
  font-weight: 800;
}

.validation-card ul {
  margin: 8px 0 0;
  padding-left: 18px;
  line-height: 1.65;
}

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

.audit-list div {
  display: grid;
  gap: 5px;
}

.audit-list .pass {
  border-color: rgba(52, 211, 153, .22);
}

.audit-list .fail {
  border-color: rgba(248, 113, 113, .42);
}

.audit-list b {
  color: var(--text);
}

.audit-list span {
  color: var(--muted);
  line-height: 1.5;
}

.evidence-list.detail {
  display: grid;
  gap: 10px;
}

.evidence-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(3, 7, 18, .32);
  text-decoration: none;
}

.evidence-detail:hover {
  border-color: rgba(34, 211, 238, .52);
}

.evidence-detail div {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.evidence-detail span,
.evidence-detail small,
.evidence-detail em {
  color: var(--muted);
  font-style: normal;
  line-height: 1.5;
}

.evidence-detail b {
  color: var(--text);
  font-size: 16px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.evidence-detail strong {
  min-width: 86px;
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 22px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.evidence-detail.up strong { color: var(--red); }
.evidence-detail.down strong { color: var(--green); }

.gap-list.concise {
  display: grid;
  gap: 8px;
  padding-left: 0;
  list-style: none;
}

.gap-list.concise li {
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(3, 7, 18, .24);
}

.gap-list,
.history-list {
  margin: 0;
  padding-left: 20px;
  color: var(--muted);
  line-height: 1.65;
}

.history-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-left: 0;
}

.history-list span {
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(3, 7, 18, .28);
}

.history-list b {
  margin-right: 8px;
  color: var(--text);
}

.event-pool {
  display: grid;
  gap: 10px;
}

.event-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(3, 7, 18, .28);
}

.event-row button {
  display: grid;
  gap: 5px;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.event-row button strong,
.event-row button small {
  overflow-wrap: anywhere;
}

.event-row button small {
  color: var(--muted);
}

.event-row a {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--cyan);
  text-decoration: none;
  white-space: nowrap;
}

.event-row:hover {
  border-color: rgba(34, 211, 238, .48);
}

.source-run-row {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(3, 7, 18, .3);
}

.source-run-row span {
  color: var(--faint);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.ingestion-plan,
.source-run-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.source-run-row strong {
  display: block;
  margin: 5px 0;
  font-size: 17px;
}

.source-run-row small,
.source-run-row p {
  color: var(--muted);
  line-height: 1.5;
}

.source-run-row {
  padding: 12px;
}

.source-run-row p {
  margin: 6px 0 0;
}

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

.factor-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(3, 7, 18, .32);
}

.factor-row b {
  min-width: 0;
  overflow-wrap: anywhere;
}

.factor-row span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 12px;
}

.tenant-layout {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(260px, .65fr) minmax(420px, 1fr);
  gap: 14px;
}

.tenant-card {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(18, 28, 39, .94), rgba(10, 16, 24, .92));
  box-shadow: var(--shadow);
}

.tenant-card > span {
  color: var(--cyan);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
  text-transform: uppercase;
}

.tenant-card h3 {
  margin: 0;
  font-size: 20px;
}

.tenant-card p,
.tenant-card small {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

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

.password-form {
  display: grid;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.password-form button {
  border: 1px solid rgba(34, 211, 238, .44);
  border-radius: 8px;
  background: rgba(34, 211, 238, .1);
  color: var(--cyan);
  padding: 10px 12px;
  font-weight: 900;
  cursor: pointer;
}

.tenant-list button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 23, .28);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.tenant-list button small {
  grid-column: 1 / -1;
  color: var(--faint);
}

.tenant-list button.active {
  border-color: rgba(34, 211, 238, .55);
  background: rgba(34, 211, 238, .1);
}

.tenant-list span {
  color: var(--muted);
  font-size: 12px;
}

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

.feature-checks {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.feature-checks label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 23, .26);
  color: var(--muted);
  font-size: 13px;
}

.feature-checks input {
  width: 14px;
  height: 14px;
  accent-color: var(--cyan);
}

.feature-checks span {
  margin: 0;
}

.feature-checks.inline {
  justify-content: end;
}

.admin-panel {
  margin-top: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(18, 28, 39, .94), rgba(10, 16, 24, .92));
  box-shadow: var(--shadow);
}

.admin-panel-head {
  align-items: center;
}

.admin-hint {
  margin: -2px 0 14px;
  color: var(--muted);
  line-height: 1.6;
}

.admin-tenant-list {
  display: grid;
  gap: 10px;
}

.admin-tenant-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 23, .24);
}

.admin-tenant-row strong,
.admin-tenant-row span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-tenant-row span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.metric {
  padding: 16px;
}

.metric span,
.diagnostic-stats span,
.source-card span,
.panel-title p,
.fund-row span,
.leader-row span {
  color: var(--muted);
  font-size: 12px;
}

.metric strong {
  display: block;
  margin: 8px 0 4px;
  font-size: 30px;
}

.metric small,
.theme-card small,
.source-card small,
.factor small {
  color: var(--faint);
  line-height: 1.45;
}

.market-snapshot-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0 4px;
}

.market-snapshot-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 132px;
  padding: 18px;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(15, 23, 42, .95), rgba(3, 7, 18, .98)),
    rgba(3, 7, 18, .94);
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-decoration: none;
  text-align: left;
  box-shadow: 0 18px 54px rgba(0, 0, 0, .22);
}

.market-snapshot-card:hover {
  border-color: rgba(34, 211, 238, .42);
  transform: translateY(-1px);
}

.market-snapshot-card.up,
.market-snapshot-card.mild-up {
  border-color: rgba(248, 113, 113, .34);
}

.market-snapshot-card.down {
  border-color: rgba(52, 211, 153, .34);
}

.market-snapshot-card.empty {
  grid-column: 1 / -1;
}

.snapshot-main,
.snapshot-change {
  min-width: 0;
}

.snapshot-main span,
.market-snapshot-card.empty span {
  display: block;
  color: var(--faint);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.snapshot-main strong,
.market-snapshot-card.empty strong {
  display: block;
  margin: 10px 0 6px;
  color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.snapshot-main small,
.snapshot-change small,
.market-snapshot-card.empty small {
  color: var(--muted);
  line-height: 1.45;
}

.snapshot-change {
  display: grid;
  justify-items: end;
  gap: 8px;
  text-align: right;
}

.snapshot-change b {
  min-width: 98px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 22px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.snapshot-change em {
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-style: normal;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}

.market-snapshot-card.up .snapshot-change b,
.market-snapshot-card.mild-up .snapshot-change b {
  border-color: rgba(248, 113, 113, .42);
  background: rgba(248, 113, 113, .12);
  color: #ff8a8a;
}

.market-snapshot-card.down .snapshot-change b {
  border-color: rgba(52, 211, 153, .42);
  background: rgba(52, 211, 153, .12);
  color: #45e2a4;
}

.market-snapshot-card.flat .snapshot-change b,
.market-snapshot-card.neutral .snapshot-change b {
  color: #94a3b8;
}

.market-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  justify-items: end;
  background: rgba(2, 6, 23, .56);
  backdrop-filter: blur(8px);
}

.market-drawer-backdrop[hidden] {
  display: none;
}

.market-drawer-panel {
  position: relative;
  width: min(760px, 100vw);
  height: 100%;
  overflow-y: auto;
  padding: 28px;
  border-left: 1px solid rgba(148, 163, 184, .2);
  background:
    radial-gradient(circle at 20% 0%, rgba(34, 211, 238, .10), transparent 34%),
    linear-gradient(180deg, rgba(10, 17, 27, .98), rgba(3, 7, 18, .98));
  box-shadow: -24px 0 80px rgba(0, 0, 0, .38);
}

.drawer-open {
  overflow: hidden;
}

.drawer-close {
  position: sticky;
  top: 0;
  z-index: 2;
  float: right;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 8px;
  color: var(--text);
  background: rgba(2, 6, 23, .78);
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}

.drawer-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  margin: 28px 0 18px;
}

.drawer-head span,
.drawer-meta span,
.drawer-stat-grid span {
  color: var(--faint);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.drawer-head h2 {
  margin: 8px 0 8px;
  font-size: clamp(36px, 5vw, 58px);
  line-height: 1;
}

.drawer-head p {
  max-width: 460px;
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.drawer-head aside {
  display: grid;
  justify-items: end;
  gap: 8px;
  text-align: right;
}

.drawer-head aside strong {
  color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: clamp(38px, 6vw, 68px);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.drawer-head aside small {
  color: var(--muted);
}

.drawer-head aside b {
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}

.drawer-head.up aside b,
.drawer-head.mild-up aside b {
  border-color: rgba(248, 113, 113, .42);
  background: rgba(248, 113, 113, .12);
  color: #ff8a8a;
}

.drawer-head.down aside b {
  border-color: rgba(52, 211, 153, .42);
  background: rgba(52, 211, 153, .12);
  color: #45e2a4;
}

.drawer-chart {
  display: block;
  width: 100%;
  min-height: 220px;
  margin: 18px 0;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 8px;
  background: rgba(2, 6, 23, .48);
}

.drawer-chart.empty {
  display: grid;
  place-items: center;
  color: var(--muted);
}

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

.drawer-stat-grid article,
.drawer-meta > div {
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 8px;
  background: rgba(2, 6, 23, .42);
}

.drawer-stat-grid strong {
  display: block;
  margin-top: 8px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 24px;
  font-variant-numeric: tabular-nums;
}

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

.drawer-meta strong {
  display: block;
  margin-top: 7px;
  color: var(--text);
  line-height: 1.45;
}

.drawer-formula {
  margin: 14px 0;
  color: var(--muted);
  line-height: 1.6;
}

.drawer-source-link {
  display: inline-grid;
  place-items: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(34, 211, 238, .42);
  border-radius: 8px;
  color: var(--cyan);
  background: rgba(34, 211, 238, .08);
  text-decoration: none;
  font-weight: 900;
}

.section {
  padding: 14px 0 0;
}

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

.section-head h2,
.panel-title h2,
.entry-intro h2 {
  margin: 0;
  font-size: 26px;
}

.section-head p:not(.eyebrow) {
  max-width: 620px;
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.theme-grid,
.source-grid,
.portfolio-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 14px;
}

.diagnostic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
  gap: 14px;
}

.exposure-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  gap: 14px;
}

.exposure-panel {
  padding: 18px;
}

.panel-title.compact {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.panel-title.compact h2 {
  font-size: 20px;
}

.exposure-list,
.cost-audit,
.missing-list {
  display: grid;
  gap: 10px;
}

.exposure-row {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 23, .28);
}

.exposure-row.hot { border-color: rgba(248, 113, 113, .3); }
.exposure-row.warm { border-color: rgba(251, 191, 36, .26); }
.exposure-row.cash { border-color: rgba(34, 211, 238, .24); }
.exposure-row.low { border-color: rgba(52, 211, 153, .22); }

.exposure-main,
.exposure-foot,
.missing-list button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 136px;
  align-items: center;
  gap: 12px;
}

.exposure-main strong,
.missing-list span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.exposure-main b {
  text-align: right;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 18px;
}

.exposure-main span,
.exposure-foot span:first-child,
.audit-score span,
.audit-score small,
.audit-split span {
  color: var(--muted);
  font-size: 12px;
}

.exposure-bar {
  height: 8px;
  margin: 12px 0 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148, 163, 184, .14);
}

.exposure-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--cyan), var(--blue));
}

.exposure-row.hot .exposure-bar i { background: linear-gradient(90deg, var(--red), var(--orange)); }
.exposure-row.warm .exposure-bar i { background: linear-gradient(90deg, var(--amber), var(--orange)); }
.exposure-row.cash .exposure-bar i { background: linear-gradient(90deg, var(--cyan), var(--green)); }
.exposure-row.low .exposure-bar i { background: linear-gradient(90deg, var(--green), var(--cyan)); }

.exposure-foot .change-badge {
  width: 104px;
  margin-left: auto;
  padding: 7px 9px;
  font-size: 14px;
}

.audit-score {
  padding: 16px;
  border: 1px solid rgba(34, 211, 238, .32);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(34, 211, 238, .12), rgba(15, 23, 42, .3));
}

.audit-score strong {
  display: block;
  margin: 6px 0 4px;
  color: var(--cyan);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 46px;
  line-height: 1;
}

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

.audit-split div {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 23, .26);
}

.audit-split strong {
  display: block;
  margin-top: 5px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.missing-list button {
  width: 100%;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 23, .22);
  color: var(--text);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.missing-list button:hover {
  border-color: rgba(34, 211, 238, .5);
}

.missing-list strong {
  color: var(--amber);
  text-align: right;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.diagnostic-card,
.theme-card,
.portfolio-card,
.empty-state {
  padding: 18px;
  display: grid;
  gap: 14px;
}

.diagnostic-card header,
.theme-card header,
.portfolio-card header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}

.diagnostic-head {
  min-height: 88px;
}

.diagnostic-title {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.diagnostic-title h3 {
  overflow-wrap: anywhere;
}

.code {
  color: var(--cyan);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 13px;
}

.diagnostic-card h3,
.theme-card h3,
.portfolio-card h3 {
  margin: 5px 0 0;
  font-size: 18px;
  line-height: 1.35;
}

.state-chip,
.theme-card header span {
  flex: none;
  width: fit-content;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(148, 163, 184, .08);
  font-size: 12px;
  font-weight: 800;
}

.diagnostic-pnl {
  flex: 0 0 auto;
  min-width: 108px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 23, .42);
  text-align: right;
}

.diagnostic-pnl span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.diagnostic-pnl strong {
  display: block;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 18px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.diagnostic-pnl.up,
.diagnostic-pnl.mild-up {
  border-color: rgba(248, 113, 113, .42);
  background: rgba(248, 113, 113, .12);
}

.diagnostic-pnl.down {
  border-color: rgba(52, 211, 153, .42);
  background: rgba(52, 211, 153, .12);
}

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

.diagnostic-stats div,
.next-action {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 23, .28);
}

.diagnostic-stats strong {
  display: block;
  margin-top: 5px;
  font-size: 17px;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}

.diagnostic-stats .stat-change {
  width: 100%;
  margin-top: 8px;
}

.up, .mild-up { color: var(--red); }
.down { color: var(--green); }
.flat, .neutral { color: var(--muted); }

.change-badge {
  min-width: 92px;
  justify-self: end;
  text-align: right;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 23, .42);
  font-variant-numeric: tabular-nums;
}

.change-badge.up,
.change-badge.mild-up {
  border-color: rgba(248, 113, 113, .42);
  background: rgba(248, 113, 113, .12);
  color: #ff8a8a;
}

.change-badge.down {
  border-color: rgba(52, 211, 153, .42);
  background: rgba(52, 211, 153, .12);
  color: #45e2a4;
}

.change-badge.flat,
.change-badge.neutral {
  color: #94a3b8;
}

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

.factor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 52px;
  gap: 12px;
  align-items: start;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  text-decoration: none;
  background: rgba(2, 6, 23, .24);
}

.factor div {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.factor span {
  color: var(--text);
  font-weight: 900;
  line-height: 1.35;
}

.factor small,
.factor em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
}

.factor strong {
  justify-self: end;
  color: var(--cyan);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}

.factor.support strong { color: var(--red); }
.factor.drag strong { color: var(--green); }
.factor.watch strong { color: var(--amber); }

.next-action {
  color: #cbd5e1;
  line-height: 1.55;
}

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

.protocol-card {
  padding: 16px;
}

.protocol-card span {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--cyan);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
  text-transform: uppercase;
}

.protocol-card.blocked span { color: var(--red); }
.protocol-card.watch span,
.protocol-card.missing-cost span { color: var(--amber); }
.protocol-card.ready span { color: var(--green); }

.protocol-card h3 {
  margin-bottom: 8px;
}

.protocol-card p,
.theme-card p,
.portfolio-card p,
.empty-state p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.theme-card header strong {
  font-size: 36px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.theme-card.hot header strong { color: var(--orange); }
.theme-card.warm header strong { color: var(--amber); }
.theme-card.neutral header strong { color: var(--cyan); }
.theme-card.cold header strong { color: var(--faint); }

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

.evidence-list a {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 23, .22);
  text-decoration: none;
}

.evidence-list b {
  font-size: 13px;
}

.evidence-list span {
  color: var(--faint);
  font-size: 12px;
  line-height: 1.45;
}

.research-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .86fr);
  gap: 18px;
}

.panel {
  padding: 18px;
}

.panel-title {
  margin-bottom: 14px;
}

.table-wrap {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  padding: 12px 8px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  white-space: nowrap;
}

th:last-child,
td:last-child {
  width: 104px;
  text-align: right;
}

td.market.change-badge {
  display: block;
  margin-left: auto;
}

th {
  color: var(--faint);
  font-size: 12px;
  text-transform: uppercase;
}

.leader-list,
.fund-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.leader-row,
.fund-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  gap: 12px;
  align-items: center;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 23, .22);
  text-decoration: none;
}

.leader-row strong,
.fund-row strong {
  display: block;
  line-height: 1.35;
}

.leader-row > div,
.fund-row > div {
  min-width: 0;
}

.leader-row > div strong,
.fund-row > div strong,
.leader-row > div span,
.fund-row > div span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.entry-section {
  display: grid;
  grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr);
  gap: 18px;
  padding: 18px;
}

.entry-intro p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.7;
}

.entry-form {
  display: grid;
  gap: 14px;
}

.segmented {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: fit-content;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.segmented.compact {
  width: auto;
  min-width: 220px;
}

.segmented.compact span {
  padding: 8px 12px;
  font-size: 13px;
  white-space: nowrap;
}

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

.segmented span {
  display: block;
  padding: 9px 14px;
  color: var(--muted);
  cursor: pointer;
}

.segmented input:checked + span {
  background: rgba(34, 211, 238, .14);
  color: var(--cyan);
}

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

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

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 23, .42);
  color: var(--text);
  font: inherit;
  padding: 10px 11px;
  outline: none;
}

textarea {
  resize: vertical;
  line-height: 1.55;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(34, 211, 238, .7);
  box-shadow: 0 0 0 3px rgba(34, 211, 238, .12);
}

.wide {
  display: block;
}

.form-actions,
.portfolio-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.form-actions button:first-child {
  border-color: rgba(34, 211, 238, .55);
  background: rgba(34, 211, 238, .14);
  color: var(--cyan);
}

.form-note {
  margin: 0;
  color: var(--faint);
  font-size: 13px;
}

.tag-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.tag-row span {
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  font-size: 12px;
}

.source-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.source-card {
  display: grid;
  gap: 8px;
  padding: 15px;
  text-decoration: none;
}

.source-card span {
  width: fit-content;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--cyan);
}

.rules-panel {
  margin-top: 14px;
  padding: 18px;
}

.rules-panel li,
.rules-panel p {
  color: var(--muted);
  line-height: 1.6;
}

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

.empty-state {
  padding: 22px;
}

.empty-state span {
  color: var(--cyan);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
}

.empty-state.compact {
  min-height: 180px;
}

[hidden],
.workbench-admin-section {
  display: none !important;
}

.admin-page {
  min-height: 100vh;
  background:
    linear-gradient(90deg, rgba(34, 211, 238, 0.035) 1px, transparent 1px),
    linear-gradient(rgba(34, 211, 238, 0.025) 1px, transparent 1px),
    radial-gradient(circle at 18% 12%, rgba(34, 211, 238, 0.08), transparent 32%),
    #05090f;
  background-size: 72px 72px, 72px 72px, auto, auto;
}

.admin-shell {
  max-width: 1720px;
}

.admin-topbar {
  border-color: rgba(34, 211, 238, 0.22);
}

.tenant-switcher strong {
  color: var(--text);
  font-size: 15px;
}

.admin-main {
  display: grid;
  gap: 28px;
}

.admin-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(360px, 0.7fr);
  gap: 22px;
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(13, 22, 32, 0.96), rgba(5, 9, 15, 0.88));
}

.admin-hero h2 {
  margin: 0 0 12px;
  font-size: clamp(32px, 5vw, 62px);
  letter-spacing: 0;
}

.admin-hero p {
  max-width: 820px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7;
}

.admin-status-grid,
.source-audit-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.admin-status-grid div,
.source-audit-board div {
  display: grid;
  gap: 8px;
  min-height: 92px;
  padding: 18px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  background: rgba(2, 6, 12, 0.58);
}

.admin-status-grid span,
.source-audit-board span {
  color: var(--muted);
  font-size: 13px;
}

.admin-status-grid strong,
.source-audit-board strong {
  color: var(--text);
  font-size: 34px;
}

.admin-section {
  display: grid;
  gap: 18px;
}

.admin-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
}

.admin-card {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(8, 14, 23, 0.86);
}

.admin-session {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}

.admin-session strong {
  font-size: 22px;
}

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

.source-admin-toolbar {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
}

.source-admin-toolbar p {
  color: var(--muted);
}

.source-admin-list {
  display: grid;
  gap: 14px;
}

.source-admin-row {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 10px;
  background: rgba(3, 7, 14, 0.72);
}

.source-admin-row.enabled {
  border-color: rgba(34, 211, 238, 0.38);
}

.source-admin-row.disabled {
  opacity: 0.68;
}

.source-admin-head,
.source-admin-controls,
.source-admin-text {
  display: grid;
  gap: 14px;
}

.source-admin-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.source-admin-head div {
  display: grid;
  gap: 7px;
}

.source-admin-head span,
.source-admin-head small {
  color: var(--muted);
}

.source-admin-head strong {
  color: var(--text);
  font-size: 22px;
}

.source-admin-head aside {
  display: flex;
  align-items: center;
  gap: 10px;
}

.source-admin-head a,
.source-admin-head aside span {
  color: var(--cyan);
  font-size: 13px;
}

.source-admin-controls {
  grid-template-columns: 150px minmax(160px, 1fr) minmax(160px, 1fr) 220px;
  align-items: end;
}

.source-admin-controls label,
.source-admin-text label {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
}

.source-admin-controls input,
.source-admin-controls select,
.source-admin-text textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(2, 6, 12, 0.72);
  color: var(--text);
  padding: 11px 12px;
  font: inherit;
}

.source-admin-text {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.source-admin-text textarea {
  resize: vertical;
  min-height: 78px;
}

.source-conclusion-toggle {
  display: flex !important;
  grid-auto-flow: column;
  align-items: center;
  justify-content: start;
  min-height: 44px;
}

.source-conclusion-toggle input {
  width: auto;
}

.plan-row {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  background: rgba(2, 6, 12, 0.52);
}

.plan-row span,
.plan-row small {
  color: var(--muted);
}

.gold-collector-panel {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.gold-verdict {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  background: rgba(2, 6, 12, 0.55);
}

.gold-verdict span {
  color: var(--cyan);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  text-transform: uppercase;
}

.gold-verdict strong {
  color: var(--orange);
  font-size: 32px;
}

.gold-verdict p {
  margin: 0;
  color: var(--muted);
}

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

.collector-result {
  display: grid;
  gap: 6px;
  padding: 13px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  background: rgba(3, 7, 14, 0.68);
}

.collector-result.success {
  border-color: rgba(52, 211, 153, 0.38);
}

.collector-result.failed {
  border-color: rgba(248, 113, 113, 0.4);
}

.collector-result span,
.collector-result small {
  color: var(--muted);
}

.collector-result strong {
  color: var(--text);
  font-size: 22px;
}

.collector-result a,
.source-run-row a {
  color: var(--cyan);
  font-size: 13px;
}

@media (max-width: 1100px) {
  .desk-header,
  .hero,
  .research-grid,
  .exposure-layout,
  .base-layout,
  .tenant-layout,
  .entry-section {
    grid-template-columns: 1fr;
  }

  .tenant-switcher {
    justify-content: start;
    flex-wrap: wrap;
  }

  .metric-grid,
  .protocol-grid,
  .admin-tenant-row,
  .form-grid,
  .verification-grid,
  .admin-hero,
  .admin-two-col,
  .source-admin-controls,
  .source-admin-text,
  .collector-result-grid,
  .market-snapshot-strip,
  .drawer-stat-grid,
  .drawer-meta,
  .gold-factor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .brief-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .shell {
    padding: 10px;
  }

  .desk-header {
    position: static;
  }

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

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

  .metric-grid,
  .protocol-grid,
  .admin-tenant-row,
  .form-grid,
  .diagnostic-stats,
  .factor,
  .verification-grid,
  .admin-hero,
  .admin-two-col,
  .admin-status-grid,
  .source-audit-board,
  .source-admin-head,
  .source-admin-controls,
  .source-admin-text,
  .gold-verdict,
  .collector-result-grid,
  .market-snapshot-strip,
  .gold-factor-grid {
    grid-template-columns: 1fr;
  }

  .market-snapshot-card {
    min-height: 118px;
  }

  .market-drawer-panel {
    width: 100vw;
    padding: 18px;
  }

  .drawer-head {
    grid-template-columns: 1fr;
  }

  .drawer-head aside {
    justify-items: start;
    text-align: left;
  }

  .drawer-stat-grid,
  .drawer-meta {
    grid-template-columns: 1fr;
  }

  .gold-workbench header {
    flex-direction: column;
  }

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

  .segmented {
    width: 100%;
  }

  .event-row {
    grid-template-columns: 1fr;
  }

  .event-row a {
    width: fit-content;
    white-space: normal;
  }
}
