/* ═══════════════════════════════════════════════════════
   CORTEX · Design System — Apple-grade tokens
════════════════════════════════════════════════════════ */
:root {
  /* ── Brand ── */
  --accent:         #6e3ff3;
  --accent-soft:    rgba(110,63,243,0.10);

  /* ── Surfaces ── */
  --bg:             #ffffff;
  --bg-card:        rgba(255,255,255,0.72);
  --bg-secondary:   rgba(255,255,255,0.45);
  --bg-hover:       rgba(255,255,255,0.55);

  /* ── Borders ── */
  --border:         rgba(0,0,0,0.07);
  --border-strong:  rgba(0,0,0,0.13);

  /* ── Glass ── */
  --glass-bg:       rgba(255,255,255,0.70);
  --glass-bg-light: rgba(255,255,255,0.48);
  --glass-border:   rgba(255,255,255,0.60);
  --glass-blur:     blur(28px) saturate(160%);
  --glass-shadow:   0 4px 32px rgba(0,0,0,0.07), 0 1px 0 rgba(255,255,255,0.85) inset, 0 0 0 0.5px rgba(0,0,0,0.05);

  /* ── Text ── */
  --text-primary:   #1d1d1f;   /* Apple near-black */
  --text-secondary: #6e6e73;   /* Apple secondary */
  --text-tertiary:  #aeaeb2;   /* Apple tertiary */

  /* ── Fonts ── */
  --font-sans: -apple-system, BlinkMacSystemFont, 'SF Pro Text', system-ui, sans-serif;
  --font-mono: 'SF Mono', 'Fira Code', 'Courier New', monospace;

  /* ── Tier palette — iOS colors ── */
  --tier-t1:    #007aff;
  --tier-t2:    #34c759;
  --tier-t3:    #5ac8fa;
  --tier-t3p:   #ff9f0a;
  --tier-cx:    #bf5af2;
  --tier-pilot: #ff375f;

  /* ── Shadows — barely-there Apple depth ── */
  --shadow-xs: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.07), 0 0 0 0.5px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.09), 0 2px 4px rgba(0,0,0,0.04);
  --shadow-lg: 0 8px 28px rgba(0,0,0,0.11), 0 4px 8px rgba(0,0,0,0.05);
  --shadow-xl: 0 20px 48px rgba(0,0,0,0.14), 0 8px 16px rgba(0,0,0,0.07);

  /* ── Motion ── */
  --dur-fast:    0.12s;
  --dur-normal:  0.20s;
  --dur-slow:    0.35s;
  --ease-out:    cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);

  /* backward-compat aliases */
  --sip-purple:   var(--accent);
  --sip-bg:       var(--bg);
  --sip-white:    #ffffff;
  --sip-text:     var(--text-primary);
  --sip-muted:    var(--text-secondary);
  --sip-mono:     var(--font-mono);
  --sip-border:   var(--border);
  --bg-card:      #ffffff;
  --border-primary: var(--border);
  --motion-normal:  var(--dur-normal);
  --ease-editorial: var(--ease-smooth);

  --nav-h: 52px;
}

/* ── Reset ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

/* ── Scrollbars — whisper-thin ──────────────────────────── */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.12) transparent;
}
*::-webkit-scrollbar        { width: 4px; height: 4px; }
*::-webkit-scrollbar-track  { background: transparent; }
*::-webkit-scrollbar-thumb  {
  background: rgba(0,0,0,0.12); border-radius: 99px;
  transition: background var(--dur-normal);
}
*::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,0.25); }
*::-webkit-scrollbar-corner { background: transparent; }

/* ── Base ───────────────────────────────────────────────── */
body {
  /* silky white with barely-visible aurora blobs in each corner */
  background: #ffffff;
  background-image:
    radial-gradient(ellipse 80% 60% at 5%  5%,  rgba(110,63,243,0.07) 0%, transparent 55%),
    radial-gradient(ellipse 70% 60% at 95% 95%, rgba(59,130,246,0.06)  0%, transparent 55%),
    radial-gradient(ellipse 55% 50% at 95% 5%,  rgba(34,197,94,0.05)   0%, transparent 45%),
    radial-gradient(ellipse 55% 50% at 5%  95%, rgba(234,179,8,0.05)   0%, transparent 45%);
  background-attachment: fixed;
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-primary);
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ═══════════════════════════════════════════════════════
   NAV — frosted glass
════════════════════════════════════════════════════════ */
.sip-nav {
  position: sticky; top: 0; z-index: 100;
  height: var(--nav-h);
  background: rgba(255,255,255,0.82);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 0.5px solid var(--border);
  box-shadow: 0 1px 0 rgba(0,0,0,0.05);
  overflow-x: auto;
  display: flex;
  align-items: center;
  padding: 0 16px;
}

.nav-brand { display: flex; align-items: center; gap: 8px; margin-right: 20px; flex-shrink: 0; }

/* Legacy single-span brand (kept for safety) */
.brand-acc  { font-size: 10px; color: var(--text-tertiary); font-weight: 400; letter-spacing: -0.01em; }

/* New multi-span brand */
.brand-acc-logo {
  display: flex; align-items: center; justify-content: center;
  filter: drop-shadow(0 0 4px rgba(161,0,255,0.4));
  flex-shrink: 0;
}
.brand-acc-logo svg { display: block; }
.brand-acc-text {
  font-size: 10px; font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: -0.01em;
}
.brand-divider {
  font-size: 12px; color: var(--border-strong);
  margin: 0 2px;
}

.brand-sip  {
  font-size: 15px; font-weight: 800; letter-spacing: -0.03em;
  background: linear-gradient(90deg,
    #007aff 0%, #6e3ff3 25%, #bf5af2 50%, #ff9f0a 75%, #34c759 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.brand-sub  { font-size: 9px; color: var(--text-secondary); letter-spacing: 0.04em; text-transform: uppercase; font-weight: 500; }

.nav-tabs-row { display: flex; gap: 2px; flex-grow: 1; scrollbar-width: none; overflow-x: auto; }
.nav-tabs-row::-webkit-scrollbar { display: none; }

.nav-tab {
  display: flex; align-items: center; gap: 5px;
  padding: 0 12px; height: var(--nav-h);
  font-size: 12px; font-weight: 500;
  color: var(--text-secondary);
  text-decoration: none; white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color var(--dur-fast);
  letter-spacing: -0.01em;
}
.nav-tab:hover  { color: var(--text-primary); }
.nav-tab.active { color: var(--accent); border-bottom-color: var(--accent); font-weight: 600; }
.tab-dot { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; }

.live-badge {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 600; color: #28cd41;
}
.live-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #28cd41;
  box-shadow: 0 0 0 3px rgba(40,205,65,0.18);
  animation: live-pulse 2.4s ease-in-out infinite;
}
@keyframes live-pulse {
  0%,100% { box-shadow: 0 0 0 3px rgba(40,205,65,0.18); }
  50%      { box-shadow: 0 0 0 5px rgba(40,205,65,0.06); }
}

/* ═══════════════════════════════════════════════════════
   LAYOUT — three-column
════════════════════════════════════════════════════════ */
.sip-body {
  height: calc(100vh - var(--nav-h));
  overflow: hidden;
  display: flex;
}

/* ── Col 1: Live Activity strip ── */
.activity-col {
  width: 270px;
  flex-shrink: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-right: 0.5px solid var(--glass-border);
  overflow: hidden;
}
.activity-col-label {
  display: flex; align-items: center; gap: 6px;
  padding: 14px 14px 11px;
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.06em; color: var(--text-tertiary);
  text-transform: uppercase;
  border-bottom: 0.5px solid var(--border);
  flex-shrink: 0;
  background: var(--bg-secondary);
}
.activity-col-note {
  padding: 7px 14px;
  font-size: 8px; letter-spacing: 0.03em;
  color: var(--text-tertiary);
  flex-shrink: 0;
  border-top: 0.5px solid var(--border);
  background: var(--bg-secondary);
  margin: 0;
}

/* ── Col 2: Main content ── */
.main-content {
  flex: 1; min-width: 0;
  height: 100%;
  overflow-y: auto;
  scroll-behavior: smooth;
  border-right: 0.5px solid var(--border);
  padding: 20px;
}

/* ── Col 3: Inspector — collapses to 0 when closed ── */
.inspector-sheet {
  width: 0;
  flex-shrink: 0;
  height: 100%;
  overflow: hidden;
  transition: width 0.42s var(--ease-spring);
}
.inspector-sheet.open { width: 380px; }

/* Inner wrapper stays at full width so content never squishes during animation */
.insp-inner {
  width: 380px;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-left: 0.5px solid var(--glass-border);
  border-top-left-radius: 20px;
  overflow: hidden;
  box-shadow: -4px 0 32px rgba(0,0,0,0.06);
}

/* ═══════════════════════════════════════════════════════
   PAGE HEADER
════════════════════════════════════════════════════════ */
.page-title {
  font-size: 20px; font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--text-primary);
  line-height: 1.2;
}
.page-sub {
  font-size: 11px; color: var(--text-tertiary);
  line-height: 1.4; margin-top: 2px;
  font-weight: 400;
}
.text-accent { color: var(--accent); }

.fleet-badge {
  font-size: 10px; font-weight: 700;
  padding: 5px 13px; border-radius: 20px;
  background: linear-gradient(135deg, #fef9c3, #fef3c7);
  color: #854d0e; border: 0.5px solid #fde68a;
  letter-spacing: 0.04em; white-space: nowrap;
  box-shadow: var(--shadow-xs);
}

/* ═══════════════════════════════════════════════════════
   CARDS
════════════════════════════════════════════════════════ */
.sip-card {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 0.5px solid var(--glass-border);
  border-radius: 14px;
  padding: 18px 20px;
  box-shadow: var(--glass-shadow);
  position: relative; overflow: hidden;
  transition:
    box-shadow var(--dur-normal) var(--ease-out),
    transform  var(--dur-normal) var(--ease-out);
}
.section-label {
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.06em; color: var(--text-tertiary);
  text-transform: uppercase;
  display: flex; align-items: center; gap: 4px;
}

/* ═══════════════════════════════════════════════════════
   LIVE ACTIVITY FEED
════════════════════════════════════════════════════════ */
#activity-feed {
  flex: 1;
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(to bottom, black 0%, black 84%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, black 0%, black 84%, transparent 100%);
}
#activity-inner {
  animation: feed-scroll 32s linear infinite;
}
#activity-feed:hover #activity-inner { animation-play-state: paused; }
@keyframes feed-scroll {
  from { transform: translateY(0); }
  to   { transform: translateY(-50%); }
}

/* Activity rows — mini-card style */
.activity-row {
  display: flex; flex-direction: column; gap: 3px;
  padding: 9px 14px 9px 11px;
  border-bottom: 0.5px solid rgba(0,0,0,0.05);
  border-left: 3px solid transparent;
  transition: background var(--dur-fast);
}
.activity-row:hover { background: var(--bg-hover); }
.activity-row-top   { display: flex; align-items: center; gap: 6px; }

.activity-time {
  color: var(--text-tertiary); font-size: 9px;
  font-family: var(--font-mono); white-space: nowrap;
  margin-left: auto;
}
.activity-desc {
  font-size: 10px; font-weight: 500; color: var(--text-primary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.activity-ref {
  font-size: 9px; color: var(--text-tertiary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font-family: var(--font-mono);
}

/* Agent chips — refined pills */
.agent-chip {
  padding: 2px 7px; border-radius: 6px;
  font-size: 9px; font-weight: 700;
  letter-spacing: 0.03em; white-space: nowrap;
  flex-shrink: 0;
}
.chip-green  { background: rgba(52,211,153,0.12);  color: #065f46; }
.chip-blue   { background: rgba(96,165,250,0.12);  color: #1e40af; }
.chip-orange { background: rgba(251,146,60,0.12);  color: #9a3412; }
.chip-pink   { background: rgba(244,114,182,0.12); color: #9d174d; }
.chip-red    { background: rgba(248,113,113,0.12); color: #991b1b; }
.chip-yellow { background: rgba(250,204,21,0.12);  color: #713f12; }
.chip-purple { background: rgba(167,139,250,0.12); color: #5b21b6; }

/* Accent left-border on each row — softened */
.activity-row:has(.chip-green)  { border-left-color: rgba(52,211,153,0.5); }
.activity-row:has(.chip-blue)   { border-left-color: rgba(96,165,250,0.5); }
.activity-row:has(.chip-orange) { border-left-color: rgba(251,146,60,0.5); }
.activity-row:has(.chip-pink)   { border-left-color: rgba(244,114,182,0.5); }
.activity-row:has(.chip-red)    { border-left-color: rgba(248,113,113,0.5); }
.activity-row:has(.chip-yellow) { border-left-color: rgba(250,204,21,0.5); }
.activity-row:has(.chip-purple) { border-left-color: rgba(167,139,250,0.5); }

.demo-note { font-size: 8px; color: var(--text-tertiary); letter-spacing: 0.04em; }

/* ═══════════════════════════════════════════════════════
   TIER FILTER
════════════════════════════════════════════════════════ */
.tier-filter { display: flex; gap: 6px; flex-wrap: wrap; }
.tier-btn {
  font-size: 10px; font-weight: 600; letter-spacing: -0.01em;
  padding: 5px 12px; border-radius: 20px;
  border: 0.5px solid var(--border);
  background: var(--bg-card);
  cursor: pointer; color: var(--text-secondary);
  transition: all var(--dur-fast) var(--ease-out);
  box-shadow: var(--shadow-xs);
}
.tier-btn:hover {
  background: var(--bg-secondary);
  color: var(--text-primary);
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}
.tier-btn.active {
  background: var(--accent);
  color: #fff; border-color: transparent;
  box-shadow: 0 4px 14px rgba(110,63,243,0.4);
  transform: translateY(-1px);
}
.tier-btn.t1  { border-color: rgba(0,122,255,0.3);  color: #0051a8; }
.tier-btn.t2  { border-color: rgba(52,199,89,0.3);  color: #1a7f37; }
.tier-btn.t3  { border-color: rgba(90,200,250,0.3); color: #0077a8; }
.tier-btn.t3p { border-color: rgba(255,159,10,0.3); color: #a35200; }
.tier-btn.cx  { border-color: rgba(191,90,242,0.3); color: #7d2fa3; }

/* ── Tier legend ── */
.legend-item { display: flex; align-items: center; gap: 5px; font-size: 10px; color: var(--text-secondary); }
.legend-line { width: 16px; height: 3px; border-radius: 99px; }
.legend-line.t1    { background: var(--tier-t1); }
.legend-line.t2    { background: var(--tier-t2); }
.legend-line.t3    { background: var(--tier-t3); }
.legend-line.t3p   { background: var(--tier-t3p); }
.legend-line.cx    { background: var(--tier-cx); }
.legend-line.pilot { background: var(--tier-pilot); }

/* ═══════════════════════════════════════════════════════
   PERIODIC TABLE
════════════════════════════════════════════════════════ */
.pt-section {
  border-radius: 5px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

/* ── AI-First: barely-there lavender card ── */
.pt-section-aifc {
  background: rgba(139,92,246,0.03);
  border: 0.5px solid rgba(139,92,246,0.15);
}
.pt-section-aifc .pt-section-title {
  background: transparent;
  border-bottom: none;
  color: #5b21b6;
}
/* AI-First row accent */
.pt-section-aifc .pt-row {
  border-left: 3px solid rgba(139,92,246,0.22);
  background: rgba(139,92,246,0.04);
}

/* ── Core Technology: green ── */
.pt-section-core {
  background: rgba(16,120,60,0.05);
  border: 1px solid rgba(16,120,60,0.4);
  border-radius: 3px;
  overflow: hidden;
}
.pt-section-core .pt-section-title {
  background: transparent;
  border-bottom: none;
  color: #14532d;
}
/* Core Tech row accent */
.pt-section-core .pt-row {
  border-left: 3px solid rgba(16,120,60,0.3);
  background: rgba(16,120,60,0.04);
}

.pt-section-title {
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.06em; color: var(--text-primary);
  padding: 10px 16px 8px;
  text-transform: uppercase;
}
.pt-grid { padding: 8px 10px 12px; display: flex; flex-direction: column; gap: 4px; }

.pt-row {
  display: flex; align-items: flex-start;
  gap: 10px;
  padding: 4px 6px;
  border-radius: 2px;
}
.pt-row-label {
  font-size: 9px; font-weight: 700; color: var(--text-primary);
  min-width: 96px; max-width: 96px;
  padding: 0 8px 0 6px;
  padding-top: 8px; line-height: 1.3;
  letter-spacing: -0.01em;
  white-space: pre-line;
}
.pt-cells { display: flex; gap: 3px; flex-wrap: wrap; align-items: flex-start; padding: 3px 0; }

/* ── Agent cells ── */
.agent-cell {
  width: 44px; height: 48px;
  padding: 3px 3px 2px;
  border-radius: 2px;
  border: 0.5px solid rgba(0,0,0,0.09);
  border-top-width: 3px;
  background: var(--bg-card);
  cursor: pointer;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  position: relative;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 0 0 0.5px rgba(0,0,0,0.04);
  transition:
    transform  var(--dur-normal) var(--ease-spring),
    box-shadow var(--dur-normal) var(--ease-out);
}
.agent-cell:hover {
  transform: translateY(-3px) scale(1.07);
  z-index: 10;
  box-shadow: var(--shadow-lg);
}
.agent-cell.selected {
  box-shadow:
    0 0 0 2px var(--accent),
    0 6px 20px rgba(110,63,243,0.22);
  transform: scale(1.04);
  z-index: 10;
}
.agent-cell.tier-t1  { border-top-color: var(--tier-t1); }
.agent-cell.tier-t2  { border-top-color: var(--tier-t2); }
.agent-cell.tier-t3  { border-top-color: var(--tier-t3); }
.agent-cell.tier-t3p { border-top-color: var(--tier-t3p); }
.agent-cell.tier-cx  { border-top-color: var(--tier-cx); }
.agent-cell.pilot    { border-top-color: var(--tier-pilot); background: linear-gradient(160deg,#fff9fa,#fff0f0); }
.agent-cell.dimmed   { opacity: 0.15; transform: scale(0.92); box-shadow: none; pointer-events: none; }

.cell-id   {
  font-size: 5.5px; color: var(--text-tertiary);
  font-family: var(--font-mono); line-height: 1;
  position: absolute; top: 3px; left: 3px;
}
.cell-sym  { font-size: 13px; font-weight: 800; color: var(--text-primary); line-height: 1; }
.cell-name { font-size: 5.5px; color: var(--text-tertiary); text-align: center; padding: 0 2px; line-height: 1.2; }

/* ── Status bar ── */
.status-bar { font-size: 10px; color: var(--text-tertiary); }

/* ── Tier summary bar ── */
.tier-summary-bar {
  display: flex; align-items: stretch;
  background: var(--bg-card);
  border: 0.5px solid var(--border);
  border-radius: 10px;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.tsb-item {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 14px 8px 12px;
  gap: 4px;
}
.tsb-num {
  font-size: 26px; font-weight: 700;
  line-height: 1; letter-spacing: -0.03em;
}
.tsb-lbl {
  font-size: 9px; font-weight: 600;
  color: var(--text-tertiary);
  text-transform: uppercase; letter-spacing: 0.04em;
  white-space: nowrap;
}
.tsb-divider {
  width: 0.5px; background: var(--border);
  align-self: stretch; flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════
   AGENT INSPECTOR — inline flex panel (right column)
════════════════════════════════════════════════════════ */

/* Header */
.sheet-header {
  flex-shrink: 0;
  background: var(--bg-secondary);
  border-bottom: 0.5px solid var(--border);
  padding: 14px 16px 12px;
  border-top-left-radius: 20px;
}
.sheet-header-row {
  display: flex; align-items: center;
  justify-content: space-between;
}
.insp-section-title {
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.07em; color: var(--accent);
  text-transform: uppercase;
}
.insp-id {
  font-size: 10px; color: var(--text-tertiary);
  font-family: var(--font-mono); margin-left: 8px;
}

.sheet-close-btn {
  width: 26px; height: 26px;
  border: none; background: rgba(0,0,0,0.06);
  border-radius: 50%; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; color: var(--text-secondary);
  transition: background var(--dur-fast), transform var(--dur-fast);
}
.sheet-close-btn:hover { background: rgba(0,0,0,0.14); transform: scale(1.1); }

/* Rainbow stripe */
.insp-rainbow {
  height: 3px; flex-shrink: 0;
  background: linear-gradient(90deg,
    var(--tier-t1) 0%, var(--accent) 20%,
    var(--tier-cx) 40%, var(--tier-t3p) 65%,
    var(--tier-t2) 100%);
}

/* Scrollable body */
.sheet-body {
  flex: 1;
  overflow-y: auto; overflow-x: hidden;
  scroll-behavior: smooth;
  padding: 20px 18px 32px;
  display: flex; flex-direction: column;
}
.sheet-divider {
  height: 0.5px; background: var(--border);
  margin: 18px 0; flex-shrink: 0;
}

/* ── Symbol card ── */
.insp-sym-card {
  width: 76px; flex-shrink: 0;
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  background: var(--bg-secondary);
  padding: 9px 10px 7px;
  text-align: center;
  box-shadow: var(--shadow-sm);
}
.insp-sym-code  { font-size: 8px; color: var(--text-tertiary); font-family: var(--font-mono); margin-bottom: 2px; }
.insp-sym-glyph { font-size: 30px; font-weight: 800; color: var(--text-primary); line-height: 1; letter-spacing: -0.02em; }
.insp-sym-hint  { font-size: 7px; color: var(--text-tertiary); margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ── Text ── */
.insp-name { font-size: 15px; font-weight: 700; color: var(--text-primary); line-height: 1.3; letter-spacing: -0.02em; }
.insp-sub  { font-size: 11px; color: var(--text-secondary); line-height: 1.5; }
.insp-desc { font-size: 12px; color: var(--text-secondary); line-height: 1.7; }

/* ── Tags ── */
.insp-tag {
  font-size: 9px; font-weight: 600; padding: 3px 10px;
  border-radius: 20px; border: 0.5px solid var(--border);
  color: var(--text-secondary); letter-spacing: 0.01em;
}
.insp-tag.live    { background:#d1fae5; color:#065f46; border-color:#6ee7b7; }
.insp-tag.review  { background:#ffedd5; color:#9a3412; border-color:#fdba74; }
.insp-tag.suggest { background:#fef9c3; color:#713f12; border-color:#fde047; }
.insp-tag.demo    { background:#fef3c7; color:#78350f; border-color:#fcd34d; }
.insp-tag.t1      { background:#dbeafe; color:#1e3a8a; border-color:#93c5fd; }
.insp-tag.t2      { background:#dcfce7; color:#14532d; border-color:#86efac; }
.insp-tag.t3      { background:#e0f2fe; color:#075985; border-color:#7dd3fc; }
.insp-tag.t3p     { background:#ffedd5; color:#7c2d12; border-color:#fdba74; }
.insp-tag.cx      { background:#f3e8ff; color:#581c87; border-color:#d8b4fe; }
.insp-tag.pilot   { background:#fee2e2; color:#7f1d1d; border-color:#fca5a5; }

/* ── Threshold ── */
.metric-label {
  font-size: 9px; font-weight: 700;
  letter-spacing: 0.06em; color: var(--text-tertiary);
  text-transform: uppercase;
}
.thresh-bg {
  height: 6px; background: #f2f2f7;
  border-radius: 99px;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.06);
}
.thresh-bar {
  height: 6px; border-radius: 99px;
  background: linear-gradient(90deg, #ff375f, #ff9f0a, #ffd60a);
  transition: width 0.5s var(--ease-smooth);
  box-shadow: 0 1px 4px rgba(255,159,10,0.3);
}

/* ── Capability pills ── */
.cap-pill {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 11px; border-radius: 20px;
  border: 0.5px solid var(--border);
  background: var(--bg-secondary);
  font-size: 9px; font-weight: 600;
  color: var(--text-primary); letter-spacing: 0.01em;
}
.cap-pill::before {
  content: ''; width: 5px; height: 5px;
  border-radius: 50%; background: var(--tier-t1); flex-shrink: 0;
}

/* ── Sparkline ── */
.insp-sparkline { width: 52px; height: 20px; flex-shrink: 0; }

/* ── Metric boxes ── */
.metric-box {
  background: var(--bg-secondary);
  border: 0.5px solid var(--border);
  border-radius: 10px; padding: 11px 8px;
  box-shadow: var(--shadow-xs);
}
.metric-lbl { font-size: 8px; color: var(--text-tertiary); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 3px; }
.metric-val { font-size: 20px; font-weight: 700; color: var(--text-primary); line-height: 1; letter-spacing: -0.02em; }
.metric-src { font-size: 8px; margin-top: 4px; }
.src-demo    { color: var(--tier-t3p); }
.src-derived { color: var(--accent); }
.src-live    { color: var(--tier-t2); }

/* ── Decision bar ── */
.decision-seg-track {
  display: flex; height: 7px; border-radius: 99px;
  overflow: hidden; background: #f2f2f7;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.06);
}
.decision-seg {
  height: 100%; min-width: 0;
  transition: width 0.5s var(--ease-smooth);
}
.seg-pass { background: linear-gradient(90deg, #1a7f37, #34c759); }
.seg-hold { background: linear-gradient(90deg, #a35200, #ff9f0a); }
.seg-deny { background: linear-gradient(90deg, #9b1c1c, #ff375f); }
.seg-lbl  { font-size: 10px; font-weight: 500; white-space: nowrap; }
.pass-lbl { color: #1a7f37; }
.hold-lbl { color: #a35200; }
.deny-lbl { color: #9b1c1c; }
