/* ═══════════════════════════════════════════════════════════════════════
   Royaltē Workspace™ — Shared Foundation Stylesheet
   Phase 4 Stage 1 — Workspace Foundation™
   Serves all Executive Intelligence Workspaces at /workspaces/*.
   Design tokens + card CSS extracted from mission-control.html
   (unchanged) — workspace layout CSS is net-new in this file.
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── design tokens (verbatim from mission-control.html :root) ────── */

:root {
  --mc-bg:           #050507;
  --mc-surface-1:    #0c0c11;
  --mc-surface-2:    #111118;
  --mc-surface-3:    #161620;
  --mc-surface-4:    #1c1c28;
  --mc-border:       rgba(255, 255, 255, 0.06);
  --mc-border-soft:  rgba(255, 255, 255, 0.04);
  --mc-border-warm:  rgba(168, 85, 247, 0.18);
  --mc-divider:      rgba(255, 255, 255, 0.05);

  --mc-text:         #ffffff;
  --mc-text-soft:    #cbd5e1;
  --mc-text-muted:   #8a8da1;
  --mc-text-faint:   #5b5e72;

  --mc-purple:       #a855f7;
  --mc-purple-soft:  rgba(168, 85, 247, 0.16);
  --mc-purple-glow:  rgba(168, 85, 247, 0.32);
  --mc-purple-deep:  #6d28d9;

  --mc-green:        #2dd4bf;
  --mc-green-bright: #34f5b0;
  --mc-green-soft:   rgba(45, 212, 191, 0.14);
  --mc-green-glow:   rgba(52, 245, 176, 0.32);

  --mc-orange:       #fb923c;
  --mc-orange-soft:  rgba(251, 146, 60, 0.14);
  --mc-orange-glow:  rgba(251, 146, 60, 0.30);

  --mc-blue:         #38bdf8;
  --mc-blue-soft:    rgba(56, 189, 248, 0.14);

  --mc-gold:           #C6A86A;
  --mc-gold-secondary: #B9965A;
  --mc-gold-bright:    #D9C08A;
  --mc-gold-glow:      rgba(198, 168, 106, 0.18);
  --mc-gold-soft:      rgba(198, 168, 106, 0.10);
  --mc-border-gold:    rgba(198, 168, 106, 0.28);

  /* Electric Teal™ — Backend Intelligence™ exclusive */
  --mc-teal:           #00BFA5;
  --mc-teal-soft:      rgba(0, 191, 165, 0.12);
  --mc-teal-glow:      rgba(0, 191, 165, 0.22);
  --mc-border-teal:    rgba(0, 191, 165, 0.28);

  --mc-s-1: 10px;
  --mc-s-2: 10px;
  --mc-s-3: 10px;
  --mc-s-4: 10px;
  --mc-s-5: 20px;
  --mc-s-6: 20px;
  --mc-s-7: 30px;
  --mc-s-8: 30px;
  --mc-s-9: 30px;

  --mc-r-1: 6px;
  --mc-r-2: 10px;
  --mc-r-3: 14px;
  --mc-r-4: 18px;
  --mc-r-5: 24px;

  --mc-font: ui-sans-serif, system-ui, -apple-system, "SF Pro Display", "Inter", "Segoe UI", Roboto, sans-serif;
}

/* ─── Workspace Accent Color Tokens™ ────────────────────────────── */
/* Default: Mission Control / Identity (purple). Each ws-dept--* overrides. */
:root {
  --ws-accent:        var(--mc-purple);
  --ws-accent-soft:   var(--mc-purple-soft);
  --ws-accent-border: var(--mc-border-warm);
  --ws-accent-glow:   var(--mc-purple-glow);
}
.ws-dept--health     { --ws-accent: var(--mc-green);   --ws-accent-soft: var(--mc-green-soft);           --ws-accent-border: rgba(45,212,191,0.22);   --ws-accent-glow: var(--mc-green-glow); }
.ws-dept--identity   { --ws-accent: var(--mc-purple);  --ws-accent-soft: var(--mc-purple-soft);          --ws-accent-border: var(--mc-border-warm);   --ws-accent-glow: var(--mc-purple-glow); }
.ws-dept--publishing { --ws-accent: #7c3aed;            --ws-accent-soft: rgba(124,58,237,0.12);          --ws-accent-border: rgba(124,58,237,0.28);   --ws-accent-glow: rgba(124,58,237,0.32); }
.ws-dept--catalog    { --ws-accent: #e11d48;            --ws-accent-soft: rgba(225,29,72,0.12);           --ws-accent-border: rgba(225,29,72,0.28);    --ws-accent-glow: rgba(225,29,72,0.32); }
.ws-dept--global     { --ws-accent: var(--mc-blue);    --ws-accent-soft: var(--mc-blue-soft);            --ws-accent-border: rgba(56,189,248,0.22);   --ws-accent-glow: rgba(56,189,248,0.32); }
.ws-dept--backend    { --ws-accent: var(--mc-teal);    --ws-accent-soft: var(--mc-teal-soft);            --ws-accent-border: var(--mc-border-teal);   --ws-accent-glow: var(--mc-teal-glow); }
.ws-dept--ai-insights { --ws-accent: var(--mc-purple); --ws-accent-soft: var(--mc-purple-soft);          --ws-accent-border: var(--mc-border-warm);   --ws-accent-glow: var(--mc-purple-glow); }
.ws-dept--monitoring  { --ws-accent: var(--mc-blue);   --ws-accent-soft: var(--mc-blue-soft);            --ws-accent-border: rgba(56,189,248,0.22);   --ws-accent-glow: rgba(56,189,248,0.32); }

/* ─── base reset ─────────────────────────────────────────────────── */

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

body {
  margin: 0;
  background: var(--mc-bg);
  font-family: var(--mc-font);
  color: var(--mc-text);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

ul, ol { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { display: block; }
svg { display: block; }

/* ─── workspace shell layout ─────────────────────────────────────── */

.ws-shell {
  display: grid;
  grid-template-columns: 256px 1fr;
  min-height: 100vh;
  max-width: 1920px;
  margin: 0 auto;
}

/* Left navigation rail */
.ws-rail {
  padding: var(--mc-s-3) var(--mc-s-6);
  display: flex;
  flex-direction: column;
  gap: var(--mc-s-4);
  border-right: 1px solid var(--mc-border);
  background: linear-gradient(180deg, rgba(168, 85, 247, 0.03), transparent 30%);
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

/* Right content column */
.ws-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* ─── rail brand block ───────────────────────────────────────────── */

.mc-brand {
  display: flex;
  align-items: center;
  gap: var(--mc-s-3);
  padding-bottom: var(--mc-s-2);
}

.mc-brand-mark {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--mc-font);
  font-size: 22px;
  font-weight: 300;
  color: var(--mc-purple);
  background: radial-gradient(circle at 30% 30%, rgba(168, 85, 247, 0.18), transparent 70%);
  border: 1px solid var(--mc-border-warm);
  position: relative;
  flex-shrink: 0;
}

.mc-brand-mark::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 1px solid rgba(168, 85, 247, 0.22);
  pointer-events: none;
}

.mc-brand-text {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.18em;
}

.mc-brand-sub {
  font-size: 9.5px;
  letter-spacing: 0.32em;
  color: var(--mc-text-muted);
  margin-top: 2px;
}

/* ─── rail nav ───────────────────────────────────────────────────── */

.mc-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.mc-nav-item {
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: center;
  gap: var(--mc-s-3);
  padding: var(--mc-s-1) var(--mc-s-3);
  border-radius: var(--mc-r-2);
  color: var(--mc-text-soft);
  transition: background 160ms ease, color 160ms ease;
  position: relative;
}

.mc-nav-item:hover {
  background: rgba(255, 255, 255, 0.025);
  color: var(--mc-text);
}

.mc-nav-item--active {
  background: var(--ws-accent-soft);
  color: var(--mc-text);
  border: 1px solid var(--ws-accent-border);
}

.mc-nav-item--active::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 60%;
  background: var(--ws-accent);
  border-radius: 1px;
  box-shadow: 0 0 8px var(--ws-accent-glow);
}

.mc-nav-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--mc-r-1);
  background: var(--mc-surface-2);
  display: grid;
  place-items: center;
  color: var(--mc-text-soft);
  border: 1px solid var(--mc-border);
  transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.mc-nav-item:hover .mc-nav-icon {
  color: var(--mc-text);
  background: var(--mc-surface-3);
  box-shadow: 0 0 10px var(--ws-accent-glow);
  border-color: var(--ws-accent-border);
}

.mc-nav-item--active .mc-nav-icon {
  color: var(--ws-accent);
  background: var(--ws-accent-soft);
  border-color: var(--ws-accent-border);
  box-shadow: 0 0 12px var(--ws-accent-glow);
}

.mc-nav-label { font-size: 13.5px; font-weight: 500; }
.mc-nav-sub   { font-size: 11px; color: var(--mc-text-muted); margin-top: 1px; letter-spacing: 0.02em; }

/* ─── breadcrumb header ──────────────────────────────────────────── */

.ws-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 16px 28px;
  font-size: 10.5px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  border-bottom: 1px solid var(--mc-border);
  flex-shrink: 0;
}

.ws-breadcrumb-sep     { color: var(--mc-text-faint); }
.ws-breadcrumb-link    { transition: color 0.15s; }
.ws-breadcrumb-link:hover { color: var(--mc-text-soft); }
.ws-breadcrumb-current { color: var(--mc-text-soft); font-weight: 500; }

/* Top bar (legacy — Stage 1 only; superseded by ws-breadcrumb in Stage 2) */
.ws-topbar {
  display: flex;
  align-items: center;
  padding: 0 20px;
  height: 50px;
  border-bottom: 1px solid var(--mc-border);
  flex-shrink: 0;
  gap: 12px;
}

.ws-topbar-back {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  color: var(--mc-text-muted);
  letter-spacing: 0.04em;
  transition: color 0.15s;
  font-weight: 500;
}
.ws-topbar-back:hover { color: var(--mc-text-soft); }
.ws-topbar-back svg { width: 13px; height: 13px; flex-shrink: 0; }

.ws-topbar-brand {
  font-size: 9.5px;
  letter-spacing: 0.38em;
  color: var(--mc-text-faint);
  font-weight: 700;
  text-transform: uppercase;
  margin-left: auto;
}

/* Hero band */
.ws-hero {
  padding: 28px 20px 22px;
  border-bottom: 1px solid var(--mc-border);
  flex-shrink: 0;
}

.ws-hero-inner {
  max-width: 640px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 14px;
}

.ws-hero-mark {
  width: 46px;
  height: 46px;
  border-radius: var(--mc-r-2);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  border: 1px solid var(--mc-border);
  background: var(--mc-surface-2);
}
.ws-hero-mark svg { width: 22px; height: 22px; }

.ws-hero-mark--health    { color: var(--mc-green);  background: var(--mc-green-soft);          border-color: rgba(45, 212, 191, 0.22); }
.ws-hero-mark--identity  { color: var(--mc-blue);   background: var(--mc-blue-soft);           border-color: rgba(56, 189, 248, 0.22); }
.ws-hero-mark--publishing{ color: #D56BFF;          background: rgba(213, 107, 255, 0.12);     border-color: rgba(213, 107, 255, 0.28); }
.ws-hero-mark--catalog   { color: var(--mc-orange); background: var(--mc-orange-soft);         border-color: rgba(251, 146, 60, 0.22); }
.ws-hero-mark--backend   { color: var(--mc-gold);   background: var(--mc-gold-soft);           border-color: var(--mc-border-gold); }
.ws-hero-mark--footprint { color: var(--mc-blue);   background: var(--mc-blue-soft);           border-color: rgba(56, 189, 248, 0.22); }
.ws-hero-mark--review    { color: var(--mc-purple); background: var(--mc-purple-soft);         border-color: var(--mc-border-warm); }
.ws-hero-mark--muted     { color: var(--mc-text-muted); background: var(--mc-surface-3);       border-color: var(--mc-border); }

.ws-hero-text { display: flex; flex-direction: column; gap: 3px; }

.ws-hero-title {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--mc-text);
}

.ws-hero-desc {
  font-size: 12px;
  color: var(--mc-text-muted);
  line-height: 1.55;
}

/* Main content area */
.ws-main {
  flex: 1;
  padding: 24px 20px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.ws-module-wrap {
  width: 100%;
  max-width: 640px;
}

/* Intentionally empty — future stages will populate this area */
.ws-expansion {
  width: 100%;
  max-width: 640px;
}

/* Wider variant for Global Music Footprint */
.ws-module-wrap--wide {
  max-width: 800px;
}

/* ─── coming soon state ──────────────────────────────────────────── */

.ws-coming-soon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 80px 20px;
  text-align: center;
  width: 100%;
  max-width: 640px;
}

.ws-cs-icon {
  width: 60px;
  height: 60px;
  border-radius: var(--mc-r-3);
  display: grid;
  place-items: center;
  background: var(--mc-surface-2);
  border: 1px solid var(--mc-border);
  color: var(--mc-text-muted);
}
.ws-cs-icon svg { width: 26px; height: 26px; }

.ws-cs-eyebrow {
  font-size: 9px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--mc-text-faint);
}

.ws-cs-title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mc-text-soft);
}

.ws-cs-desc {
  font-size: 12.5px;
  color: var(--mc-text-muted);
  line-height: 1.6;
  max-width: 360px;
}

/* ─── card base ─────────────────────────────────────────────────── */

.mc-card {
  background: var(--mc-surface-1);
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-3);
  padding: var(--mc-s-3);
  display: flex;
  flex-direction: column;
  gap: var(--mc-s-2);
  position: relative;
  overflow: hidden;
  min-width: 0;
}

.mc-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(220px 120px at 0% 0%, var(--card-glow, transparent), transparent 60%);
  pointer-events: none;
  opacity: 0.9;
}

.mc-card--health     { --card-glow: rgba(45, 212, 191, 0.08); }
.mc-card--identity   { --card-glow: rgba(56, 189, 248, 0.07); }
.mc-card--publishing {
  --card-glow: rgba(236, 170, 245, 0.075);
  border-radius: 20px;
  border-color: rgba(200, 122, 240, 0.13);
  box-shadow:
    0 0 32px rgba(236, 170, 245, 0.04),
    inset 0 0 32px rgba(200, 122, 240, 0.035);
  animation: mc-pub-breath 7.5s ease-in-out infinite;
}
@keyframes mc-pub-breath {
  0%, 100% { box-shadow: 0 0 30px rgba(236, 170, 245, 0.038), inset 0 0 30px rgba(200, 122, 240, 0.025); }
  50%      { box-shadow: 0 0 46px rgba(236, 170, 245, 0.075), inset 0 0 38px rgba(200, 122, 240, 0.050); }
}
.mc-card--catalog    { --card-glow: rgba(251, 146, 60, 0.07); }
.mc-card--backend    { --card-glow: rgba(198, 168, 106, 0.08); }
.mc-card--footprint  { --card-glow: rgba(56, 189, 248, 0.06); }

.mc-card-head {
  display: flex;
  align-items: center;
  gap: var(--mc-s-3);
}

.mc-card-mark {
  width: 32px;
  height: 32px;
  border-radius: var(--mc-r-1);
  display: grid;
  place-items: center;
  background: var(--mc-surface-3);
  border: 1px solid var(--mc-border);
}
.mc-card--health     .mc-card-mark { color: var(--mc-green);  background: var(--mc-green-soft);  border-color: rgba(45, 212, 191, 0.22); }
.mc-card--identity   .mc-card-mark { color: var(--mc-blue);   background: var(--mc-blue-soft);   border-color: rgba(56, 189, 248, 0.22); }
.mc-card--publishing .mc-card-mark { color: var(--mc-purple); background: var(--mc-purple-soft); border-color: var(--mc-border-warm); }
.mc-card--catalog    .mc-card-mark { color: var(--mc-orange); background: var(--mc-orange-soft); border-color: rgba(251, 146, 60, 0.22); }
.mc-card--backend    .mc-card-mark { color: var(--mc-gold);   background: var(--mc-gold-soft);   border-color: var(--mc-border-gold); }
.mc-card--footprint  .mc-card-mark { color: var(--mc-blue);   background: var(--mc-blue-soft);   border-color: rgba(56, 189, 248, 0.22); }

.mc-card-mark svg { width: 16px; height: 16px; }

.mc-card-title {
  font-size: 11px;
  letter-spacing: 0.22em;
  font-weight: 600;
  color: var(--mc-text);
  text-transform: uppercase;
  line-height: 1.3;
}

.mc-card-foot {
  margin-top: auto;
  font-size: 12px;
  color: var(--mc-text-muted);
  line-height: 1.55;
}

/* ─── pills ──────────────────────────────────────────────────────── */

.mc-pill {
  font-size: 10.5px;
  letter-spacing: 0.06em;
  padding: 3px 9px;
  border-radius: 999px;
  font-weight: 600;
  text-transform: capitalize;
}
.mc-pill--claimed    { background: rgba(45, 212, 191, 0.14); color: var(--mc-green); }
.mc-pill--verified   { background: rgba(45, 212, 191, 0.14); color: var(--mc-green); }
.mc-pill--unclaimed  { background: rgba(251, 146, 60, 0.14); color: var(--mc-orange); }
.mc-pill--pending    { background: rgba(251, 146, 60, 0.14); color: var(--mc-orange); }
.mc-pill--missing    { background: rgba(244, 63, 94, 0.12);  color: #f97373; }
.mc-pill--action     { background: rgba(244, 63, 94, 0.12);  color: #f97373; }
.mc-pill--monitoring { background: rgba(251, 146, 60, 0.14); color: var(--mc-orange); }
.mc-pill--notfound   { background: rgba(244, 63, 94, 0.12);  color: #f97373; }
.mc-pill--unable     { background: rgba(148, 163, 184, 0.16); color: #cbd5e1; }
.mc-pill--coming-soon{ background: rgba(148, 163, 184, 0.12); color: #94a3b8; }

/* ─── shared section label (used across all intelligence modules) ── */

.mc-hi-section-label {
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  font-weight: 600;
  margin-bottom: 4px;
}

/* ─── Health Intelligence™ — Sprint 3.2 — 6-section executive assessment ── */

.mc-hi-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Section 1 — Overall Health Score */
.mc-hi-score-section {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--mc-divider);
}
.mc-hi-score-display {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.mc-hi-score-num {
  font-size: 32px;
  font-weight: 700;
  color: var(--mc-green-bright);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.02em;
}
.mc-hi-score-denom {
  font-size: 14px;
  color: var(--mc-text-muted);
  font-weight: 400;
}
.mc-hi-grade {
  font-size: 13px;
  font-weight: 600;
  color: var(--mc-green);
}
.mc-hi-trend-row {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--mc-text-muted);
  margin-top: 3px;
}
.mc-hi-trend-arrow { font-size: 10px; }
.mc-hi-trend-row.mc-hi-up   .mc-hi-trend-arrow { color: var(--mc-green-bright); }
.mc-hi-trend-row.mc-hi-down .mc-hi-trend-arrow { color: #f87171; }
@keyframes mc-hi-trend-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.5; }
}
.mc-hi-trend-row.mc-hi-up   .mc-hi-trend-arrow,
.mc-hi-trend-row.mc-hi-down .mc-hi-trend-arrow {
  animation: mc-hi-trend-pulse 2.4s ease-in-out infinite;
}

/* Section 2 — Health Breakdown */
.mc-hi-breakdown {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--mc-divider);
}
.mc-hi-cat-list {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 10px;
}
.mc-hi-cat {
  display: grid;
  grid-template-columns: 1fr auto 10px;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.mc-hi-cat-name  { color: var(--mc-text-soft); }
.mc-hi-cat-score {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--mc-green);
  min-width: 22px;
  text-align: right;
}
.mc-hi-cat-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--mc-text-muted);
  opacity: 0.4;
}
.mc-hi-cat-dot.mc-hi-green  { background: var(--mc-green-bright); opacity: 1; }
.mc-hi-cat-dot.mc-hi-teal   { background: var(--mc-green);        opacity: 1; }
.mc-hi-cat-dot.mc-hi-amber  { background: #f59e0b;                opacity: 1; }
.mc-hi-cat-dot.mc-hi-red    { background: #f87171;                opacity: 1; }

/* Sections 3 + 4 — Biggest Improvement + Risk */
.mc-hi-highlights {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--mc-divider);
}
.mc-hi-best,
.mc-hi-risk-block {
  background: var(--mc-surface-2);
  border: 1px solid var(--mc-divider);
  border-radius: var(--mc-r-2);
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.mc-hi-best .mc-hi-section-label       { color: var(--mc-green); margin-bottom: 4px; }
.mc-hi-risk-block .mc-hi-section-label  { color: #f59e0b;         margin-bottom: 4px; }
.mc-hi-highlight-icon {
  font-size: 13px;
  line-height: 1;
  margin-bottom: 3px;
}
.mc-hi-best .mc-hi-highlight-icon       { color: var(--mc-green-bright); }
.mc-hi-risk-block .mc-hi-highlight-icon { color: #f59e0b; }
.mc-hi-highlight-title {
  font-size: 11.5px;
  font-weight: 500;
  color: var(--mc-text);
  line-height: 1.35;
}
.mc-hi-highlight-meta {
  font-size: 10.5px;
  color: var(--mc-text-muted);
}

/* Section 5 — Health Trend Sparkline */
.mc-hi-sparkline-section {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--mc-divider);
}
.mc-hi-sparkline-section .mc-hi-section-label { margin-bottom: 0; flex-shrink: 0; }
.mc-hi-sparkline {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  font-variant-numeric: tabular-nums;
}
.mc-hi-spark-dot {
  font-size: 12px;
  font-weight: 500;
  color: var(--mc-text-muted);
  opacity: 0.35;
}
.mc-hi-spark-dot.mc-hi-spark-populated { opacity: 0.85; color: var(--mc-text-soft); }
.mc-hi-spark-current {
  font-size: 15px;
  font-weight: 700;
  color: var(--mc-green-bright);
  opacity: 1;
}
.mc-hi-spark-meta {
  font-size: 10px;
  color: var(--mc-text-muted);
  margin-left: auto;
  white-space: nowrap;
}

/* Section 6 — Recent Changes */
.mc-hi-changes-list {
  list-style: none; margin: 0; padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.mc-hi-changes-list li {
  font-size: 11.5px;
  color: var(--mc-text-soft);
  line-height: 1.4;
  display: flex;
  align-items: flex-start;
  gap: 6px;
}
.mc-hi-changes-list li::before {
  content: '·';
  color: var(--mc-green);
  font-weight: 700;
  flex-shrink: 0;
}

@media (max-width: 540px) {
  .mc-hi-highlights        { grid-template-columns: 1fr; }
  .mc-hi-sparkline-section { order: -1; }
  .mc-hi-breakdown         { order: 2; }
  .mc-hi-cat-list          { display: flex; flex-direction: column; gap: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  .mc-hi-trend-arrow { animation: none !important; }
}

/* ─── Identity Intelligence™ — Sprint 3.3 — 6-section executive passport ─ */

.mc-identity-platform {
  width: 16px; height: 16px;
  border-radius: 3px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

.mc-id-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-items: start;
}

.mc-id-coverage-section,
.mc-id-summary,
.mc-id-providers-section,
.mc-id-changes-section { grid-column: 1 / -1; }

/* Section 1 — Identity Coverage */
.mc-id-coverage-section {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--mc-divider);
}
.mc-id-score-display { display: flex; align-items: baseline; gap: 3px; }
.mc-id-score-num {
  font-size: 32px; font-weight: 700; color: var(--mc-blue);
  font-variant-numeric: tabular-nums; line-height: 1; letter-spacing: -0.02em;
}
.mc-id-score-denom { font-size: 14px; color: var(--mc-text-muted); font-weight: 400; }
.mc-id-coverage-grade { font-size: 13px; font-weight: 600; color: var(--mc-blue); }
.mc-id-coverage-sub   { font-size: 11px; color: var(--mc-text-muted); margin-top: 2px; }

/* Section 2 — Identity Summary counts */
.mc-id-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--mc-divider);
}
.mc-id-sum-item {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  background: var(--mc-surface-2); border: 1px solid var(--mc-divider);
  border-radius: var(--mc-r-1); padding: 6px 4px;
}
.mc-id-sum-count {
  font-size: 16px; font-weight: 700; color: var(--mc-blue);
  font-variant-numeric: tabular-nums; line-height: 1;
}
.mc-id-sum-label {
  font-size: 9px; color: var(--mc-text-muted);
  text-align: center; line-height: 1.3; letter-spacing: 0.02em;
}
.mc-id-sum-item--warn   .mc-id-sum-count { color: var(--mc-orange); }
.mc-id-sum-item--danger .mc-id-sum-count { color: #f87171; }
.mc-id-sum-item--muted  .mc-id-sum-count { color: var(--mc-text-muted); }

/* Section 3 — Identity Providers */
.mc-id-providers-section {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--mc-divider);
}
.mc-id-provider-list { display: flex; flex-direction: column; gap: 5px; }
.mc-id-provider-row {
  display: grid;
  grid-template-columns: 16px 1fr auto;
  align-items: center;
  gap: 8px; font-size: 12px; color: var(--mc-text-soft);
}
.mc-id-provider-name { color: var(--mc-text-soft); }

/* Sections 4 + 5 — Biggest Risk + Win */
.mc-id-win,
.mc-id-risk {
  background: var(--mc-surface-2); border: 1px solid var(--mc-divider);
  border-radius: var(--mc-r-2); padding: 8px;
  display: flex; flex-direction: column; gap: 3px;
}
.mc-id-win  .mc-hi-section-label { color: var(--mc-blue); margin-bottom: 4px; }
.mc-id-risk .mc-hi-section-label { color: #f59e0b;        margin-bottom: 4px; }
.mc-id-highlight-icon { font-size: 13px; line-height: 1; margin-bottom: 3px; }
.mc-id-win  .mc-id-highlight-icon { color: var(--mc-blue); }
.mc-id-risk .mc-id-highlight-icon { color: #f59e0b; }
.mc-id-highlight-title { font-size: 11.5px; font-weight: 500; color: var(--mc-text); line-height: 1.35; }
.mc-id-highlight-meta  { font-size: 10.5px; color: var(--mc-text-muted); }

/* Section 6 — Recent Changes */
.mc-id-changes-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 5px;
}
.mc-id-changes-list li {
  font-size: 11.5px; color: var(--mc-text-soft); line-height: 1.4;
  display: flex; align-items: flex-start; gap: 6px;
}
.mc-id-changes-list li::before {
  content: '·'; color: var(--mc-blue); font-weight: 700; flex-shrink: 0;
}

@media (max-width: 540px) {
  .mc-id-body              { grid-template-columns: 1fr; }
  .mc-id-coverage-section  { order: 1; }
  .mc-id-risk              { order: 2; }
  .mc-id-summary           { order: 3; }
  .mc-id-providers-section { order: 4; }
  .mc-id-win               { order: 5; }
  .mc-id-changes-section   { order: 6; }
  .mc-id-summary           { grid-template-columns: repeat(2, 1fr); }
}

/* ─── Publishing Intelligence™ — Sprint 3.4 — 7-section executive passport ─ */

.mc-pi-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-items: start;
}

.mc-pi-coverage-section,
.mc-pi-summary,
.mc-pi-systems-section,
.mc-pi-win,
.mc-pi-changes-section { grid-column: 1 / -1; }

/* Section 1 — Publishing Coverage */
.mc-pi-coverage-section {
  display: flex; flex-direction: column; gap: 2px;
  padding-bottom: 8px; border-bottom: 1px solid var(--mc-divider);
}
.mc-pi-score-display { display: flex; align-items: baseline; gap: 3px; }
.mc-pi-score-num {
  font-size: 32px; font-weight: 700; color: #D56BFF;
  font-variant-numeric: tabular-nums; line-height: 1; letter-spacing: -0.02em;
}
.mc-pi-score-denom { font-size: 14px; color: var(--mc-text-muted); font-weight: 400; }
.mc-pi-coverage-grade { font-size: 13px; font-weight: 600; color: #D56BFF; }
.mc-pi-coverage-sub   { font-size: 11px; color: var(--mc-text-muted); margin-top: 2px; }

/* Section 2 — Publishing Summary counts */
.mc-pi-summary {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px;
  padding-bottom: 8px; border-bottom: 1px solid var(--mc-divider);
}
.mc-pi-sum-item {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  background: var(--mc-surface-2); border: 1px solid var(--mc-divider);
  border-radius: var(--mc-r-1); padding: 6px 4px;
}
.mc-pi-sum-count {
  font-size: 16px; font-weight: 700; color: #D56BFF;
  font-variant-numeric: tabular-nums; line-height: 1;
}
.mc-pi-sum-label {
  font-size: 9px; color: var(--mc-text-muted);
  text-align: center; line-height: 1.3; letter-spacing: 0.02em;
}
.mc-pi-sum-item--warn   .mc-pi-sum-count { color: var(--mc-orange); }
.mc-pi-sum-item--danger .mc-pi-sum-count { color: #f87171; }
.mc-pi-sum-item--muted  .mc-pi-sum-count { color: var(--mc-text-muted); }

/* Section 3 — Publishing Systems */
.mc-pi-systems-section {
  padding-bottom: 8px; border-bottom: 1px solid var(--mc-divider);
}
.mc-pi-system-list { display: flex; flex-direction: column; gap: 5px; }
.mc-pi-system-row {
  display: grid; grid-template-columns: 16px 1fr auto;
  align-items: center; gap: 8px; font-size: 12px; color: var(--mc-text-soft);
}
.mc-pi-system-icon { width: 16px; height: 16px; color: #D56BFF; flex-shrink: 0; }
.mc-pi-system-name { color: var(--mc-text-soft); }

/* Section 4 — Financial Impact — executive brief style */
.mc-pi-impact {
  background: var(--mc-surface-2); border: 1px solid var(--mc-divider);
  border-radius: var(--mc-r-2); padding: 10px 12px;
  display: flex; flex-direction: column; gap: 4px;
}
.mc-pi-impact .mc-hi-section-label { color: #D56BFF; margin-bottom: 2px; }
.mc-pi-impact-badge {
  font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  padding: 2px 6px; border-radius: 20px;
  display: inline-flex; align-self: flex-start; margin-bottom: 6px;
}
.mc-pi-impact-badge--low    { background: rgba(34,197,94,0.15);    color: #4ade80; }
.mc-pi-impact-badge--medium { background: rgba(251,146,60,0.15);   color: var(--mc-orange); }
.mc-pi-impact-badge--high   { background: rgba(248,113,113,0.15);  color: #f87171; }
.mc-pi-impact-royalty-label {
  font-size: 8px; letter-spacing: 0.11em; text-transform: uppercase;
  color: var(--mc-text-muted); font-weight: 600; margin-bottom: 3px;
}
.mc-pi-impact-body {
  font-size: 12.5px; font-weight: 500; color: var(--mc-text);
  line-height: 1.5; margin-bottom: 4px;
}
.mc-pi-impact-resolution-label {
  font-size: 8px; letter-spacing: 0.11em; text-transform: uppercase;
  color: var(--mc-text-muted); font-weight: 600; margin-bottom: 2px;
}
.mc-pi-impact-resolution-val { font-size: 11px; font-weight: 500; color: var(--mc-text-soft); }

/* Sections 5 + 6 — Risk + Win */
.mc-pi-risk,
.mc-pi-win {
  background: var(--mc-surface-2); border: 1px solid var(--mc-divider);
  border-radius: var(--mc-r-2); padding: 6px 8px;
  display: flex; flex-direction: column; gap: 2px;
}
.mc-pi-risk .mc-hi-section-label { color: #f59e0b; margin-bottom: 3px; }
.mc-pi-win  .mc-hi-section-label { color: #D56BFF; margin-bottom: 3px; }
.mc-pi-highlight-icon { font-size: 11px; line-height: 1; margin-bottom: 1px; }
.mc-pi-risk .mc-pi-highlight-icon { color: #f59e0b; }
.mc-pi-win  .mc-pi-highlight-icon { color: #D56BFF; }
.mc-pi-highlight-title { font-size: 11px; font-weight: 500; color: var(--mc-text); line-height: 1.35; }
.mc-pi-highlight-meta  { font-size: 10px; color: var(--mc-text-muted); margin-top: 1px; }
.mc-pi-resolution      { font-size: 9.5px; color: var(--mc-text-muted); margin-top: 2px; font-style: italic; }

/* Section 7 — Recent Publishing Changes */
.mc-pi-changes-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 5px;
}
.mc-pi-changes-list li {
  font-size: 11.5px; color: var(--mc-text-soft); line-height: 1.4;
  display: flex; align-items: flex-start; gap: 6px;
}
.mc-pi-changes-list li::before {
  content: '·'; color: #D56BFF; font-weight: 700; flex-shrink: 0;
}

@media (max-width: 540px) {
  .mc-pi-body              { grid-template-columns: 1fr; }
  .mc-pi-coverage-section  { order: 1; }
  .mc-pi-impact            { order: 2; }
  .mc-pi-risk              { order: 3; }
  .mc-pi-summary           { order: 4; grid-template-columns: repeat(2, 1fr); }
  .mc-pi-systems-section   { order: 5; }
  .mc-pi-win               { order: 6; }
  .mc-pi-changes-section   { order: 7; }
}

/* ─── Catalog Intelligence™ card ────────────────────────────────── */

.mc-catalog-body {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: var(--mc-s-4);
  align-items: center;
}

.mc-stack {
  position: relative; width: 70px; height: 70px;
  display: grid; place-items: center;
  color: var(--mc-orange);
  animation: mc-catalog-ambient 5.6s ease-in-out infinite;
}
.mc-stack svg { width: 60px; height: 60px; filter: drop-shadow(0 0 6px var(--mc-orange-glow)); }
.mc-stack svg > * { animation: mc-catalog-scan 4.8s ease-in-out infinite; }
.mc-stack svg > *:nth-child(1) { animation-delay: 0s;   }
.mc-stack svg > *:nth-child(2) { animation-delay: 0.4s; }
.mc-stack svg > *:nth-child(3) { animation-delay: 0.8s; }
.mc-stack svg > *:nth-child(4) { animation-delay: 1.2s; }

@keyframes mc-catalog-ambient {
  0%, 100% { filter: drop-shadow(0 0 6px  rgba(251, 146, 60, 0.18)); }
  50%      { filter: drop-shadow(0 0 16px rgba(251, 146, 60, 0.30)); }
}
@keyframes mc-catalog-scan {
  0%, 35%, 100% { opacity: 0.75; }
  15%           { opacity: 1; }
}

.mc-catalog-summary { display: flex; flex-direction: column; gap: 2px; }
.mc-catalog-value {
  font-size: 22px; font-weight: 700; line-height: 1; letter-spacing: -0.01em;
  color: var(--mc-orange); text-shadow: 0 0 14px rgba(251, 146, 60, 0.24);
}
.mc-catalog-label { font-size: 12px; color: var(--mc-text-muted); letter-spacing: 0.04em; }

.mc-catalog-grid {
  display: grid; grid-template-columns: 1fr auto;
  gap: var(--mc-s-1) var(--mc-s-3); font-size: 12px; margin-top: 0;
}
.mc-catalog-grid .lbl { color: #b8b8c4; letter-spacing: 0.02em; }
.mc-catalog-grid .val { color: var(--mc-text); font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.mc-catalog-grid .val--stable   { color: var(--mc-green); }
.mc-catalog-grid .val--verified { color: var(--mc-green); }

.mc-catalog-checks {
  display: flex; flex-direction: column; gap: 4px;
  margin-top: var(--mc-s-1); padding-top: var(--mc-s-1);
  border-top: 1px solid var(--mc-divider);
}
.mc-catalog-checks-title {
  font-size: 9px; letter-spacing: 0.22em; color: var(--mc-text-muted);
  font-weight: 600; text-transform: uppercase; margin-bottom: 4px;
}
.mc-catalog-check {
  display: grid; grid-template-columns: 16px 1fr auto;
  gap: 8px; align-items: center; font-size: 12px;
  color: var(--mc-text-soft); line-height: 1.3;
}
.mc-catalog-check-icon { width: 16px; height: 16px; color: var(--mc-orange); flex-shrink: 0; }

/* ─── Backend Intelligence™ card ─────────────────────────────────── */

.mc-bi-body {
  display: grid; grid-template-columns: 96px 1fr;
  gap: var(--mc-s-3); align-items: center;
}

.mc-bi-art {
  position: relative; width: 96px; height: 96px;
  display: grid; place-items: center;
}
.mc-bi-rings { width: 96px; height: 96px; filter: drop-shadow(0 0 8px var(--mc-gold-glow)); }
.mc-bi-ring-1 { transform-origin: 50% 50%; animation: mc-bi-ring-1 4.6s ease-in-out infinite; }
.mc-bi-ring-2 { transform-origin: 50% 50%; animation: mc-bi-ring-2 9s linear infinite; }
@keyframes mc-bi-ring-1 {
  0%, 100% { opacity: 0.55; transform: scale(1); }
  50%      { opacity: 1;    transform: scale(1.06); }
}
@keyframes mc-bi-ring-2 { to { transform: rotate(360deg); } }

.mc-bi-globe {
  position: absolute; width: 40px; height: 40px;
  color: var(--mc-gold-bright); filter: drop-shadow(0 0 10px var(--mc-gold-glow));
  animation: mc-bi-globe-pulse 3.2s ease-in-out infinite;
}
@keyframes mc-bi-globe-pulse {
  0%, 100% { opacity: 0.85; filter: drop-shadow(0 0 6px  rgba(198, 168, 106, 0.18)); }
  50%      { opacity: 1;    filter: drop-shadow(0 0 14px rgba(198, 168, 106, 0.32)); }
}

.mc-bi-summary { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mc-bi-sum-label {
  font-size: 9px; letter-spacing: 0.22em; color: var(--mc-gold);
  font-weight: 600; text-transform: uppercase; line-height: 1.2;
}
.mc-bi-sum-value { font-size: 22px; font-weight: 700; color: var(--mc-text); letter-spacing: 0.01em; line-height: 1.05; }
.mc-bi-sum-meta  { font-size: 11px; color: var(--mc-text-muted); letter-spacing: 0.02em; }

.mc-bi-services { display: flex; flex-direction: column; gap: 6px; flex: 1; min-height: 0; }
.mc-bi-service {
  display: grid; grid-template-columns: 24px 1fr auto;
  gap: 8px; align-items: center; padding: 6px 8px;
  background: rgba(198, 168, 106, 0.05); border: 1px solid rgba(198, 168, 106, 0.14);
  border-radius: var(--mc-r-2);
}
.mc-bi-service-icon {
  width: 24px; height: 24px; border-radius: 50%;
  display: grid; place-items: center;
  color: var(--mc-gold); background: var(--mc-gold-soft); border: 1px solid var(--mc-border-gold);
}
.mc-bi-service-icon svg { width: 12px; height: 12px; }
.mc-bi-service-body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.mc-bi-service-name { font-size: 12px; font-weight: 600; color: var(--mc-text); letter-spacing: 0.01em; line-height: 1.2; }
.mc-bi-service-sub  { font-size: 9.5px; color: var(--mc-gold); letter-spacing: 0.02em; opacity: 0.9; }
.mc-bi-service-status {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 9px; letter-spacing: 0.08em;
  color: var(--mc-gold-bright); text-transform: uppercase; font-weight: 600;
}
.mc-bi-service-status::before {
  content: ""; width: 5px; height: 5px; border-radius: 50%;
  background: var(--mc-gold); box-shadow: 0 0 5px var(--mc-gold-glow);
}
.mc-bi-foot {
  margin-top: auto; display: flex; align-items: center; justify-content: center;
  gap: 6px; font-size: 9px; letter-spacing: 0.20em; text-transform: uppercase; font-weight: 600;
}
.mc-bi-foot-icon { width: 12px; height: 12px; color: var(--mc-gold); filter: drop-shadow(0 0 4px var(--mc-gold-glow)); flex: 0 0 12px; }
.mc-bi-foot-label { color: var(--mc-gold); }
.mc-bi-foot-state { color: var(--mc-gold-bright); }

/* ─── Global Music Footprint™ card ───────────────────────────────── */

.mc-card--footprint { padding-bottom: var(--mc-s-2); }

.mc-globe {
  position: relative; width: 100%; flex: 1; min-height: 180px;
  border-radius: var(--mc-r-2); overflow: hidden; background: #050b18;
}
.mc-globe-map {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: contain; object-position: center center; pointer-events: none; display: block;
}

.mc-globe-sweep {
  position: absolute; top: 0; bottom: 0; left: -8%; width: 8%;
  background: linear-gradient(90deg, transparent 0%, rgba(45, 212, 191, 0.45) 50%, transparent 100%);
  filter: blur(3px); opacity: 0; pointer-events: none; mix-blend-mode: screen;
  animation: mc-globe-sweep 40s linear infinite;
}
@keyframes mc-globe-sweep {
  0%, 79.9% { opacity: 0;   transform: translateX(0); }
  80%       { opacity: 0.9; transform: translateX(0); }
  98.9%     { opacity: 0.9; transform: translateX(1400%); }
  99.1%     { opacity: 0;   transform: translateX(1400%); }
  100%      { opacity: 0;   transform: translateX(1400%); }
}

.mc-globe-marker {
  position: absolute; width: 8px; height: 8px; border-radius: 50%;
  background: radial-gradient(circle, #ffffff 0%, #c785ff 32%, #a855f7 72%, transparent 100%);
  transform: translate(-50%, -50%); pointer-events: none; opacity: 0.65;
  filter: drop-shadow(0 0 5px rgba(168, 85, 247, 0.85)) drop-shadow(0 0 11px rgba(168, 85, 247, 0.55));
  animation-name: mc-globe-marker;
  animation-duration: 40s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}
@keyframes mc-globe-marker {
  0%    { opacity: 0.55; transform: translate(-50%, -50%) scale(1);    filter: drop-shadow(0 0 4px rgba(168, 85, 247, 0.5)); }
  18%   { opacity: 0.85; transform: translate(-50%, -50%) scale(1.06); }
  35%   { opacity: 0.55; transform: translate(-50%, -50%) scale(1); }
  55%   { opacity: 0.85; transform: translate(-50%, -50%) scale(1.06); }
  77%   { opacity: 0.55; transform: translate(-50%, -50%) scale(1); }
  78%   { opacity: 0;    transform: translate(-50%, -50%) scale(0);    filter: none; }
  78.6% { opacity: 1;    transform: translate(-50%, -50%) scale(0.35); filter: drop-shadow(0 0 4px rgba(255,255,255,1)) drop-shadow(0 0 8px rgba(255,255,255,0.65)); }
  79.6% { opacity: 1;    transform: translate(-50%, -50%) scale(2.6);  filter: drop-shadow(0 0 14px rgba(168,85,247,1)) drop-shadow(0 0 32px rgba(168,85,247,0.85)) drop-shadow(0 0 48px rgba(168,85,247,0.5)); }
  80.6% { opacity: 1;    transform: translate(-50%, -50%) scale(1.3);  filter: drop-shadow(0 0 10px rgba(168,85,247,0.95)) drop-shadow(0 0 20px rgba(168,85,247,0.65)); }
  81.6% { opacity: 1;    transform: translate(-50%, -50%) scale(1);    filter: drop-shadow(0 0 7px rgba(168,85,247,0.95)) drop-shadow(0 0 14px rgba(168,85,247,0.6)); }
  92%   { opacity: 1;    transform: translate(-50%, -50%) scale(1.04); filter: drop-shadow(0 0 8px rgba(168,85,247,0.85)) drop-shadow(0 0 16px rgba(168,85,247,0.5)); }
  100%  { opacity: 0.55; transform: translate(-50%, -50%) scale(1);    filter: drop-shadow(0 0 4px rgba(168, 85, 247, 0.5)); }
}

.mc-globe-status {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 5px 12px 5px 9px;
  background: rgba(45, 212, 191, 0.10); border: 1px solid rgba(45, 212, 191, 0.30);
  border-radius: 999px; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.mc-globe-status-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--mc-green-bright);
  box-shadow: 0 0 6px rgba(52, 245, 176, 1), 0 0 14px rgba(52, 245, 176, 0.55);
  flex-shrink: 0;
  animation: mc-globe-status-dot 40s ease-out infinite;
}
@keyframes mc-globe-status-dot {
  0%, 79%  { opacity: 0.40; box-shadow: 0 0 4px rgba(52, 245, 176, 0.45); }
  80%      { opacity: 1;    box-shadow: 0 0 10px rgba(52, 245, 176, 1), 0 0 20px rgba(52, 245, 176, 0.85); }
  99%      { opacity: 1;    box-shadow: 0 0 10px rgba(52, 245, 176, 1), 0 0 20px rgba(52, 245, 176, 0.85); }
  100%     { opacity: 0.40; box-shadow: 0 0 4px rgba(52, 245, 176, 0.45); }
}
.mc-globe-status-text   { display: flex; flex-direction: column; line-height: 1.1; }
.mc-globe-status-title  { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; color: var(--mc-text); text-transform: uppercase; }
.mc-globe-status-sub    { font-size: 9px; letter-spacing: 0.12em; color: var(--mc-text-muted); text-transform: uppercase; margin-top: 1px; }

.mc-foot-footer {
  display: flex; justify-content: space-between; align-items: center;
  gap: var(--mc-s-4); margin-top: var(--mc-s-1);
}

.mc-globe-territories {
  display: flex; flex-direction: column; align-items: center; gap: 1px;
  padding: 5px 14px 6px;
  background: rgba(168, 85, 247, 0.10); border: 1px solid rgba(168, 85, 247, 0.30);
  border-radius: 999px; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  line-height: 1.05;
}
.mc-globe-territories-label {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 9px; letter-spacing: 0.18em;
  color: var(--mc-purple); font-weight: 700; text-transform: uppercase;
}
.mc-globe-territories-icon {
  width: 11px; height: 11px; color: var(--mc-purple);
  filter: drop-shadow(0 0 3px var(--mc-purple-glow)); flex-shrink: 0;
}
.mc-globe-territories-count {
  font-size: 18px; font-weight: 700; color: var(--mc-text);
  letter-spacing: 0.02em; font-variant-numeric: tabular-nums; line-height: 1.05;
}

/* ═══════════════════════════════════════════════════════════════════════
   Health Intelligence™ Workspace — Phase 4 Stage 4
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── body layout: main + right panel side-by-side ─────────────────── */

.ws-body {
  display: flex;
  flex: 1;
  align-items: flex-start;
  min-width: 0;
}

.hi-main {
  flex: 1;
  min-width: 0;
  padding: 28px 32px 56px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* ─── section 1: executive header ───────────────────────────────────── */

.hi-exec-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.hi-exec-title-block {}

.hi-exec-eyebrow {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mc-purple);
  margin-bottom: 4px;
}

.hi-exec-heading {
  font-size: 22px;
  font-weight: 600;
  color: var(--mc-text);
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.hi-exec-desc { font-size: 13px; color: var(--mc-text-muted); margin-bottom: 8px; }

.hi-exec-meta-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 8px;
}

.hi-exec-updated {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--mc-text-muted);
}

.hi-exec-updated-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mc-green);
  flex-shrink: 0;
}

.hi-date-selector {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 14px;
  background: var(--mc-surface-2);
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-2);
  font-size: 11.5px;
  color: var(--mc-text-soft);
  cursor: pointer;
  transition: border-color 0.15s;
  flex-shrink: 0;
}

.hi-date-selector:hover { border-color: var(--mc-border-warm); }

.hi-date-selector svg { width: 13px; height: 13px; color: var(--mc-text-muted); }

/* ─── section 2: kpi cards ──────────────────────────────────────────── */

.hi-kpi-row {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 14px;
}

.hi-kpi-card {
  background: var(--mc-surface-1);
  border: 1px solid var(--mc-border);
  border-radius: var(--rds-radius-md, 14px);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  overflow: hidden;
}

.hi-kpi-card--score {
  background: linear-gradient(145deg, rgba(168,85,247,0.07), rgba(45,212,191,0.04));
  border-color: var(--mc-border-warm);
}

.hi-kpi-card--improvement {
  background: linear-gradient(145deg, rgba(45,212,191,0.06), transparent);
  border-color: rgba(45,212,191,0.18);
}

.hi-kpi-card--risk {
  background: linear-gradient(145deg, rgba(251,146,60,0.07), transparent);
  border-color: rgba(251,146,60,0.2);
}

.hi-kpi-card--ai {
  background: linear-gradient(145deg, rgba(168,85,247,0.06), transparent);
  border-color: var(--mc-border-warm);
}

.ii-kpi-card--pending {
  background: linear-gradient(145deg, rgba(248,113,113,0.05), transparent);
  border-color: rgba(248,113,113,0.22);
}

.hi-kpi-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}

.hi-kpi-label--green  { color: var(--mc-green); }
.hi-kpi-label--orange { color: var(--mc-orange); }
.hi-kpi-label--purple { color: var(--mc-purple); }

.hi-kpi-score-wrap {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin: 2px 0;
}

.hi-kpi-score-num {
  font-size: 52px;
  font-weight: 700;
  line-height: 1;
  color: var(--mc-green);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.03em;
}

.hi-kpi-score-denom {
  font-size: 17px;
  color: var(--mc-text-muted);
  font-weight: 400;
  margin-bottom: 4px;
}

.hi-kpi-grade {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--mc-green);
}

.hi-kpi-trend {
  font-size: 11px;
  color: var(--mc-text-muted);
}

.hi-kpi-breakdown {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid var(--mc-border);
}

.hi-kpi-breakdown-title {
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  margin-bottom: 4px;
}

.hi-kpi-breakdown-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10.5px;
  color: var(--mc-text-muted);
}

.hi-kpi-breakdown-val {
  color: var(--mc-text-soft);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.hi-kpi-icon {
  font-size: 26px;
  line-height: 1;
}

.hi-kpi-main-text {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--mc-text);
  line-height: 1.35;
}

.hi-kpi-sub-text {
  font-size: 10.5px;
  color: var(--mc-text-muted);
  line-height: 1.4;
}

.hi-kpi-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 20px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 2px;
  align-self: flex-start;
}

.hi-kpi-badge--orange {
  background: var(--mc-orange-soft);
  color: var(--mc-orange);
  border: 1px solid rgba(251,146,60,0.25);
}

.hi-kpi-ai-checks {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}

.hi-kpi-ai-check {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10.5px;
  color: var(--mc-text-soft);
}

.hi-kpi-check-icon--green { color: var(--mc-green); }
.hi-kpi-check-icon--amber { color: var(--mc-orange); }

.hi-kpi-athena-brief {
  font-size: 10.5px;
  line-height: 1.55;
  color: var(--mc-text-soft);
  margin-top: 2px;
}

.hi-monitoring-coverage {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 4px;
}

.hi-monitoring-coverage-title {
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}

.hi-monitoring-coverage-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.hi-monitoring-coverage-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10.5px;
  color: var(--mc-text-soft);
}

/* ─── section header ─────────────────────────────────────────────────── */

.hi-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.hi-section-title {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}

/* ─── section 3: core health metrics ─────────────────────────────────── */

.hi-category-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 13px;
  margin-top: 12px;
}

.hi-cat-card {
  background: var(--mc-surface-1);
  border: 1px solid var(--mc-border);
  border-radius: var(--rds-radius-sm, 10px);
  padding: 12px 10px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.15s;
}

.hi-cat-card:hover { border-color: var(--mc-border-warm); }

.hi-cat-label {
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}

.hi-cat-score-wrap {
  display: flex;
  align-items: baseline;
  gap: 2px;
}

.hi-cat-score-num {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

.hi-cat-score-num--green  { color: var(--mc-green); }
.hi-cat-score-num--amber  { color: var(--mc-orange); }
.hi-cat-score-num--red    { color: #f87171; }
.hi-cat-score-num--purple { color: var(--mc-purple); }

.hi-cat-score-denom { font-size: 11px; color: var(--mc-text-faint); }

.hi-cat-status {
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
}

.hi-cat-status--green  { color: var(--mc-green); }
.hi-cat-status--amber  { color: var(--mc-orange); }
.hi-cat-status--red    { color: #f87171; }
.hi-cat-status--purple { color: var(--mc-purple); }

.hi-cat-sparkline {
  height: 24px;
  width: 100%;
  overflow: visible;
}

.hi-cat-sparkline svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.hi-cat-movement {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 600;
}

.hi-cat-movement--up   { color: var(--mc-green); }
.hi-cat-movement--down { color: #f87171; }
.hi-cat-movement--flat { color: var(--mc-text-muted); }

/* ─── section 4: health timeline ─────────────────────────────────────── */

.hi-timeline-card {
  background: var(--mc-surface-1);
  border: 1px solid var(--mc-border);
  border-radius: var(--rds-radius-md, 14px);
  padding: 20px 24px;
  margin-top: 12px;
}

.hi-timeline-body {
  margin: 16px 0 8px;
  position: relative;
}

.hi-timeline-ruler {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.hi-timeline-ruler::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 4px;
  right: 4px;
  height: 1px;
  background: var(--mc-border);
}

.hi-timeline-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  position: relative;
  z-index: 1;
}

.hi-timeline-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--mc-surface-3);
  border: 1px solid var(--mc-border);
}

.hi-timeline-dot--active {
  background: var(--mc-purple);
  border-color: var(--mc-purple);
  box-shadow: 0 0 8px var(--mc-purple-glow);
}

.hi-timeline-dot--event {
  background: var(--mc-green);
  border-color: var(--mc-green);
  box-shadow: 0 0 6px var(--mc-green-glow);
}

/* ── Health Timeline™ interactive states ────────────────────────────────
   ht-scan-btn   — native <button> wrapper; 28×28px click target minimum
   --selected    — a historical scan is currently being viewed
   Hover scales the inner dot; selected gets outline ring.             ── */
.ht-scan-btn {
  background: none;
  border: none;
  padding: 10px;
  margin: -10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  position: relative;
  z-index: 2;
}

.ht-scan-btn:focus-visible {
  outline: 2px solid var(--mc-blue);
  outline-offset: 3px;
}

.ht-scan-btn:hover .hi-timeline-dot:not(.hi-timeline-dot--selected) {
  transform: scale(1.5);
  box-shadow: 0 0 0 2px rgba(255,255,255,0.2);
}

.hi-timeline-dot--selected {
  background: var(--mc-blue);
  border-color: var(--mc-blue);
  box-shadow: 0 0 0 2px rgba(56,189,248,0.28), 0 0 10px rgba(56,189,248,0.55);
  transform: scale(1.3);
}

/* Historical scan banner — appears below the exec header when viewing past data */
.ht-history-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 14px;
  background: rgba(56,189,248,0.07);
  border: 1px solid rgba(56,189,248,0.18);
  border-radius: 8px;
  margin-bottom: 20px;
}

.ht-history-banner-label {
  font-size: 11px;
  color: var(--mc-blue);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ht-history-banner-date {
  font-size: 12px;
  color: var(--mc-text-muted);
  font-weight: 500;
}

.ht-history-return-btn {
  font-size: 11px;
  font-weight: 600;
  color: var(--mc-blue);
  background: rgba(56,189,248,0.1);
  border: 1px solid rgba(56,189,248,0.22);
  border-radius: 6px;
  padding: 4px 10px;
  cursor: pointer;
  transition: background 0.15s ease;
  white-space: nowrap;
  flex-shrink: 0;
}

.ht-history-return-btn:hover {
  background: rgba(56,189,248,0.18);
}

/* Workspace content fade during scan swap */
#ht-main {
  transition: opacity 0.22s ease;
}

.ht-main--fading {
  opacity: 0.18 !important;
}

.hi-timeline-day-label {
  font-size: 9.5px;
  color: var(--mc-text-muted);
  letter-spacing: 0.04em;
}

.hi-timeline-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--mc-border);
}

.hi-timeline-link {
  font-size: 11px;
  color: var(--mc-purple);
  font-weight: 500;
  transition: opacity 0.15s;
}

.hi-timeline-link:hover { opacity: 0.72; }

/* ─── artist footer ───────────────────────────────────────────────────── */

.hi-artist-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 0 0;
  border-top: 1px solid var(--mc-border);
}

.hi-artist-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mc-purple-deep), var(--mc-purple));
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 600;
  color: white;
  flex-shrink: 0;
}

.hi-artist-info { flex: 1; min-width: 0; }

.hi-artist-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--mc-text);
  display: flex;
  align-items: center;
  gap: 5px;
}

.hi-artist-verified {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--mc-green);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.hi-artist-verified svg { width: 7px; height: 7px; color: white; stroke-width: 3; }

.hi-artist-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.hi-artist-action-link {
  font-size: 10.5px;
  color: var(--mc-text-muted);
  transition: color 0.15s;
}

.hi-artist-action-link:hover { color: var(--mc-text-soft); }

.hi-artist-sep {
  width: 1px;
  height: 10px;
  background: var(--mc-border);
  flex-shrink: 0;
}

/* ─── right executive panel ───────────────────────────────────────────── */

.hi-exec-panel {
  width: 300px;
  flex-shrink: 0;
  border-left: 1px solid var(--mc-border);
  background: linear-gradient(180deg, rgba(168,85,247,0.025), transparent 40%);
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.hi-panel-section {
  padding: 20px 18px;
  border-bottom: 1px solid var(--mc-border);
  flex-shrink: 0;
}

.hi-panel-section:last-child { border-bottom: none; }

/* AI section */

.hi-panel-ai-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.hi-panel-ai-title {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}

.hi-panel-live-badge {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mc-green);
}

.hi-panel-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mc-green);
  animation: hi-live-pulse 2s ease-in-out infinite;
}

@keyframes hi-live-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.35; }
}

.hi-panel-ai-logo {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, rgba(168,85,247,0.28), rgba(168,85,247,0.06) 65%, transparent);
  border: 1px solid var(--mc-border-warm);
  display: grid;
  place-items: center;
  margin: 0 auto 14px;
  font-size: 26px;
  font-weight: 300;
  color: var(--mc-purple);
  box-shadow: 0 0 28px rgba(168,85,247,0.16);
  position: relative;
}

.hi-panel-ai-logo::after {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 1px solid rgba(168,85,247,0.12);
  pointer-events: none;
}

.hi-panel-ai-complete {
  font-size: 13px;
  font-weight: 600;
  color: var(--mc-text);
  text-align: center;
  margin-bottom: 12px;
}

.hi-panel-ai-checks {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 14px;
}

.hi-panel-ai-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: var(--mc-text-soft);
}

.hi-panel-check-icon--green { color: var(--mc-green); }
.hi-panel-check-icon--amber { color: var(--mc-orange); }

.hi-panel-link {
  font-size: 11px;
  color: var(--mc-purple);
  font-weight: 500;
  transition: opacity 0.15s;
  display: block;
}

.hi-panel-link:hover { opacity: 0.72; }

/* Priority action section */

.hi-panel-priority-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.hi-panel-priority-label {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}

.hi-panel-high-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  background: rgba(251,146,60,0.1);
  border: 1px solid rgba(251,146,60,0.28);
  border-radius: 20px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mc-orange);
}

.hi-panel-action-card {
  background: var(--mc-surface-2);
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-2);
  padding: 14px;
  margin-bottom: 10px;
}

.hi-panel-action-icon-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 8px;
}

.hi-panel-action-icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: rgba(251,146,60,0.1);
  border: 1px solid rgba(251,146,60,0.22);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.hi-panel-action-icon svg { width: 14px; height: 14px; color: var(--mc-orange); }

.hi-panel-action-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--mc-text);
  line-height: 1.3;
}

.hi-panel-action-desc {
  font-size: 10.5px;
  color: var(--mc-text-muted);
  line-height: 1.5;
  margin-bottom: 10px;
}

.hi-panel-action-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.hi-panel-action-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 7px;
  background: var(--mc-surface-3);
  border: 1px solid var(--mc-border);
  border-radius: 20px;
  font-size: 9.5px;
  color: var(--mc-text-muted);
}

.hi-panel-action-cta {
  display: block;
  width: 100%;
  padding: 9px;
  background: linear-gradient(135deg, #c2410c, #ea580c);
  border: none;
  border-radius: var(--mc-r-2);
  font-size: 11.5px;
  font-weight: 700;
  color: white;
  text-align: center;
  cursor: pointer;
  transition: opacity 0.15s;
  letter-spacing: 0.03em;
}

.hi-panel-action-cta:hover { opacity: 0.86; }

/* Health summary section */

.hi-panel-summary-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3px;
}

.hi-panel-summary-label {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}

.hi-panel-summary-range {
  font-size: 10px;
  color: var(--mc-text-muted);
  margin-bottom: 14px;
}

.hi-panel-summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}

.hi-panel-summary-stat {
  background: var(--mc-surface-2);
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-2);
  padding: 10px;
}

.hi-panel-stat-num {
  font-size: 19px;
  font-weight: 700;
  color: var(--mc-text);
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

.hi-panel-stat-num--green  { color: var(--mc-green); }
.hi-panel-stat-num--purple { color: var(--mc-purple); }
.hi-panel-stat-num--orange { color: var(--mc-orange); }
.hi-panel-stat-num--muted  { color: var(--mc-text-muted); }
/* Timestamp / text-valued stat — slightly smaller than numeric, still grid-balanced */
.hi-panel-stat-num--meta   { font-size: 15px; font-weight: 600; color: var(--mc-text-soft); letter-spacing: 0; }

.hi-panel-stat-label {
  font-size: 9.5px;
  color: var(--mc-text-muted);
  margin-top: 4px;
  line-height: 1.3;
}

/* ─── responsive: collapse right panel on narrow viewports ───────────── */

@media (max-width: 1280px) {
  .hi-exec-panel { width: 260px; }
  .hi-kpi-row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1024px) {
  .hi-exec-panel { display: none; }
  .hi-category-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .hi-kpi-row { grid-template-columns: 1fr; }
  .hi-category-grid { grid-template-columns: 1fr 1fr; }
  .hi-main { padding: 20px 18px 32px; gap: 20px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   Health Intelligence™ Executive Polish Sprint™
   Phase 4 Stage 4 Board Review — visual energy & emerald identity
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── Emerald workspace identity ─────────────────────────────────────── */

.hi-breadcrumb-current { color: var(--mc-green) !important; }

.hi-section-title {
  padding-left: 8px;
  border-left: 2px solid rgba(45, 212, 191, 0.45);
}

/* top-edge emerald accent on score card */
.hi-kpi-card--score {
  border-top: 2px solid rgba(45, 212, 191, 0.42);
}

/* ─── Card depth + hover elevation ───────────────────────────────────── */

.hi-kpi-card {
  box-shadow: 0 1px 4px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.035);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  cursor: default;
}

.hi-kpi-card:hover {
  transform: translateY(-2px);
  border-color: rgba(45, 212, 191, 0.26);
  box-shadow: 0 10px 30px rgba(0,0,0,0.4), 0 0 22px rgba(45,212,191,0.06),
              inset 0 1px 0 rgba(255,255,255,0.045);
}

.hi-cat-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.22);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.hi-cat-card:hover {
  transform: translateY(-2px);
  border-color: rgba(45, 212, 191, 0.3);
  box-shadow: 0 6px 22px rgba(0,0,0,0.32), 0 0 14px rgba(45,212,191,0.05);
}

.hi-timeline-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

/* ─── Health Score ring ───────────────────────────────────────────────── */

.hi-score-ring-wrap {
  position: relative;
  width: 132px;
  height: 132px;
  margin: 6px auto 8px;
  animation: hi-ring-heartbeat 5s ease-in-out infinite;
}

@keyframes hi-ring-heartbeat {
  0%, 100% { transform: scale(1); }
  50%       { transform: scale(1.018); }
}

.hi-score-ring-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.hi-score-ring-track {
  fill: none;
  stroke: rgba(45, 212, 191, 0.09);
  stroke-width: 5;
}

.hi-score-ring-progress {
  fill: none;
  stroke: var(--mc-green);
  stroke-width: 5.5;
  stroke-linecap: round;
  /* r=40, circumference=2π×40=251.3, 89%=223.7 */
  stroke-dasharray: 224 252;
  filter: drop-shadow(0 0 8px rgba(45, 212, 191, 0.65));
  animation: hi-ring-breathe 4.5s ease-in-out infinite;
}

@keyframes hi-ring-breathe {
  0%, 100% { filter: drop-shadow(0 0 7px rgba(45,212,191,0.52)); }
  50%       { filter: drop-shadow(0 0 20px rgba(45,212,191,0.92)); }
}

.hi-score-ring-center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
}

.hi-score-ring-num {
  font-size: 36px;
  font-weight: 700;
  color: var(--mc-green);
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.03em;
}

.hi-score-ring-sub {
  font-size: 11px;
  color: var(--mc-text-muted);
}

.hi-score-meta-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 2px;
}

/* ─── Executive Status Pills™ ────────────────────────────────────────── */

.hi-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px 3px 7px;
  border-radius: 20px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  align-self: flex-start;
}

.hi-status-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
  animation: hi-status-pulse 2.5s ease-in-out infinite;
}

@keyframes hi-status-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.45; }
}

.hi-status-pill--green {
  background: rgba(45, 212, 191, 0.1);
  color: var(--mc-green);
  border: 1px solid rgba(45, 212, 191, 0.22);
}

.hi-status-pill--amber {
  background: rgba(251, 146, 60, 0.1);
  color: var(--mc-orange);
  border: 1px solid rgba(251, 146, 60, 0.22);
}

.hi-status-pill--red {
  background: rgba(248, 113, 113, 0.1);
  color: #f87171;
  border: 1px solid rgba(248, 113, 113, 0.22);
}

.hi-status-pill--purple {
  background: rgba(168, 85, 247, 0.1);
  color: var(--mc-purple);
  border: 1px solid rgba(168, 85, 247, 0.22);
}

/* ─── Executive KPI icon containers ──────────────────────────────────── */

.hi-kpi-icon-wrap {
  width: 46px;
  height: 46px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: box-shadow 0.2s ease;
}

.hi-kpi-icon-wrap svg { width: 22px; height: 22px; }

.hi-kpi-icon-wrap--green {
  background: rgba(45, 212, 191, 0.1);
  border: 1px solid rgba(45, 212, 191, 0.22);
  color: var(--mc-green);
}

.hi-kpi-card--improvement:hover .hi-kpi-icon-wrap--green {
  box-shadow: 0 0 16px rgba(45,212,191,0.28);
}

.hi-kpi-icon-wrap--orange {
  background: rgba(251, 146, 60, 0.1);
  border: 1px solid rgba(251, 146, 60, 0.22);
  color: var(--mc-orange);
}

.hi-kpi-card--risk:hover .hi-kpi-icon-wrap--orange {
  box-shadow: 0 0 16px rgba(251,146,60,0.28);
}

.hi-kpi-icon-wrap--purple {
  background: rgba(168, 85, 247, 0.1);
  border: 1px solid rgba(168, 85, 247, 0.22);
  color: var(--mc-purple);
}

.hi-kpi-card--ai:hover .hi-kpi-icon-wrap--purple {
  box-shadow: 0 0 16px rgba(168,85,247,0.28);
}

.hi-kpi-icon-wrap--violet {
  background: rgba(124, 58, 237, 0.10);
  border: 1px solid rgba(124, 58, 237, 0.18);
  color: #7c3aed;
}

.hi-kpi-card:hover .hi-kpi-icon-wrap--violet {
  box-shadow: 0 0 16px rgba(124,58,237,0.28);
}

/* ─── AI panel breathing animation ───────────────────────────────────── */

.hi-panel-ai-logo {
  animation: hi-ai-breathe 5s ease-in-out infinite;
}

@keyframes hi-ai-breathe {
  0%, 100% {
    box-shadow: 0 0 20px rgba(168,85,247,0.14);
    border-color: rgba(168,85,247,0.22);
  }
  50% {
    box-shadow: 0 0 40px rgba(168,85,247,0.34), 0 0 70px rgba(168,85,247,0.12);
    border-color: rgba(168,85,247,0.44);
  }
}

.hi-panel-ai-logo::after {
  animation: hi-ai-ring-expand 5s ease-in-out infinite;
}

@keyframes hi-ai-ring-expand {
  0%, 100% { transform: scale(1);    opacity: 0.12; }
  50%       { transform: scale(1.07); opacity: 0.26; }
}

/* ─── Priority action CTA strengthened ───────────────────────────────── */

.hi-panel-action-cta {
  background: linear-gradient(135deg, #b91c1c 0%, #dc2626 45%, #ea580c 100%);
  box-shadow: 0 3px 14px rgba(234, 88, 12, 0.32);
  transition: opacity 0.15s, box-shadow 0.15s, transform 0.15s;
}

.hi-panel-action-cta:hover {
  opacity: 1;
  box-shadow: 0 6px 22px rgba(234, 88, 12, 0.48);
  transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════════════════
   Health Intelligence™ Executive Polish Amendment #001
   — Replace Streaming with Change Detection™
   — 6 official departments, navigation cards, progress bars
   ═══════════════════════════════════════════════════════════════════════ */

/* 6-column department grid (overrides 5-column base) */
.hi-category-grid {
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}


/* ─── Animated progress bars ─────────────────────────────────────────── */

.hi-cat-progress {
  height: 2px;
  background: rgba(255, 255, 255, 0.07);
  border-radius: 2px;
  overflow: hidden;
}

.hi-cat-progress-fill {
  height: 100%;
  width: 0;
  border-radius: 2px;
  animation: hi-bar-fill 1.2s ease-out 0.35s forwards;
}

@keyframes hi-bar-fill {
  from { width: 0; }
  to   { width: var(--pct, 0%); }
}

.hi-cat-progress-fill--green  { background: var(--mc-green); }
.hi-cat-progress-fill--purple { background: var(--mc-purple); }
.hi-cat-progress-fill--amber  { background: var(--mc-orange); }
.hi-cat-progress-fill--red    { background: #f87171; }
.hi-cat-progress-fill--blue   { background: var(--mc-blue); }

/* ─── Change Detection™ color tokens ─────────────────────────────────── */

.hi-cat-score-num--blue { color: var(--mc-blue); }

.hi-status-pill--blue {
  background: rgba(56, 189, 248, 0.1);
  color: var(--mc-blue);
  border: 1px solid rgba(56, 189, 248, 0.22);
}

/* ─── Responsive: 6-col → 3-col at ≤1280px ──────────────────────────── */

@media (max-width: 1280px) {
  .hi-category-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   Health Intelligence™ Executive Polish Amendment #002
   — Biggest Risk™ alert icon: soft amber pulse
   ═══════════════════════════════════════════════════════════════════════ */

/* Pulse once every 3 s: 0–17% rise, 17–34% fall, 34–100% rest */
.hi-risk-alert-icon {
  animation: hi-risk-pulse 3s ease-in-out infinite;
  transition: none;
}

@keyframes hi-risk-pulse {
  0%, 34%, 100% {
    transform: scale(1);
    box-shadow: none;
    background: rgba(251, 146, 60, 0.10);
    border-color: rgba(251, 146, 60, 0.22);
  }
  17% {
    transform: scale(1.06);
    box-shadow: 0 0 14px rgba(251, 146, 60, 0.48),
                0 0 28px rgba(251, 146, 60, 0.18);
    background: rgba(251, 146, 60, 0.20);
    border-color: rgba(251, 146, 60, 0.58);
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   Identity Intelligence™ Workspace — ii-* namespace
   Color identity: Purple (--mc-purple: #a855f7)
   Reuses: hi-main, hi-kpi-row/card/label/icon-wrap, hi-status-pill,
           hi-score-meta-row, hi-date-selector, hi-artist-*, hi-exec-panel,
           hi-panel-*, hi-risk-alert-icon
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Block 1: Breadcrumb accent + section headers + exec header ────── */

.ii-breadcrumb-current { color: var(--mc-purple) !important; }

.ii-section-header { display: flex; align-items: center; justify-content: space-between; }

.ii-section-title {
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--mc-text-soft); padding-left: 8px; border-left: 2px solid rgba(168,85,247,0.45);
}

.ii-exec-header {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
  background: var(--mc-surface-2); border: 1px solid var(--mc-border);
  border-radius: 10px; padding: 20px 24px;
}

.ii-exec-artist-block { display: flex; align-items: flex-start; gap: 16px; flex: 1; min-width: 0; }

.ii-artist-avatar {
  width: 72px; height: 72px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, rgba(168,85,247,0.28), rgba(109,40,217,0.18));
  border: 2px solid rgba(168,85,247,0.42);
  display: grid; place-items: center;
  font-size: 22px; font-weight: 800; color: var(--mc-purple); letter-spacing: -0.03em;
  box-shadow: 0 0 22px rgba(168,85,247,0.16), inset 0 1px 0 rgba(255,255,255,0.06);
  position: relative; overflow: hidden;
}

.ii-artist-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; border-radius: inherit;
  opacity: 0; transition: opacity 0.35s ease;
}

.ii-artist-img.ii--loaded { opacity: 1; }

.ii-exec-title-block { display: flex; flex-direction: column; gap: 4px; min-width: 0; }

.ii-exec-eyebrow {
  font-size: 10px; font-weight: 700; letter-spacing: 0.1em;
  color: var(--mc-purple); text-transform: uppercase;
}

.ii-exec-heading {
  font-size: 22px; font-weight: 700; color: var(--mc-text);
  line-height: 1.15; letter-spacing: -0.03em; margin: 0;
}

.ii-exec-desc { font-size: 12px; color: var(--mc-text-muted); line-height: 1.5; }

.ii-exec-genre-row { display: none; }

.ii-genre-tag {
  display: inline-flex; padding: 3px 10px; border-radius: 20px;
  font-size: 10px; font-weight: 600; letter-spacing: 0.04em;
  background: rgba(168,85,247,0.1); color: var(--mc-purple); border: 1px solid rgba(168,85,247,0.24);
}

.ii-exec-meta-row { display: flex; align-items: center; gap: 10px; margin-top: 6px; }

.ii-exec-updated { display: flex; align-items: center; gap: 5px; font-size: 11px; color: var(--mc-text-muted); }

.ii-exec-updated-dot {
  width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
  background: #22c55e; box-shadow: 0 0 6px rgba(34,197,94,0.55);
}

/* ── Block 2: KPI Coverage™ hero card + ring animation + KPI numbers ─ */

.ii-kpi-card--coverage {
  background: linear-gradient(145deg, rgba(168,85,247,0.09), rgba(168,85,247,0.03));
  border-color: rgba(168,85,247,0.22);
  border-top: 2px solid rgba(168,85,247,0.42);
}

.ii-coverage-ring-wrap { position: relative; width: 116px; height: 116px; margin: 4px auto 6px; }

.ii-coverage-ring-svg { width: 100%; height: 100%; transform: rotate(-90deg); }

.ii-coverage-ring-track { fill: none; stroke: rgba(168,85,247,0.09); stroke-width: 5; }

.ii-coverage-ring-progress {
  fill: none; stroke: var(--mc-purple); stroke-width: 5; stroke-linecap: round;
  stroke-dasharray: 0 252;
  filter: drop-shadow(0 0 6px rgba(168,85,247,0.55));
  animation: ii-ring-fill 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) 0.15s forwards;
}

@keyframes ii-ring-fill { to { stroke-dasharray: 231 252; } }

.ii-coverage-ring-center {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 1px;
}

.ii-coverage-ring-num {
  font-size: 32px; font-weight: 700; color: var(--mc-purple);
  line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -0.03em;
}

.ii-coverage-ring-pct { font-size: 13px; font-weight: 600; color: var(--mc-text-muted); }

/* KPI number + fraction row — shared across Identity, Publishing, Catalog cards */
.ii-kpi-num-row {
  display: flex;
  align-items: baseline;
  gap: 2px;
  margin-top: 4px;
}

.ii-kpi-big-num {
  font-size: 44px; font-weight: 800; color: var(--mc-text);
  line-height: 1; letter-spacing: -0.04em; font-variant-numeric: tabular-nums;
}

.ii-kpi-big-num--purple { color: var(--mc-purple); }
.ii-kpi-big-num--amber  { color: var(--mc-orange); }

.ii-kpi-fraction { font-size: 20px; font-weight: 600; color: var(--mc-text-muted); letter-spacing: -0.02em; margin-left: 2px; }

.ii-kpi-status-text { font-size: 11px; font-weight: 600; margin-top: 2px; }
.ii-kpi-status-text--green   { color: var(--mc-green); }
.ii-kpi-status-text--amber   { color: var(--mc-orange); }
.ii-kpi-status-text--purple  { color: var(--mc-purple); }
.ii-kpi-status-text--violet  { color: #7c3aed; }
.ii-kpi-status-text--crimson { color: #e11d48; }

.ii-kpi-caption { font-size: 10px; color: var(--mc-text-muted); line-height: 1.4; }

/* ── Block 3: Core Identity Platform Cards ────────────────────────── */

.ii-platform-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }

.ii-platform-card {
  display: flex; flex-direction: column; align-items: center; gap: 7px;
  padding: 15px 8px 12px;
  background: var(--mc-surface-1); border: 1px solid var(--mc-border); border-radius: 10px;
  color: inherit; text-align: center;
  box-shadow: 0 1px 3px rgba(0,0,0,0.24);
}

.ii-platform-icon {
  width: 46px; height: 46px; border-radius: 11px;
  display: grid; place-items: center; overflow: hidden; flex-shrink: 0;
}

.ii-platform-icon img { width: 100%; height: 100%; object-fit: cover; border-radius: 9px; }

.ii-platform-icon--svg {
  background: rgba(168,85,247,0.1); border: 1px solid rgba(168,85,247,0.22); color: var(--mc-purple);
}

.ii-platform-icon--svg svg { width: 22px; height: 22px; }

.ii-platform-name { font-size: 10px; font-weight: 600; color: var(--mc-text); line-height: 1.3; }

.ii-platform-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: 20px; font-size: 9px; font-weight: 700; letter-spacing: 0.04em;
}

.ii-platform-badge--verified        { background: rgba(45,212,191,0.1);  color: var(--mc-green);  border: 1px solid rgba(45,212,191,0.22);  }
.ii-platform-badge--needs-attention { background: rgba(251,191,36,0.1);   color: #fbbf24;          border: 1px solid rgba(251,191,36,0.25);  }
.ii-platform-badge--action-required { background: rgba(248,113,113,0.1);  color: #f87171;          border: 1px solid rgba(248,113,113,0.25); }
.ii-platform-badge--unclaimed       { background: rgba(251,146,60,0.1);   color: var(--mc-orange); border: 1px solid rgba(251,146,60,0.22);  }

/* ── Action Path™ — universal framework for identity resolution actions ── */

.ii-action-path {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  padding-top: 4px;
}

.ii-action-path-platform {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--mc-text);
  line-height: 1.3;
}

.ii-action-path-desc {
  font-size: 10px;
  color: var(--mc-text-muted);
  line-height: 1.55;
}

.ii-action-path-cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 12px;
  background: rgba(248,113,113,0.08);
  border: 1px solid rgba(248,113,113,0.28);
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
  color: #f87171;
  text-decoration: none;
  letter-spacing: 0.05em;
  transition: background 0.15s, border-color 0.15s;
  align-self: flex-start;
  margin-top: auto;
}

.ii-action-path-cta:hover {
  background: rgba(248,113,113,0.15);
  border-color: rgba(248,113,113,0.48);
}

.ii-platform-label { font-size: 8.5px; color: var(--mc-text-muted); }

.ii-platform-confidence { font-size: 16px; font-weight: 700; color: var(--mc-purple); line-height: 1.2; letter-spacing: -0.02em; }
.ii-platform-confidence--muted { color: var(--mc-text-muted); font-size: 13px; }

.ii-platform-sub { font-size: 9px; color: var(--mc-text-muted); }

/* ── Enriched platform card layout ────────────────────────────────── */

.ii-platform-card-top {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.ii-platform-card-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-width: 0;
}

.ii-platform-card-stats {
  display: flex;
  gap: 20px;
  margin-top: 10px;
}

.ii-platform-lastsync {
  font-size: 11px;
  font-weight: 500;
  color: var(--mc-text-soft);
  margin-top: 2px;
}

.ii-platform-cta {
  display: inline-block;
  margin-top: 12px;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 5px;
  padding: 6px 12px;
  transition: opacity 0.15s;
  align-self: flex-start;
}

.ii-platform-cta--view {
  color: var(--mc-purple);
  background: rgba(168,85,247,0.08);
  border: 1px solid rgba(168,85,247,0.2);
}

.ii-platform-cta--view:hover { opacity: 0.8; }

.ii-platform-cta--action {
  color: #f87171;
  background: rgba(248,113,113,0.08);
  border: 1px solid rgba(248,113,113,0.22);
}

.ii-platform-cta--action:hover { opacity: 0.8; }

.ii-platform-card--alert {
  border-color: rgba(248,113,113,0.22);
}

/* ── Identity Layout Refinement™ + One-Screen Optimization™ ─────── */

/* Section column: tighter top/bottom padding, tighter gap between sections */
.ws-dept--identity .hi-main {
  padding: 14px 32px 20px;
  gap: 14px;
}

/* Executive header: shorten internal padding, shrink avatar */
.ws-dept--identity .ii-exec-header {
  padding: 12px 18px;
}

.ws-dept--identity .ii-artist-avatar {
  width: 56px;
  height: 56px;
  font-size: 17px;
}

/* KPI row: 3 equal columns, tighter card padding */
.ws-dept--identity .hi-kpi-row {
  grid-template-columns: repeat(3, 1fr);
}

.ws-dept--identity .hi-kpi-card {
  padding: 14px;
  gap: 6px;
}

/* Identity Presence™ ring: 116px → 90px */
.ws-dept--identity .ii-coverage-ring-wrap {
  width: 90px;
  height: 90px;
  margin: 2px auto 4px;
}

.ws-dept--identity .ii-coverage-ring-num { font-size: 26px; }
.ws-dept--identity .ii-coverage-ring-pct { font-size: 11px; }

/* Verified Platforms™ big number */
.ws-dept--identity .ii-kpi-big-num { font-size: 36px; }
.ws-dept--identity .ii-kpi-fraction { font-size: 17px; }

/* Section header — no extra margin needed; hi-main gap handles it */
.ws-dept--identity .ii-section-header { margin-bottom: 0; }

/* Platform grid: 3 columns, compressed card padding */
.ws-dept--identity .ii-platform-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.ws-dept--identity .ii-platform-card {
  display: flex;
  flex-direction: column;
  padding: 12px 14px;
}

.ws-dept--identity .ii-platform-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}

.ws-dept--identity .ii-platform-name {
  font-size: 12px;
}

.ws-dept--identity .ii-platform-card-stats {
  margin-top: 7px;
}

.ws-dept--identity .ii-platform-cta {
  margin-top: 8px;
  padding: 5px 10px;
}

/* Identity Snapshot™ — compressed header + body */
.ws-dept--identity .ii-card-header {
  padding: 9px 14px 8px;
}

.ws-dept--identity .ii-snapshot-body {
  padding: 10px 14px;
  gap: 12px;
}

.ws-dept--identity .ii-snapshot-art {
  width: 72px;
  height: 72px;
}

.ws-dept--identity .ii-snapshot-table {
  gap: 5px;
}

/* ── Block 4: Identity Snapshot™ ──────────────────────────────────── */

.ii-card-header { display: flex; align-items: center; gap: 8px; padding: 14px 18px 12px; border-bottom: 1px solid var(--mc-border-soft); }
.ii-card-header-icon { width: 16px; height: 16px; color: var(--mc-purple); flex-shrink: 0; }
.ii-card-header-title { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mc-text-soft); }

.ii-snapshot-card { background: var(--mc-surface-1); border: 1px solid var(--mc-border); border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; }

.ii-snapshot-body { display: flex; gap: 14px; padding: 14px 18px; flex: 1; }

.ii-snapshot-art {
  width: 88px; height: 88px; border-radius: 8px; flex-shrink: 0;
  background: linear-gradient(145deg, rgba(168,85,247,0.28), rgba(20,6,50,0.9));
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 7px 8px; overflow: hidden; position: relative;
}

.ii-snapshot-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; border-radius: inherit;
  opacity: 0; transition: opacity 0.35s ease;
}

.ii-snapshot-img.ii--loaded { opacity: 1; }

.ii-snapshot-art-text { font-size: 7.5px; font-weight: 700; color: rgba(255,255,255,0.78); letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.4; }

.ii-snapshot-table { display: flex; flex-direction: column; gap: 7px; flex: 1; min-width: 0; }

.ii-snapshot-row { display: flex; gap: 10px; align-items: flex-start; }

.ii-snapshot-key { font-size: 10px; color: var(--mc-text-muted); flex-shrink: 0; width: 92px; padding-top: 1px; }

.ii-snapshot-val { font-size: 11px; font-weight: 500; color: var(--mc-text); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ii-snapshot-genre-row { display: flex; flex-wrap: wrap; gap: 4px; }

.ii-snapshot-genre-tag { display: inline-flex; padding: 2px 7px; border-radius: 12px; font-size: 9px; font-weight: 600; background: rgba(168,85,247,0.1); color: var(--mc-purple); border: 1px solid rgba(168,85,247,0.2); }

.ii-sync-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #22c55e; margin-left: 5px; vertical-align: middle; box-shadow: 0 0 4px rgba(34,197,94,0.5); }


/* ── Block 5: Responsive ───────────────────────────────────────────── */

@media (max-width: 1280px) {
  .ii-platform-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
}

@media (max-width: 1024px) {
  .ii-exec-header   { flex-direction: column; }
  .ii-platform-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ═══════════════════════════════════════════════════════════════════════
   Ambient Module Elevation™ — Health Intelligence™
   Dept class: .ws-dept--health  /  Accent: Emerald (#2dd4bf)
   Glow: very low opacity, large blur, feathers outside the card edge.
   ═══════════════════════════════════════════════════════════════════════ */

/* Two-card KPI row after removal of Improvement + Risk cards */
.ws-dept--health .hi-kpi-row {
  grid-template-columns: 1.2fr 1fr;
}

/* Default card ambience */
.ws-dept--health .hi-kpi-card {
  box-shadow: 0 1px 4px rgba(0,0,0,0.28),
              inset 0 1px 0 rgba(255,255,255,0.035),
              0 0 44px rgba(45,212,191,0.07);
}

/* Score card — elevated bloom so it commands the most attention */
.ws-dept--health .hi-kpi-card--score {
  box-shadow: 0 2px 8px rgba(0,0,0,0.32),
              inset 0 1px 0 rgba(255,255,255,0.05),
              0 0 60px rgba(45,212,191,0.14),
              0 0 120px rgba(45,212,191,0.06);
  border-color: rgba(45,212,191,0.28);
}

/* ATHENA coverage — more secondary, muted */
.ws-dept--health .hi-monitoring-coverage-title {
  opacity: 0.65;
}
.ws-dept--health .hi-monitoring-coverage-item {
  font-size: 10px;
  opacity: 0.8;
}

/* ── Executive Summary Compression™ ────────────────────────────────────
   Health Score™ + ATHENA Monitoring™ cards compressed ~30–35%.
   All overrides scoped to .ws-dept--health — no other module affected.
   ────────────────────────────────────────────────────────────────────── */

/* Health Score™ card — horizontal ring+meta layout */
.ws-dept--health .hi-kpi-card--score {
  padding: 14px;
  gap: 10px;
}
.ws-dept--health .hi-score-body {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
}
.ws-dept--health .hi-score-ring-wrap {
  width: 100px;
  height: 100px;
  margin: 0;
  flex-shrink: 0;
}
.ws-dept--health .hi-score-ring-num  { font-size: 28px; }
.ws-dept--health .hi-score-ring-sub  { font-size: 9.5px; }
.ws-dept--health .hi-score-meta-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  flex: 1;
  margin-top: 0;
}

/* Health Breakdown™ — horizontal columns */
.ws-dept--health .hi-kpi-breakdown        { gap: 0; margin-top: 2px; padding-top: 6px; }
.ws-dept--health .hi-kpi-breakdown-title  { margin-bottom: 6px; }
.ws-dept--health .hi-kpi-breakdown-cols {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.ws-dept--health .hi-kpi-breakdown-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex: 1;
}
.ws-dept--health .hi-kpi-breakdown-col-label {
  font-size: 9px;
  color: var(--mc-text-muted);
  text-align: center;
}
.ws-dept--health .hi-kpi-breakdown-col .hi-kpi-breakdown-val {
  font-size: 20px;
  font-weight: 700;
}

/* ATHENA Monitoring™ card — two-column internal layout */
.ws-dept--health .hi-kpi-card--ai {
  padding: 0;
  gap: 0;
  flex-direction: row;
}
.ws-dept--health .hi-athena-left {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  padding: 14px 16px;
}
.ws-dept--health .hi-athena-right {
  flex-shrink: 0;
  width: 180px;
  border-left: 1px solid var(--mc-border);
  padding: 14px 16px;
}
.ws-dept--health .hi-kpi-athena-brief { margin-top: 0; }
.ws-dept--health .hi-monitoring-coverage     { gap: 2px; margin-top: 2px; }
.ws-dept--health .hi-monitoring-coverage-list { gap: 2px; }

.ws-dept--health .hi-cat-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.22),
              0 0 38px rgba(45,212,191,0.06);
}

.ws-dept--health .hi-timeline-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.22),
              0 0 36px rgba(45,212,191,0.05);
}

.ws-dept--health .hi-exec-header {
  box-shadow: 0 0 40px rgba(45,212,191,0.05);
}

/* Hover — amplify glow, keep transform + border-color from base rule */
.ws-dept--health .hi-kpi-card:hover {
  box-shadow: 0 10px 30px rgba(0,0,0,0.38),
              0 0 60px rgba(45,212,191,0.13),
              inset 0 1px 0 rgba(255,255,255,0.045);
}

.ws-dept--health .hi-cat-card:hover {
  box-shadow: 0 6px 22px rgba(0,0,0,0.30),
              0 0 52px rgba(45,212,191,0.12);
}

/* Right panel — very soft left-edge glow, reinforces the panel as floating */
.ws-dept--health .hi-exec-panel {
  box-shadow: -1px 0 40px rgba(45,212,191,0.04);
}

/* ═══════════════════════════════════════════════════════════════════════
   Ambient Module Elevation™ — Identity Intelligence™
   Dept class: .ws-dept--identity  /  Accent: Purple (#a855f7)
   ═══════════════════════════════════════════════════════════════════════ */

/* Default card ambience */
.ws-dept--identity .hi-kpi-card {
  box-shadow: 0 1px 4px rgba(0,0,0,0.28),
              inset 0 1px 0 rgba(255,255,255,0.035),
              0 0 44px rgba(168,85,247,0.07);
}

.ws-dept--identity .ii-platform-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.24),
              0 0 38px rgba(168,85,247,0.06);
}

.ws-dept--identity .ii-snapshot-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.22),
              0 0 36px rgba(168,85,247,0.06);
}

.ws-dept--identity .ii-exec-header {
  box-shadow: 0 0 40px rgba(168,85,247,0.05);
}

/* Hover — amplify glow */
.ws-dept--identity .hi-kpi-card:hover {
  box-shadow: 0 10px 30px rgba(0,0,0,0.38),
              0 0 60px rgba(168,85,247,0.13),
              inset 0 1px 0 rgba(255,255,255,0.045);
}

/* ═══════════════════════════════════════════════════════════════════════
   Publishing Intelligence™ Workspace — pi-* namespace
   Royal Violet: #7c3aed
   ═══════════════════════════════════════════════════════════════════════ */

.pi-breadcrumb-current { color: #7c3aed !important; }

.pi-section-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 4px;
}
.pi-section-title {
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--mc-text);
  padding-left: 8px; border-left: 2px solid rgba(124,58,237,0.45);
}

.pi-kpi-label--violet {
  color: #7c3aed;
  background: rgba(124,58,237,0.10);
  border-color: rgba(124,58,237,0.25);
}

.pi-exec-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px; padding: 20px 24px;
  background: linear-gradient(135deg, rgba(124,58,237,0.06), rgba(124,58,237,0.02));
  border: 1px solid rgba(124,58,237,0.14);
  border-top: 2px solid rgba(124,58,237,0.38);
  border-radius: 10px; margin-bottom: 16px;
}
.pi-exec-title-block { flex: 1; }
.pi-exec-eyebrow {
  font-size: 10px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: #7c3aed; margin-bottom: 4px;
}
.pi-exec-heading {
  font-size: 22px; font-weight: 800; letter-spacing: -0.02em;
  color: var(--mc-text); margin: 0 0 6px;
  text-shadow: 0 0 30px rgba(124,58,237,0.18);
}
.pi-exec-desc { font-size: 13px; color: var(--mc-text-muted); margin-bottom: 8px; }
.pi-exec-meta-row { display: flex; align-items: center; gap: 12px; }
.pi-exec-updated {
  display: flex; align-items: center; gap: 5px;
  font-size: 11px; color: var(--mc-text-subtle);
}
.pi-exec-updated-dot {
  width: 6px; height: 6px; border-radius: 50%; background: #7c3aed; opacity: 0.7;
}



/* Risk indicator — Potential Royalty Impact™ Executive Signature™ */
.pi-risk-indicator {
  display: flex; gap: 4px; align-items: stretch;
  margin: 10px 0 6px; width: 100%;
}
.pi-risk-step {
  flex: 1; padding: 8px 4px; text-align: center;
  font-size: 9px; font-weight: 700; letter-spacing: 0.07em;
  text-transform: uppercase; border-radius: 5px;
}
.pi-risk-step--inactive {
  background: var(--mc-surface-2); color: var(--mc-text-subtle);
  border: 1px solid var(--mc-border-soft);
}
.pi-risk-step--active.pi-risk-step--moderate {
  background: rgba(251,146,60,0.15); color: var(--mc-orange);
  border: 1px solid rgba(251,146,60,0.35);
  animation: pi-risk-pulse 2.5s ease-in-out infinite;
}
@keyframes pi-risk-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(251,146,60,0); }
  50% { box-shadow: 0 0 14px 3px rgba(251,146,60,0.28); }
}

/* Potential Royalty Impact™ hero card */
.pi-kpi-card--impact {
  background: linear-gradient(145deg, rgba(251,146,60,0.09), rgba(124,58,237,0.04));
  border-color: rgba(251,146,60,0.22);
  border-top: 2px solid rgba(251,146,60,0.48);
}
.pi-kpi-card--athena-trigger {
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.pi-kpi-card--athena-trigger:hover {
  border-color: rgba(251,146,60,0.42);
  box-shadow: 0 0 32px rgba(251,146,60,0.14);
}
.pi-impact-risk-label {
  font-size: 16px; font-weight: 800; letter-spacing: 0.04em;
  text-transform: uppercase; text-align: center; margin-top: 2px;
}
.pi-impact-risk-label--moderate { color: var(--mc-orange); }
.pi-impact-risk-label--low { color: var(--mc-green); }
.pi-impact-risk-label--high { color: #ef4444; }
.pi-impact-desc {
  font-size: 11px; color: var(--mc-text-muted);
  text-align: center; margin: 4px 0;
}

/* Core Publishing Systems grid */
.pi-system-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 10px; margin-top: 12px;
}
.pi-system-card {
  display: flex; flex-direction: column; align-items: flex-start;
  padding: 14px 14px 12px;
  background: var(--mc-surface-1); border: 1px solid var(--mc-border-soft);
  border-radius: 10px; text-decoration: none; cursor: pointer;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.pi-system-card:hover {
  border-color: rgba(124,58,237,0.30); transform: translateY(-1px);
}
.pi-system-card:hover .pi-system-icon-wrap {
  background: rgba(124,58,237,0.20);
  box-shadow: 0 0 14px rgba(124,58,237,0.32);
}
.pi-system-icon-wrap {
  width: 36px; height: 36px; border-radius: 8px;
  background: rgba(124,58,237,0.10); border: 1px solid rgba(124,58,237,0.18);
  display: flex; align-items: center; justify-content: center;
  color: #7c3aed; margin-bottom: 8px; flex-shrink: 0;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
.pi-system-icon-wrap svg { width: 18px; height: 18px; }
.pi-system-icon-wrap--attention {
  background: rgba(255,160,0,0.10); border-color: rgba(255,160,0,0.24);
  color: #FFA000;
}
.pi-system-name {
  font-size: 12px; font-weight: 700; color: var(--mc-text);
  letter-spacing: 0.01em; margin-bottom: 2px;
}
.pi-system-sub { font-size: 10px; color: var(--mc-text-subtle); margin-bottom: 6px; }
.pi-system-badge {
  font-size: 9px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; padding: 2px 6px; border-radius: 3px;
}
.pi-system-badge--active {
  background: rgba(45,212,191,0.12); color: var(--mc-green);
  border: 1px solid rgba(45,212,191,0.20);
}
.pi-system-badge--attention {
  background: rgba(255,160,0,0.12); color: #FFA000;
  border: 1px solid rgba(255,160,0,0.22);
}
.pi-system-badge--verified {
  background: rgba(124,58,237,0.10); color: #7c3aed;
  border: 1px solid rgba(124,58,237,0.20);
}
.pi-system-works { font-size: 10px; color: var(--mc-text-subtle); margin-top: 4px; }

/* Electric Amber Attention State — #FFA000 — Core Publishing System Cards */
@keyframes pi-amber-surge {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,160,0,0); border-color: rgba(255,160,0,0.22); }
  50%       { box-shadow: 0 0 14px 3px rgba(255,160,0,0.16); border-color: rgba(255,160,0,0.42); }
}

.pi-system-card--attention {
  border-color: rgba(255,160,0,0.22);
  background: linear-gradient(145deg, rgba(255,160,0,0.04), var(--mc-surface-1));
  animation: pi-amber-surge 4s ease-in-out infinite;
}
.pi-system-card--attention:hover .pi-system-icon-wrap {
  background: rgba(255,160,0,0.18);
  box-shadow: 0 0 14px rgba(255,160,0,0.28);
}
.pi-system-badge--amber {
  background: rgba(255,160,0,0.10); color: #FFA000;
  border: 1px solid rgba(255,160,0,0.24);
}
.pi-system-action-cta {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 5px 10px; background: rgba(255,160,0,0.07);
  border: 1px solid rgba(255,160,0,0.26); border-radius: 5px;
  font-size: 9.5px; font-weight: 700; color: #FFA000;
  text-decoration: none; letter-spacing: 0.04em; margin-top: 8px;
  transition: background 0.15s, border-color 0.15s;
}
.pi-system-action-cta:hover { background: rgba(255,160,0,0.15); border-color: rgba(255,160,0,0.46); }


.pi-card-header {
  display: flex; align-items: center; gap: 7px;
  padding: 12px 14px 10px; border-bottom: 1px solid var(--mc-border-soft);
}
.pi-card-header-icon { width: 14px; height: 14px; color: #7c3aed; flex-shrink: 0; }
.pi-card-header-title {
  font-size: 11px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--mc-text);
}



.pi-activity-card {
  background: var(--mc-surface-1); border: 1px solid var(--mc-border-soft);
  border-top: 2px solid rgba(124,58,237,0.30);
  border-radius: 10px; overflow: hidden; margin-top: 12px;
}
.pi-activity-body { padding: 8px 14px 2px; }
.pi-activity-item {
  display: flex; gap: 10px; align-items: flex-start; padding: 6px 0;
  border-bottom: 1px solid var(--mc-border-soft);
}
.pi-activity-item:last-child { border-bottom: none; }
.pi-activity-dot-col { padding-top: 3px; flex-shrink: 0; }
.pi-activity-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.pi-activity-dot--green  { background: var(--mc-green); }
.pi-activity-dot--violet { background: #7c3aed; }
.pi-activity-dot--amber  { background: var(--mc-orange); }
.pi-activity-dot--muted  { background: var(--mc-border); }
.pi-activity-text { font-size: 12px; color: var(--mc-text); line-height: 1.4; }
.pi-activity-time { font-size: 10px; color: var(--mc-text-subtle); margin-top: 1px; }
.pi-activity-footer { padding: 8px 14px 10px; border-top: 1px solid var(--mc-border-soft); }
.pi-activity-link {
  font-size: 11px; color: #7c3aed; text-decoration: none; opacity: 0.85;
  transition: opacity 0.15s;
}
.pi-activity-link:hover { opacity: 1; }

/* ═══════════════════════════════════════════════════════════════════════
   Ambient Module Elevation™ — Publishing Intelligence™
   Dept class: .ws-dept--publishing  /  Accent: Royal Violet (#7c3aed)
   ═══════════════════════════════════════════════════════════════════════ */

.ws-dept--publishing .hi-kpi-card {
  box-shadow: 0 1px 4px rgba(0,0,0,0.28),
              inset 0 1px 0 rgba(255,255,255,0.035),
              0 0 44px rgba(124,58,237,0.07);
}
.ws-dept--publishing .pi-system-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.24),
              0 0 38px rgba(124,58,237,0.06);
}
.ws-dept--publishing .pi-activity-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.22),
              0 0 36px rgba(124,58,237,0.06);
}
.ws-dept--publishing .pi-exec-header {
  box-shadow: 0 0 40px rgba(124,58,237,0.05);
}
.ws-dept--publishing .hi-kpi-card:hover {
  box-shadow: 0 10px 30px rgba(0,0,0,0.38),
              0 0 60px rgba(124,58,237,0.13),
              inset 0 1px 0 rgba(255,255,255,0.045);
}
.ws-dept--publishing .pi-system-card:hover {
  box-shadow: 0 6px 22px rgba(0,0,0,0.30),
              0 0 52px rgba(124,58,237,0.12);
}
/* .ws-dept--publishing .hi-exec-panel — removed (sidebar gone) */

/* Unknown state — document intelligence invitation */
.pi-system-card--unknown {
  border-color: rgba(148,163,184,0.18);
  background: var(--mc-surface-1);
}
.pi-system-card--unknown:hover {
  border-color: rgba(124,58,237,0.28);
}
.pi-system-icon-wrap--unknown {
  background: rgba(148,163,184,0.08); border-color: rgba(148,163,184,0.18);
  color: var(--mc-text-subtle);
}
.pi-system-badge--unknown {
  background: rgba(148,163,184,0.08); color: var(--mc-text-subtle);
  border: 1px solid rgba(148,163,184,0.20);
}
.pi-system-action-cta--connect {
  background: rgba(124,58,237,0.07); border-color: rgba(124,58,237,0.22);
  color: #7c3aed;
}
.pi-system-action-cta--connect:hover {
  background: rgba(124,58,237,0.14); border-color: rgba(124,58,237,0.42);
}

/* Publishing dept typography — KPI Typography Standardization™ */
.ws-dept--publishing .ii-kpi-big-num   { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; }
.ws-dept--publishing .ii-kpi-fraction  { font-size: 12px; font-weight: 600; }
.ws-dept--publishing .ii-kpi-status-text { font-size: 10px; font-weight: 500; }
.ws-dept--publishing .ii-kpi-caption   { font-size: 9.5px; }
.ws-dept--publishing .pi-impact-risk-label { font-size: 13px; font-weight: 700; }

/* ── Publishing One-Screen Optimization™ ─────────────────────────── */

/* Tighter main column: less padding, tighter section gaps */
.ws-dept--publishing .hi-main {
  padding: 14px 32px 20px;
  gap: 14px;
}

/* Executive header: reduce padding, remove bottom margin (gap handles it) */
.ws-dept--publishing .pi-exec-header {
  padding: 12px 18px;
  margin-bottom: 0;
}

/* KPI cards: reduce padding ~20% */
.ws-dept--publishing .hi-kpi-card {
  padding: 14px;
  gap: 6px;
}

/* System grid: tighten gap */
.ws-dept--publishing .pi-system-grid {
  gap: 8px;
  margin-top: 8px;
}

/* Core Publishing System cards: reduce padding ~22% */
.ws-dept--publishing .pi-system-card {
  padding: 10px 12px 8px;
}

.ws-dept--publishing .pi-system-icon-wrap {
  margin-bottom: 6px;
}

.ws-dept--publishing .pi-system-sub {
  margin-bottom: 3px;
}

.ws-dept--publishing .pi-system-works {
  margin-top: 2px;
}

.ws-dept--publishing .pi-system-action-cta {
  margin-top: 6px;
  padding: 4px 8px;
}

/* Exec header: icon + title side by side */
.pi-exec-icon-block {
  flex-shrink: 0;
}

.pi-exec-icon {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(124,58,237,0.22), rgba(124,58,237,0.10));
  border: 1px solid rgba(124,58,237,0.32);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7c3aed;
  box-shadow: 0 0 20px rgba(124,58,237,0.18), inset 0 1px 0 rgba(255,255,255,0.06);
}

.pi-exec-icon svg { width: 28px; height: 28px; }

/* Card header with sub-label */
.pi-card-header-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.pi-card-header-sub {
  font-size: 10px;
  color: var(--mc-text-muted);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

/* Publishing Activity™ — stat columns */
.pi-activity-stats {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  padding: 14px 14px 10px;
  flex: 1;
}

.pi-activity-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.pi-activity-stat-num {
  font-size: 32px;
  font-weight: 800;
  color: var(--mc-text);
  line-height: 1;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}

.pi-activity-stat-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--mc-text-soft);
}

.pi-activity-stat-sub {
  font-size: 9.5px;
  color: var(--mc-text-muted);
}

/* Bottom row: ISWC Coverage™ + Publishing Activity™ side by side */
.pi-bottom-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 8px;
  margin-top: 8px;
}

/* Activity card: remove standalone margin-top (grid handles spacing) */
.pi-bottom-row .pi-activity-card {
  margin-top: 0;
  display: flex;
  flex-direction: column;
}

/* Publishing footer */
.pi-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 32px;
  border-top: 1px solid var(--mc-border-soft);
  font-size: 10px;
  color: var(--mc-text-muted);
  flex-shrink: 0;
}

.pi-footer-left {
  display: flex;
  align-items: center;
  gap: 5px;
}

.pi-footer-left svg { width: 11px; height: 11px; }

/* ATHENA Publishing Intelligence™ Panel — modal overlay */
.pi-athena-overlay {
  position: fixed; inset: 0; z-index: 900;
  background: rgba(0,0,0,0.72); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
}
.pi-athena-overlay[hidden] { display: none; }
.pi-athena-panel {
  width: 100%; max-width: 460px;
  background: var(--mc-surface-1);
  border: 1px solid rgba(251,146,60,0.28);
  border-top: 3px solid rgba(251,146,60,0.60);
  border-radius: 14px; overflow: hidden;
  box-shadow: 0 24px 80px rgba(0,0,0,0.60), 0 0 60px rgba(251,146,60,0.10);
}
.pi-athena-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 18px 14px;
  border-bottom: 1px solid var(--mc-border-soft);
  background: linear-gradient(135deg, rgba(251,146,60,0.06), rgba(124,58,237,0.04));
}
.pi-athena-brand { display: flex; align-items: center; gap: 12px; }
.pi-athena-logo {
  width: 36px; height: 36px; border-radius: 9px;
  background: linear-gradient(135deg, rgba(251,146,60,0.18), rgba(124,58,237,0.14));
  border: 1px solid rgba(251,146,60,0.30);
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; font-weight: 800; color: var(--mc-orange);
  letter-spacing: -0.02em;
}
.pi-athena-eyebrow {
  font-size: 9px; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--mc-orange); opacity: 0.9;
}
.pi-athena-wordmark {
  font-size: 13px; font-weight: 700; color: var(--mc-text); letter-spacing: -0.01em;
}
.pi-athena-close {
  width: 28px; height: 28px; border-radius: 7px;
  background: var(--mc-surface-2); border: 1px solid var(--mc-border-soft);
  color: var(--mc-text-muted); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.15s, color 0.15s;
}
.pi-athena-close:hover { background: var(--mc-surface-3); color: var(--mc-text); }
.pi-athena-body { padding: 18px 18px 6px; display: flex; flex-direction: column; gap: 18px; }
.pi-athena-rating-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px; background: rgba(251,146,60,0.07);
  border: 1px solid rgba(251,146,60,0.22); border-radius: 8px;
}
.pi-athena-rating-label { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mc-text-muted); }
.pi-athena-rating-value { font-size: 13px; font-weight: 800; color: var(--mc-orange); }
.pi-athena-section { display: flex; flex-direction: column; gap: 5px; }
.pi-athena-section-label {
  font-size: 9.5px; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--mc-text-subtle);
}
.pi-athena-section-body { font-size: 12px; line-height: 1.6; color: var(--mc-text-soft); }
.pi-athena-works-list { display: flex; flex-direction: column; gap: 6px; }
.pi-athena-work-row { display: flex; align-items: center; gap: 9px; }
.pi-athena-work-dot {
  width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
  background: var(--mc-orange); opacity: 0.7;
}
.pi-athena-work-name { font-size: 12px; font-weight: 600; color: var(--mc-text); }
.pi-athena-footer {
  padding: 16px 18px 18px;
  border-top: 1px solid var(--mc-border-soft);
  margin-top: 6px;
}
.pi-athena-action-cta {
  display: flex; align-items: center; justify-content: center;
  padding: 11px 18px; width: 100%;
  background: rgba(251,146,60,0.10); border: 1px solid rgba(251,146,60,0.38);
  border-radius: 8px; font-size: 12px; font-weight: 800;
  letter-spacing: 0.04em; color: var(--mc-orange); text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
  box-sizing: border-box;
}
.pi-athena-action-cta:hover { background: rgba(251,146,60,0.18); border-color: rgba(251,146,60,0.55); }

/* ═══════════════════════════════════════════════════════════════════════
   Catalog Intelligence™ Workspace — ci-* namespace
   Deep Crimson / Ruby: #e11d48  /  rgba(225,29,72,…)
   Executive Polish Amendment #001 — Board-approved 2026-07-04
   Reuses: hi-main, hi-kpi-row/card/label/icon-wrap, hi-status-pill,
           hi-score-meta-row, hi-date-selector, hi-artist-*, hi-exec-panel,
           hi-panel-*, hi-risk-alert-icon
   ═══════════════════════════════════════════════════════════════════════ */

.ci-breadcrumb-current { color: #e11d48 !important; }

.ci-section-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 4px;
}
.ci-section-title {
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--mc-text);
  padding-left: 8px; border-left: 2px solid rgba(225,29,72,0.45);
}

/* hi-* palette extensions for crimson */
.hi-kpi-label--crimson { color: #e11d48; }

.hi-status-pill--crimson {
  background: rgba(225,29,72,0.10);
  color: #e11d48;
  border: 1px solid rgba(225,29,72,0.22);
}

.hi-kpi-icon-wrap--crimson {
  background: rgba(225,29,72,0.10);
  border: 1px solid rgba(225,29,72,0.22);
  color: #e11d48;
}
.hi-kpi-card:hover .hi-kpi-icon-wrap--crimson {
  box-shadow: 0 0 16px rgba(225,29,72,0.28);
}

.hi-panel-stat-num--crimson { color: #e11d48; }

/* Executive header — Deep Crimson identity */
.ci-exec-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px; padding: 20px 24px;
  background: linear-gradient(135deg, rgba(225,29,72,0.06), rgba(225,29,72,0.02));
  border: 1px solid rgba(225,29,72,0.14);
  border-top: 2px solid rgba(225,29,72,0.38);
  border-radius: 10px; margin-bottom: 16px;
}
.ci-exec-title-block { flex: 1; }
.ci-exec-eyebrow {
  font-size: 10px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: #e11d48; margin-bottom: 4px;
}
.ci-exec-heading {
  font-size: 22px; font-weight: 800; letter-spacing: -0.02em;
  color: var(--mc-text); margin: 0 0 6px;
  text-shadow: 0 0 30px rgba(225,29,72,0.18);
}
.ci-exec-desc { font-size: 13px; color: var(--mc-text-muted); margin-bottom: 8px; }
.ci-exec-meta-row { display: flex; align-items: center; gap: 12px; }
.ci-exec-updated {
  display: flex; align-items: center; gap: 5px;
  font-size: 11px; color: var(--mc-text-muted);
}
.ci-exec-updated-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #e11d48; opacity: 0.7; flex-shrink: 0;
}

/* Catalog Readiness™ ring — Executive Signature™ */
.ci-readiness-ring-wrap {
  position: relative; width: 116px; height: 116px; margin: 4px auto 6px;
}
.ci-readiness-ring-svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.ci-readiness-ring-track { fill: none; stroke: rgba(225,29,72,0.09); stroke-width: 5; }
.ci-readiness-ring-progress {
  fill: none; stroke: #e11d48; stroke-width: 5; stroke-linecap: round;
  stroke-dasharray: 0 252;
  filter: drop-shadow(0 0 6px rgba(225,29,72,0.55));
  animation: ci-ring-fill 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) 0.15s forwards,
             ci-ring-breathe 4s ease-in-out 1.55s infinite;
}
@keyframes ci-ring-fill    { to { stroke-dasharray: 242 252; } }
@keyframes ci-ring-breathe {
  0%, 100% { filter: drop-shadow(0 0 5px rgba(225,29,72,0.45)); }
  50%      { filter: drop-shadow(0 0 14px rgba(225,29,72,0.82)); }
}
.ci-readiness-ring-center {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 1px;
}
.ci-readiness-ring-num {
  font-size: 28px; font-weight: 700; color: #e11d48;
  line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -0.03em;
}
.ci-readiness-ring-label { font-size: 10px; font-weight: 600; color: var(--mc-text-muted); }

/* Catalog Readiness™ hero KPI card */
.ci-kpi-card--readiness {
  background: linear-gradient(145deg, rgba(225,29,72,0.09), rgba(225,29,72,0.03));
  border-color: rgba(225,29,72,0.22);
  border-top: 2px solid rgba(225,29,72,0.48);
}
.ci-readiness-label {
  font-size: 11px; font-weight: 700; letter-spacing: 0.04em;
  text-transform: uppercase; text-align: center; color: #e11d48; margin: 4px 0 2px;
}
.ci-readiness-desc {
  font-size: 10px; color: var(--mc-text-muted);
  text-align: center; margin-bottom: 2px;
}

/* Core Catalog Intelligence™ function card grid */
.ci-function-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 10px; margin-top: 12px;
}

a.ci-function-card {
  display: flex; flex-direction: column; align-items: flex-start;
  padding: 14px 14px 12px;
  background: var(--mc-surface-1); border: 1px solid var(--mc-border-soft);
  border-radius: 10px; text-decoration: none; cursor: pointer; color: inherit;
  transition: border-color 0.2s ease, transform 0.2s ease;
  box-shadow: 0 1px 3px rgba(0,0,0,0.22);
}
a.ci-function-card:hover {
  border-color: rgba(225,29,72,0.30); transform: translateY(-2px);
}

.ci-function-icon-wrap {
  width: 36px; height: 36px; border-radius: 8px;
  background: rgba(225,29,72,0.10); border: 1px solid rgba(225,29,72,0.18);
  display: flex; align-items: center; justify-content: center;
  color: #e11d48; margin-bottom: 8px; flex-shrink: 0;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
.ci-function-icon-wrap svg { width: 18px; height: 18px; }

a.ci-function-card:hover .ci-function-icon-wrap {
  background: rgba(225,29,72,0.20);
  box-shadow: 0 0 14px rgba(225,29,72,0.30);
}

.ci-function-icon-wrap--attention {
  background: rgba(248,113,113,0.10); border-color: rgba(248,113,113,0.22); color: #f87171;
}
a.ci-function-card:hover .ci-function-icon-wrap--attention {
  background: rgba(248,113,113,0.20);
  box-shadow: 0 0 12px rgba(248,113,113,0.30);
}

/* Artwork™ card — Best Verified Release Artwork™ 80×80 */
.ci-artwork-container {
  width: 80px; height: 80px; border-radius: 6px; flex-shrink: 0;
  overflow: hidden; margin-bottom: 10px;
  background: linear-gradient(145deg, rgba(225,29,72,0.24), rgba(20,4,10,0.96));
  border: 1px solid rgba(225,29,72,0.22);
  display: flex; align-items: center; justify-content: center;
  position: relative;
  transition: box-shadow 0.2s ease;
}
.ci-artwork-container svg { width: 28px; height: 28px; color: rgba(225,29,72,0.45); }
.ci-artwork-container img.royalte-exec-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  border-radius: 5px; border: none; background: none;
  object-fit: cover; opacity: 0; transition: opacity 0.3s ease;
}
.ci-artwork-container img.royalte-exec-img.ci--artwork-loaded { opacity: 1; }
a.ci-function-card:hover .ci-artwork-container {
  box-shadow: 0 0 18px rgba(225,29,72,0.30);
}

.ci-release-artist {
  font-size: 11px; font-weight: 600; color: var(--mc-text-soft);
  letter-spacing: 0.02em; margin-bottom: 1px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%;
}

.ci-function-name {
  font-size: 12px; font-weight: 700; color: var(--mc-text);
  letter-spacing: 0.01em; margin-bottom: 2px;
}
.ci-function-sub { font-size: 10px; color: var(--mc-text-muted); margin-bottom: 6px; }

.ci-function-badge {
  font-size: 9px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; padding: 2px 6px; border-radius: 3px;
}
.ci-function-badge--verified {
  background: rgba(45,212,191,0.12); color: var(--mc-green);
  border: 1px solid rgba(45,212,191,0.20);
}
.ci-function-badge--active {
  background: rgba(225,29,72,0.12); color: #e11d48;
  border: 1px solid rgba(225,29,72,0.20);
}
.ci-function-badge--pending {
  background: rgba(248,113,113,0.12); color: #f87171;
  border: 1px solid rgba(248,113,113,0.20);
}
.ci-function-badge--strong {
  background: rgba(45,212,191,0.12); color: var(--mc-green);
  border: 1px solid rgba(45,212,191,0.20);
}
.ci-function-badge--synced {
  background: rgba(56,189,248,0.12); color: var(--mc-blue);
  border: 1px solid rgba(56,189,248,0.20);
}
.ci-function-badge--unknown {
  background: rgba(156,163,175,0.08); color: var(--mc-text-muted);
  border: 1px solid rgba(156,163,175,0.18);
}
.ci-function-stat { font-size: 10px; color: var(--mc-text-muted); margin-top: 4px; }

/* Bottom row — Catalog Snapshot™ + Catalog Activity™ */
.ci-bottom-row {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 12px; margin-top: 12px;
}
.ci-card-header {
  display: flex; align-items: center; gap: 7px;
  padding: 12px 14px 10px; border-bottom: 1px solid var(--mc-border-soft);
}
.ci-card-header-icon { width: 14px; height: 14px; color: #e11d48; flex-shrink: 0; }
.ci-card-header-title {
  font-size: 11px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--mc-text);
}

/* Catalog Snapshot™ — Executive Catalog Summary */
.ci-snapshot-card {
  background: var(--mc-surface-1); border: 1px solid var(--mc-border-soft);
  border-top: 2px solid rgba(225,29,72,0.30);
  border-radius: 10px; overflow: hidden;
}

.ci-snapshot-stats {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 8px; padding: 14px 14px 12px;
}
.ci-snap-stat {
  display: flex; flex-direction: column; align-items: center; gap: 3px;
  background: var(--mc-surface-2); border: 1px solid var(--mc-border-soft);
  border-radius: 8px; padding: 12px 8px;
}
.ci-snap-stat-num {
  font-size: 28px; font-weight: 800; color: #e11d48;
  line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -0.02em;
}
.ci-snap-stat-label {
  font-size: 9px; font-weight: 600; letter-spacing: 0.07em;
  text-transform: uppercase; color: var(--mc-text-muted);
  text-align: center; line-height: 1.3;
}

.ci-snap-divider { height: 1px; background: var(--mc-border-soft); margin: 0 14px; }

.ci-snap-meta-list { padding: 10px 14px 14px; display: flex; flex-direction: column; gap: 9px; }
.ci-snap-meta { display: flex; flex-direction: column; gap: 2px; }
.ci-snap-meta-label {
  font-size: 9px; font-weight: 700; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--mc-text-muted);
}
.ci-snap-meta-val {
  font-size: 13px; font-weight: 600; color: var(--mc-text); line-height: 1.4;
}
.ci-snap-sync-check { font-size: 11px; color: var(--mc-green); font-weight: 700; margin-left: 5px; }

.ci-sync-dot {
  display: inline-block; width: 5px; height: 5px; border-radius: 50%;
  background: var(--mc-green); opacity: 0.8; margin-left: 4px; vertical-align: middle;
}

.ci-activity-card {
  background: var(--mc-surface-1); border: 1px solid var(--mc-border-soft);
  border-top: 2px solid rgba(225,29,72,0.30);
  border-radius: 10px; overflow: hidden;
}
.ci-activity-body { padding: 8px 14px 2px; }
.ci-activity-item {
  display: flex; gap: 10px; align-items: flex-start; padding: 6px 0;
  border-bottom: 1px solid var(--mc-border-soft);
}
.ci-activity-item:last-child { border-bottom: none; }
.ci-activity-dot-col { padding-top: 3px; flex-shrink: 0; }
.ci-activity-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.ci-activity-dot--green   { background: var(--mc-green); }
.ci-activity-dot--amber   { background: var(--mc-orange); }
.ci-activity-dot--crimson { background: #e11d48; }
.ci-activity-dot--blue    { background: var(--mc-blue); }
.ci-activity-dot--muted   { background: var(--mc-border); }
.ci-activity-text { font-size: 12px; color: var(--mc-text); line-height: 1.4; }
.ci-activity-time { font-size: 10px; color: var(--mc-text-muted); margin-top: 1px; }
.ci-activity-footer { padding: 8px 14px 10px; border-top: 1px solid var(--mc-border-soft); }
.ci-activity-link {
  font-size: 11px; color: #e11d48; text-decoration: none; opacity: 0.85;
  transition: opacity 0.15s;
}
.ci-activity-link:hover { opacity: 1; }

/* ═══════════════════════════════════════════════════════════════════════
   Ambient Module Elevation™ — Catalog Intelligence™
   Dept class: .ws-dept--catalog  /  Accent: Deep Crimson (#e11d48)
   ═══════════════════════════════════════════════════════════════════════ */

.ws-dept--catalog .hi-kpi-card {
  box-shadow: 0 1px 4px rgba(0,0,0,0.28),
              inset 0 1px 0 rgba(255,255,255,0.035),
              0 0 44px rgba(225,29,72,0.07);
}
.ws-dept--catalog a.ci-function-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.24),
              0 0 38px rgba(225,29,72,0.06);
}
.ws-dept--catalog .ci-snapshot-card,
.ws-dept--catalog .ci-activity-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.22),
              0 0 36px rgba(225,29,72,0.06);
}
.ws-dept--catalog .ci-exec-header {
  box-shadow: 0 0 40px rgba(225,29,72,0.05);
}
.ws-dept--catalog .hi-kpi-card:hover {
  box-shadow: 0 10px 30px rgba(0,0,0,0.38),
              0 0 60px rgba(225,29,72,0.13),
              inset 0 1px 0 rgba(255,255,255,0.045);
}
.ws-dept--catalog a.ci-function-card:hover {
  box-shadow: 0 6px 22px rgba(0,0,0,0.30),
              0 0 52px rgba(225,29,72,0.12);
}
.ws-dept--catalog .hi-exec-panel {
  box-shadow: -1px 0 40px rgba(225,29,72,0.04);
}

/* ── Catalog Intelligence™ — Architecture Pass 1 overrides ─────────── */
/* Moved from catalog-intelligence.html inline <style> block             */
.ws-dept--catalog .ii-kpi-big-num { font-size: 28px; letter-spacing: -0.03em; }
.ws-dept--catalog .ii-kpi-fraction { font-size: 15px; }
.ws-dept--catalog .hi-main { padding: 20px 28px 32px; gap: 18px; }
.ws-dept--catalog .hi-kpi-row { gap: 10px; }
.ws-dept--catalog .ci-function-grid { margin-top: 8px; gap: 8px; }
.ws-dept--catalog .ci-bottom-row { gap: 10px; }

.ci-kpi-card--athena-trigger {
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ci-kpi-card--athena-trigger:hover {
  border-color: rgba(225,29,72,0.42);
  box-shadow: 0 0 32px rgba(225,29,72,0.14);
}

.ws-dept--catalog .ci-kpi-card--readiness .pi-risk-step {
  flex: none;
  align-self: stretch;
  margin-top: 12px;
  cursor: pointer;
  font-family: inherit;
}
.ws-dept--catalog .ci-kpi-card--readiness .pi-risk-step--active {
  background: rgba(225,29,72,0.15);
  color: #e11d48;
  border-color: rgba(225,29,72,0.35);
  animation: ci-readiness-pulse 2.5s ease-in-out infinite;
}
@keyframes ci-readiness-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(225,29,72,0); }
  50%       { box-shadow: 0 0 14px 3px rgba(225,29,72,0.28); }
}

.ws-dept--catalog div.ci-function-card {
  display: flex; flex-direction: column; align-items: flex-start;
  padding: 14px 14px 12px;
  background: var(--mc-surface-1); border: 1px solid var(--mc-border-soft);
  border-radius: 10px; color: inherit;
  box-shadow: 0 1px 3px rgba(0,0,0,0.24), 0 0 38px rgba(225,29,72,0.06);
}

.ci-function-action {
  display: inline-block; margin-top: 8px;
  font-size: 10px; font-weight: 700; letter-spacing: 0.06em;
  color: #f87171; text-decoration: none; text-transform: uppercase;
}
.ci-function-action:hover { text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════════════════
   Royaltē Executive Image Standard™
   80 × 80 px square format — applies to all images across Executive
   Workspaces: artist photos, album artwork, platform logos, publisher
   logos. Board Directive: Executive Workspace Image Selection Standard™
   (2026-07-03). Images are sourced via getBestVerifiedArtistImage() or
   getBestVerifiedReleaseArtwork() — never from platform-specific paths.
   ═══════════════════════════════════════════════════════════════════════ */

.royalte-exec-img {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  object-fit: cover;
  object-position: center;
  display: block;
  flex-shrink: 0;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
}
/* Artist photos use a circular crop; release artwork uses a tighter radius */
.royalte-exec-img--artist  { border-radius: 50%; }
.royalte-exec-img--artwork { border-radius: 6px; }

/* ═══════════════════════════════════════════════════════════════════════
   Royaltē Executive Icon Registry™ — Phosphor Duotone
   Board Standard: ONLY duotone style icons from royalte-icon-registry.svg.
   IDs are Royaltē business functions (royalte-artwork, royalte-health, …)
   — never raw Phosphor names. This file is the only coupling point.
   Usage: <svg class="royalte-icon" fill="currentColor">
            <use href="/icons/royalte-icon-registry.svg#royalte-[function]"></use>
          </svg>
   fill="currentColor" drives both the duotone tint (opacity shapes inherit
   fill) and the outline stroke (explicit currentColor on stroke paths).
   ═══════════════════════════════════════════════════════════════════════ */

.royalte-icon {
  display: inline-block;
  flex-shrink: 0;
  vertical-align: middle;
  fill: currentColor;
  overflow: visible;
}

/* Navigation rail — 20×20 display */
.mc-nav-icon .royalte-icon {
  width: 20px;
  height: 20px;
}

/* Standard workspace icon — size modifier classes */
.royalte-icon--xs { width: 11px; height: 11px; }
.royalte-icon--sm { width: 18px; height: 18px; }
.royalte-icon--md { width: 20px; height: 20px; }
.royalte-icon--lg { width: 24px; height: 24px; }
.royalte-icon--xl { width: 28px; height: 28px; }

/* KPI card icon wrap */
.hi-kpi-icon-wrap .royalte-icon,
.ii-kpi-icon-wrap .royalte-icon {
  width: 22px; height: 22px;
}

/* Function card icon wrap */
.ci-function-icon-wrap .royalte-icon,
.pi-function-icon-wrap .royalte-icon {
  width: 18px; height: 18px;
}

/* Section header / card header icon */
.ci-card-header-icon.royalte-icon,
.pi-card-header-icon.royalte-icon,
.ii-card-header-icon.royalte-icon {
  width: 14px; height: 14px;
}

/* Date selector calendar icon */
.hi-date-selector .royalte-icon { width: 14px; height: 14px; }

/* Panel action icon */
.hi-panel-action-icon .royalte-icon { width: 16px; height: 16px; }

/* ─── Dept ambient elevation — Global Music Footprint ───────────── */
/* Dept class: .ws-dept--global  /  Accent: Sky Blue (#38bdf8) */

.ws-dept--global .hi-kpi-card {
  box-shadow: 0 0 0 1px rgba(56,189,248,0.07), 0 4px 16px rgba(56,189,248,0.04);
}
.ws-dept--global .hi-exec-panel {
  box-shadow: 0 0 0 1px rgba(56,189,248,0.08), 0 8px 24px rgba(56,189,248,0.06);
}
.ws-dept--global .hi-kpi-card:hover {
  box-shadow: 0 0 0 1px rgba(56,189,248,0.16), 0 6px 20px rgba(56,189,248,0.10);
}
.ws-dept--global .ws-shell::before {
  content: "";
  position: fixed;
  inset: 0;
  background: radial-gradient(ellipse 60% 40% at 50% 0%, rgba(56,189,248,0.05) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* ─── Global Music Footprint™ — one-screen layout ───────────────── */
.ws-dept--global .hi-main {
  padding: 14px 32px 20px;
  gap: 14px;
}
.ws-dept--global .gf-map-inner {
  /* min-height removed — aspect-ratio: 1380/620 controls height now */
}

/* Mobile Executive Briefing — hidden until ≤640px breakpoint fires */
.gf-mobile-brief { display: none; }

/* ─── Dept ambient elevation — Backend Intelligence ─────────────── */
/* Dept class: .ws-dept--backend  /  Accent: Electric Teal™ (#00BFA5) */

.ws-dept--backend .hi-kpi-card {
  box-shadow: 0 0 0 1px rgba(0,191,165,0.07), 0 4px 16px rgba(0,191,165,0.04);
}
.ws-dept--backend .hi-exec-panel {
  box-shadow: 0 0 0 1px rgba(0,191,165,0.08), 0 8px 24px rgba(0,191,165,0.06);
}
.ws-dept--backend .hi-kpi-card:hover {
  box-shadow: 0 0 0 1px rgba(0,191,165,0.16), 0 6px 20px rgba(0,191,165,0.10);
}
.ws-dept--backend .ws-shell::before {
  content: "";
  position: fixed;
  inset: 0;
  background: radial-gradient(ellipse 60% 40% at 50% 0%, rgba(0,191,165,0.05) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* ─── Dept ambient elevation — AI Insights ──────────────────────── */
/* Dept class: .ws-dept--ai-insights  /  Accent: Purple (#a855f7) */

.ws-dept--ai-insights .hi-kpi-card {
  box-shadow: 0 0 0 1px rgba(168,85,247,0.07), 0 4px 16px rgba(168,85,247,0.04);
}
.ws-dept--ai-insights .hi-exec-panel {
  box-shadow: 0 0 0 1px rgba(168,85,247,0.08), 0 8px 24px rgba(168,85,247,0.06);
}
.ws-dept--ai-insights .hi-kpi-card:hover {
  box-shadow: 0 0 0 1px rgba(168,85,247,0.16), 0 6px 20px rgba(168,85,247,0.10);
}

/* ═══════════════════════════════════════════════════════════════════════
   Global Music Footprint™ Workspace — gf-* namespace
   Dept: ws-dept--global / Accent: Sky Blue (#38bdf8)
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── blue breadcrumb + color variants ───────────────────────────── */
.gf-breadcrumb-current    { color: var(--mc-blue) !important; }
.hi-kpi-label--blue       { color: var(--mc-blue); }
.ii-kpi-status-text--blue { color: var(--mc-blue); }
.hi-panel-stat-num--blue  { color: var(--mc-blue); }

.hi-kpi-icon-wrap--blue {
  background: var(--mc-blue-soft);
  border: 1px solid rgba(56, 189, 248, 0.22);
  color: var(--mc-blue);
}
.hi-kpi-card:hover .hi-kpi-icon-wrap--blue {
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.40);
}

.hi-status-pill--blue {
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.25);
  color: var(--mc-blue);
}

/* ─── exec header ─────────────────────────────────────────────────── */
.gf-exec-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.gf-exec-title-block { flex: 1; }

.gf-exec-eyebrow {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mc-blue);
  margin-bottom: 4px;
}

.gf-exec-heading {
  font-size: 22px;
  font-weight: 600;
  color: var(--mc-text);
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.gf-exec-desc { font-size: 13px; color: var(--mc-text-muted); margin-top: 5px; }

.gf-exec-meta-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 8px;
}

.gf-exec-updated {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--mc-text-muted);
}

.gf-exec-updated-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mc-blue);
  box-shadow: 0 0 6px rgba(56, 189, 248, 0.8);
  flex-shrink: 0;
}

/* ─── Global Presence™ Executive Signature™ ──────────────────────── */
.gf-presence-kpi {
  background: linear-gradient(145deg, rgba(56,189,248,0.07), rgba(56,189,248,0.02));
  border-color: rgba(56, 189, 248, 0.22);
}

.gf-presence-ring-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 116px;
  height: 116px;
  margin: 0 auto 4px;
}

.gf-presence-ring-svg {
  width: 116px;
  height: 116px;
  transform: rotate(-90deg);
}

.gf-presence-ring-track {
  fill: none;
  stroke: rgba(56, 189, 248, 0.12);
  stroke-width: 6;
}

.gf-presence-ring-progress {
  fill: none;
  stroke: var(--mc-blue);
  stroke-width: 6;
  stroke-linecap: round;
  stroke-dasharray: 251;
  stroke-dashoffset: 251;
  filter: drop-shadow(0 0 6px rgba(56, 189, 248, 0.65));
  transition: stroke-dashoffset 1.4s cubic-bezier(0.33, 1, 0.68, 1);
}

.gf-presence-ring-center {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1px;
}

.gf-presence-ring-num {
  font-size: 28px;
  font-weight: 700;
  color: var(--mc-text);
  line-height: 1;
  letter-spacing: -0.02em;
}

.gf-presence-ring-denom { font-size: 11px; color: var(--mc-text-muted); }
.gf-presence-label { font-size: 13px; font-weight: 600; color: var(--mc-text); text-align: center; }
.gf-presence-desc  { font-size: 11px; color: var(--mc-text-muted); text-align: center; }

/* ─── map hero section ─────────────────────────────────────────────── */
.gf-map-section {
  background: var(--mc-surface-1);
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-3);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.gf-map-inner {
  position: relative;
  width: 100%;
  /* aspect-ratio locks the container to the PNG's exact dimensions (1380×620).
   * Without this, object-fit:contain letterboxes the image and L/T percentages
   * reference empty space rather than the map — causing systematic flag drift. */
  aspect-ratio: 1380 / 620;
  background: #050b18;
  overflow: hidden;
  cursor: crosshair;
}

.gf-map-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  /* Container ratio = image ratio, so object-fit:fill fills exactly with no distortion */
  object-fit: fill;
  pointer-events: none;
  display: block;
  opacity: 0.88;
}

/* ─── provider legend / filter overlay ────────────────────────────── */
.gf-legend {
  position: absolute;
  left: 14px;
  top: 14px;
  background: rgba(6, 8, 18, 0.86);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--mc-r-2);
  padding: 10px 12px 12px;
  z-index: 10;
  min-width: 148px;
}

.gf-legend-title {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  margin-bottom: 9px;
}

.gf-legend-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 5px 7px;
  border-radius: var(--mc-r-1);
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
  border: 1px solid transparent;
  margin-bottom: 2px;
  user-select: none;
}
.gf-legend-item:last-child { margin-bottom: 0; }
.gf-legend-item:hover { background: rgba(255, 255, 255, 0.05); }
.gf-legend-item--active {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
}

.gf-legend-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
}
.gf-legend-dot--apple   { background: #FC3C44; box-shadow: 0 0 5px rgba(252,60,68,0.7); }
.gf-legend-dot--spotify { background: #1DB954; box-shadow: 0 0 5px rgba(29,185,84,0.7); }
.gf-legend-dot--deezer  { background: #A238FF; box-shadow: 0 0 5px rgba(162,56,255,0.7); }
.gf-legend-dot--tidal   { background: #00D5FF; box-shadow: 0 0 5px rgba(0,213,255,0.7); }

.gf-legend-name {
  font-size: 11px;
  font-weight: 600;
  color: var(--mc-text-soft);
  letter-spacing: 0.02em;
}

/* ─── global scan sweep (30s cycle) ───────────────────────────────── */
.gf-scan-sweep {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -7%;
  width: 7%;
  background: linear-gradient(90deg, transparent 0%, rgba(56, 189, 248, 0.36) 50%, transparent 100%);
  filter: blur(3px);
  pointer-events: none;
  mix-blend-mode: screen;
  animation: gf-scan 30s linear infinite;
}

@keyframes gf-scan {
  0%   { opacity: 0; transform: translateX(0); }
  3%   { opacity: 1; transform: translateX(0); }
  92%  { opacity: 1; transform: translateX(1530%); }
  95%  { opacity: 0; transform: translateX(1530%); }
  100% { opacity: 0; transform: translateX(0); }
}

/* ─── Geographic Anchor System™ flags ────────────────────────────────── */
.gf-anchor {
  position: absolute;
  font-size: 13px;
  line-height: 1;
  transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: 0.72;
  z-index: 4;
  user-select: none;
}

/* ─── country markers (generated by JS) ────────────────────────────── */
.gf-marker {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: auto;
  cursor: pointer;
  animation: gf-breathe 4s ease-in-out infinite;
  transition: opacity 0.22s ease;
}
.gf-marker:hover { transform: translate(-50%, -50%) scale(1.8); z-index: 20; }

@keyframes gf-breathe {
  0%, 100% { opacity: 0.48; }
  50%       { opacity: 0.92; }
}

.gf-marker--apple {
  background: radial-gradient(circle, #fff 0%, #FC3C44 38%, rgba(252,60,68,0.5) 100%);
  filter: drop-shadow(0 0 3px rgba(252,60,68,0.8)) drop-shadow(0 0 7px rgba(252,60,68,0.5));
}
.gf-marker--spotify {
  background: radial-gradient(circle, #fff 0%, #1DB954 38%, rgba(29,185,84,0.5) 100%);
  filter: drop-shadow(0 0 3px rgba(29,185,84,0.8)) drop-shadow(0 0 7px rgba(29,185,84,0.5));
}
.gf-marker--deezer {
  background: radial-gradient(circle, #fff 0%, #A238FF 38%, rgba(162,56,255,0.5) 100%);
  filter: drop-shadow(0 0 3px rgba(162,56,255,0.8)) drop-shadow(0 0 7px rgba(162,56,255,0.5));
}
.gf-marker--tidal {
  background: radial-gradient(circle, #fff 0%, #00D5FF 38%, rgba(0,213,255,0.5) 100%);
  filter: drop-shadow(0 0 3px rgba(0,213,255,0.8)) drop-shadow(0 0 7px rgba(0,213,255,0.5));
}
.gf-marker--filtered { opacity: 0 !important; pointer-events: none; }

/* ─── country detail popover ──────────────────────────────────────── */
.gf-popover {
  position: absolute;
  background: rgba(6, 10, 22, 0.96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(56, 189, 248, 0.2);
  border-radius: var(--mc-r-2);
  padding: 12px 15px 13px;
  z-index: 50;
  min-width: 195px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.55), 0 0 0 1px rgba(56,189,248,0.07);
  pointer-events: none;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.gf-popover--visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.gf-popover-country {
  font-size: 13px;
  font-weight: 700;
  color: var(--mc-text);
  margin-bottom: 9px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.gf-popover-country-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mc-blue);
  box-shadow: 0 0 6px rgba(56,189,248,0.8);
  flex-shrink: 0;
}
.gf-popover-divider { height: 1px; background: rgba(255,255,255,0.05); margin: 8px 0; }
.gf-popover-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 5px;
}
.gf-popover-row:last-child { margin-bottom: 0; }
.gf-popover-label {
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.gf-popover-val { font-size: 11.5px; color: var(--mc-text-soft); font-weight: 600; text-align: right; }
.gf-popover-val--verified { color: var(--mc-green); }
.gf-popover-providers { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.gf-pdot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }

/* ─── map status bar ───────────────────────────────────────────────── */
.gf-map-status {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 9px 16px;
  background: rgba(5, 7, 16, 0.7);
  border-top: 1px solid rgba(255,255,255,0.04);
}
.gf-scan-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 12px 4px 8px;
  background: rgba(56,189,248,0.10);
  border: 1px solid rgba(56,189,248,0.22);
  border-radius: 999px;
}
.gf-scan-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mc-blue);
  box-shadow: 0 0 6px rgba(56,189,248,0.9);
  flex-shrink: 0;
  animation: gf-dot 30s linear infinite;
}
@keyframes gf-dot {
  0%, 3%  { opacity: 0.35; box-shadow: 0 0 4px rgba(56,189,248,0.4); }
  5%      { opacity: 1; box-shadow: 0 0 10px rgba(56,189,248,1), 0 0 20px rgba(56,189,248,0.7); }
  90%     { opacity: 1; box-shadow: 0 0 10px rgba(56,189,248,1), 0 0 20px rgba(56,189,248,0.7); }
  93%     { opacity: 0.35; box-shadow: 0 0 4px rgba(56,189,248,0.4); }
  100%    { opacity: 0.35; }
}
.gf-scan-text { display: flex; flex-direction: column; line-height: 1.1; }
.gf-scan-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--mc-text);
}
.gf-scan-sub {
  font-size: 8.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  margin-top: 1px;
}
.gf-territories-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4px 14px 5px;
  background: rgba(56,189,248,0.10);
  border: 1px solid rgba(56,189,248,0.22);
  border-radius: 999px;
  line-height: 1.05;
}
.gf-territories-label {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mc-blue);
}
.gf-territories-count {
  font-size: 17px;
  font-weight: 700;
  color: var(--mc-text);
  font-variant-numeric: tabular-nums;
}

/* ─── Global Summary™ ──────────────────────────────────────────────── */
.gf-summary {
  display: grid;
  grid-template-columns: 1fr 1px 1fr 1px 1fr 1px 1fr;
  background: var(--mc-surface-1);
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-r-3);
  padding: 20px 0;
}
.gf-summary-divider {
  background: var(--mc-border);
  align-self: stretch;
  margin: 4px 0;
}
.gf-summary-stat {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 22px;
}
.gf-summary-icon {
  width: 42px;
  height: 42px;
  border-radius: var(--mc-r-2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: var(--mc-blue-soft);
  border: 1px solid rgba(56,189,248,0.18);
  color: var(--mc-blue);
}
.gf-summary-icon .royalte-icon { width: 18px; height: 18px; }
.gf-summary-label {
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mc-blue);
  margin-bottom: 3px;
}
.gf-summary-num {
  font-size: 26px;
  font-weight: 700;
  color: var(--mc-text);
  letter-spacing: -0.02em;
  line-height: 1;
}
.gf-summary-sub { font-size: 11px; color: var(--mc-text-muted); margin-top: 2px; }
.gf-summary-stat--scan .gf-summary-num {
  font-size: 16px;
  color: var(--mc-green);
  letter-spacing: 0;
}

/* Hidden on desktop and tablet; revealed by mobile media query below. */
.gf-additional-territories { display: none; }

/* Streaming Platforms Legend™ panel — below-map card for tablet + mobile.
 * Floating overlay (.gf-legend, position:absolute) is always hidden;
 * this panel replaces it in document flow at all breakpoints. */
.gf-legend-panel {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 20px;
  background: var(--mc-surface-2);
  border: 1px solid rgba(56,189,248,0.12);
  border-radius: 10px;
  padding: 12px 16px;
  margin-top: 12px;
}
.gf-legend-panel-title    {
  font-size: 9px; font-weight: 700; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--mc-text-muted); flex-shrink: 0;
}
.gf-legend-panel-items    { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.gf-legend-panel-item     { display: flex; align-items: center; gap: 8px; }
.gf-legend-panel-name     { font-size: 12px; font-weight: 600; color: var(--mc-text-soft); letter-spacing: 0.02em; }

/* ═══════════════════════════════════════════════════════════════════════
   Backend Intelligence™ Workspace — bi-* namespace
   Dept: ws-dept--backend / Accent: Electric Teal™ (#00BFA5)
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── teal color variants ─────────────────────────────────────────── */
.bi-breadcrumb-current    { color: var(--mc-teal) !important; }
.hi-kpi-label--teal       { color: var(--mc-teal); }
.ii-kpi-status-text--teal { color: var(--mc-teal); }
.hi-panel-stat-num--teal  { color: var(--mc-teal); }

.hi-kpi-icon-wrap--teal {
  background: var(--mc-teal-soft);
  border: 1px solid var(--mc-border-teal);
  color: var(--mc-teal);
}
.hi-status-pill--teal {
  background: var(--mc-teal-soft);
  border: 1px solid var(--mc-border-teal);
  color: var(--mc-teal);
}

/* ─── Executive Signature ring ────────────────────────────────────── */
.bi-ring-track    { fill: none; stroke: rgba(0,191,165,0.12); stroke-width: 6; }
.bi-ring-progress { fill: none; stroke: var(--mc-teal); stroke-width: 6;
                    stroke-linecap: round; stroke-dasharray: 251; stroke-dashoffset: 26;
                    transform: rotate(-90deg); transform-origin: 50% 50%;
                    filter: drop-shadow(0 0 6px var(--mc-teal-glow)); }

/* ─── Digital Twin™ ──────────────────────────────────────────────── */
.bi-twin-section {
  background: rgba(0,0,0,0.20);
  border: 1px solid rgba(0,191,165,0.12);
  border-radius: 14px;
  padding: 32px 24px 24px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
}
.bi-twin-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(0,191,165,0.04) 0%, transparent 70%);
  pointer-events: none;
}
.bi-twin-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--mc-teal);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.bi-twin-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--mc-text);
  margin-bottom: 24px;
}
.bi-twin-svg-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
.bi-twin-svg { width: 100%; max-width: 600px; height: auto; overflow: visible; }

/* SVG node styles */
.bi-node-ring  { fill: none; stroke-width: 1.5; opacity: 0.35; }
.bi-node-core  { }
.bi-node-label { font-size: 10px; font-weight: 600; letter-spacing: 0.04em;
                 text-anchor: middle; dominant-baseline: auto; }
.bi-node-status { font-size: 8px; letter-spacing: 0.06em; text-anchor: middle;
                  dominant-baseline: auto; opacity: 0.7; }
.bi-conn-line  { fill: none; stroke-width: 1.2; stroke-linecap: round;
                 stroke-dasharray: 500; stroke-dashoffset: 500; }

/* Node color states */
.bi-node--verified  .bi-node-ring { stroke: #00BFA5; }
.bi-node--verified  .bi-node-core { fill: #00BFA5; }
.bi-node--verified  .bi-node-label  { fill: #e2e8f0; }
.bi-node--verified  .bi-node-status { fill: #00BFA5; }

.bi-node--review    .bi-node-ring { stroke: #F59E0B; }
.bi-node--review    .bi-node-core { fill: #F59E0B; }
.bi-node--review    .bi-node-label  { fill: #e2e8f0; }
.bi-node--review    .bi-node-status { fill: #F59E0B; }

.bi-node--song      .bi-node-ring { stroke: #e2e8f0; }
.bi-node--song      .bi-node-core { fill: #ffffff; }
.bi-node--song      .bi-node-label  { fill: #ffffff; font-weight: 700; }
.bi-node--song      .bi-node-status { fill: rgba(255,255,255,0.6); }

.bi-node--hub       .bi-node-ring { stroke: #00BFA5; }
.bi-node--hub       .bi-node-core { fill: #00BFA5; }
.bi-node--hub       .bi-node-label  { fill: #ffffff; font-weight: 700; }
.bi-node--hub       .bi-node-status { fill: rgba(255,255,255,0.75); }

/* Connection line colors */
.bi-conn--teal   { stroke: rgba(0,191,165,0.55); }
.bi-conn--amber  { stroke: rgba(245,158,11,0.45); }

/* Animation keyframes */
@keyframes bi-line-draw {
  to { stroke-dashoffset: 0; opacity: 1; }
}
@keyframes bi-node-appear {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes bi-hub-pulse {
  0%, 100% { opacity: 0.25; r: 20; }
  50%       { opacity: 0.50; r: 24; }
}
@keyframes bi-conn-pulse {
  0%, 100% { opacity: 0.55; }
  50%       { opacity: 0.80; }
}

/* Animated nodes / lines get these classes added by JS after draw */
.bi-node--live .bi-node-ring {
  animation: bi-hub-pulse 3s ease-in-out infinite;
}
.bi-conn--live {
  stroke-dashoffset: 0;
  animation: bi-conn-pulse 4s ease-in-out infinite;
}

/* ─── Executive module cards (bi-module-*) ────────────────────────── */
.bi-module-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: start;
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 1100px) { .bi-module-grid { grid-template-columns: repeat(2, 1fr); } }

.bi-module-card {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  padding: 18px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.bi-module-header {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bi-module-icon {
  width: 32px; height: 32px; border-radius: 8px;
  background: var(--mc-teal-soft);
  border: 1px solid var(--mc-border-teal);
  color: var(--mc-teal);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.bi-module-title {
  font-size: 12px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--mc-teal);
}
.bi-module-row {
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  padding-bottom: 6px; gap: 8px;
}
.bi-module-row:last-child { border-bottom: none; padding-bottom: 0; }
.bi-module-key {
  font-size: 10.5px; color: var(--mc-text-muted); flex-shrink: 0;
}
.bi-module-val {
  font-size: 10.5px; color: var(--mc-text); text-align: right;
  font-weight: 500; max-width: 55%;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.bi-module-val--teal   { color: var(--mc-teal); }
.bi-module-val--amber  { color: #F59E0B; }
.bi-module-val--muted  { color: var(--mc-text-muted); font-style: italic; }

/* ─── Business Risk™ card ──────────────────────────────────────────── */
.bi-risk-card {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  padding: 20px 20px 18px;
  margin-bottom: 24px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.bi-risk-badge {
  flex-shrink: 0;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.10em;
  text-transform: uppercase;
}
.bi-risk-badge--low    { background: rgba(0,191,165,0.12); color: #00BFA5; border: 1px solid rgba(0,191,165,0.25); }
.bi-risk-badge--medium { background: rgba(245,158,11,0.12); color: #F59E0B; border: 1px solid rgba(245,158,11,0.25); }
.bi-risk-badge--high   { background: rgba(239,68,68,0.12);  color: #EF4444; border: 1px solid rgba(239,68,68,0.25); }
.bi-risk-title  { font-size: 13px; font-weight: 700; color: var(--mc-text); margin-bottom: 4px; }
.bi-risk-desc   { font-size: 11.5px; color: var(--mc-text-muted); line-height: 1.6; }

/* ─── AI Backend Summary™ ─────────────────────────────────────────── */
.bi-ai-card {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(0,191,165,0.14);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
}
.bi-ai-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 12px;
}
.bi-ai-title { font-size: 11px; font-weight: 700; letter-spacing: 0.12em;
               text-transform: uppercase; color: var(--mc-teal); }
.bi-ai-body  { font-size: 12px; color: var(--mc-text-muted); line-height: 1.75; }

/* ─── exec header score ────────────────────────────────────────────── */
.bi-exec-header {
  background: rgba(0,0,0,0.20);
  border: 1px solid rgba(0,191,165,0.12);
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 20px;
  display: flex; align-items: center; gap: 20px;
}
.bi-exec-ring-wrap { position: relative; width: 90px; height: 90px; flex-shrink: 0; }
.bi-exec-ring-svg  { width: 90px; height: 90px; }
.bi-exec-ring-center {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.bi-exec-ring-num   { font-size: 22px; font-weight: 800; color: var(--mc-teal);
                      letter-spacing: -0.03em; line-height: 1; }
.bi-exec-ring-denom { font-size: 10px; color: var(--mc-text-muted); letter-spacing: 0.02em; }
.bi-exec-meta { flex: 1; }
.bi-exec-label { font-size: 10px; font-weight: 700; letter-spacing: 0.18em;
                 text-transform: uppercase; color: var(--mc-teal); margin-bottom: 3px; }
.bi-exec-score-title { font-size: 20px; font-weight: 800; color: var(--mc-text);
                       letter-spacing: -0.02em; line-height: 1.1; margin-bottom: 4px; }
.bi-exec-score-sub   { font-size: 11.5px; color: var(--mc-text-muted); margin-bottom: 10px; }

/* ─── Backend Intelligence™ — compact one-screen overrides ──────────── */

.ws-dept--backend .hi-main {
  padding: 16px 28px 20px;
  gap: 14px;
}
.ws-dept--backend .hi-kpi-card {
  padding: 12px 14px;
  gap: 5px;
}
.ws-dept--backend .bi-twin-section {
  padding: 14px 20px 14px;
  margin-bottom: 0;
}
.ws-dept--backend .bi-twin-title { margin-bottom: 12px; }
.ws-dept--backend .bi-twin-svg   { max-width: 520px; }

/* ─── Backend module compact tiles ──────────────────────────────────── */

.bi-module-card--tile {
  padding: 10px 14px;
}
.bi-module-card--tile .bi-module-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  flex-shrink: 0;
}
.bi-tile-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.bi-tile-content {
  flex: 1;
  min-width: 0;
}
.bi-tile-name {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mc-teal);
  margin-bottom: 2px;
}
.bi-tile-desc {
  font-size: 9.5px;
  color: var(--mc-text-muted);
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bi-tile-badge {
  flex-shrink: 0;
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 20px;
}
.bi-tile-badge--verified {
  background: rgba(0,191,165,0.12);
  color: #00BFA5;
  border: 1px solid rgba(0,191,165,0.25);
}
.bi-tile-badge--review {
  background: rgba(245,158,11,0.12);
  color: #F59E0B;
  border: 1px solid rgba(245,158,11,0.25);
}
.bi-tile-badge--partial {
  background: rgba(245,158,11,0.08);
  color: #F59E0B;
  border: 1px solid rgba(245,158,11,0.18);
}

/* ─── Global mobile shell (applies to all workspaces) ───────────────── */

@media (max-width: 768px) {
  .ws-shell { grid-template-columns: 1fr; }
  .ws-rail  { display: none; }
  .bi-module-grid { grid-template-columns: 1fr; }
  .ws-dept--backend .bi-twin-svg { max-width: 100%; }
  .ws-dept--backend .hi-main { padding: 14px 16px 20px; gap: 12px; }
}

@media (max-width: 540px) {
  .bi-exec-header { flex-direction: column; gap: 10px; }
  .bi-module-grid { gap: 8px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   Executive Silver™ + Intelligence Domain Tokens
   Shared by Mission Control™ 2.0 and AI Insights™
   ═══════════════════════════════════════════════════════════════════════ */

:root {
  --mc-silver:        #C8CDD8;
  --mc-silver-bright: #E8ECF4;
  --mc-silver-soft:   rgba(200, 205, 216, 0.14);
  --mc-silver-glow:   rgba(200, 205, 216, 0.30);
  --mc-border-silver: rgba(200, 205, 216, 0.20);

  --ai-health:   #22c55e;
  --ai-identity: #38bdf8;
  --ai-publish:  #a855f7;
  --ai-catalog:  #fb923c;
  --ai-global:   #22d3ee;
  --ai-backend:  #00BFA5;
  --ai-predict:  #ec4899;
}

/* ═══════════════════════════════════════════════════════════════════════
   Mission Control™ 2.0 — Executive Command Center
   mc2-* namespace | Royal Purple™ + Executive Silver™
   ═══════════════════════════════════════════════════════════════════════ */

.ws-dept--mission-control {
  --ws-accent:        var(--mc-purple);
  --ws-accent-soft:   var(--mc-purple-soft);
  --ws-accent-border: var(--mc-border-warm);
  --ws-accent-glow:   var(--mc-purple-glow);
}

/* ─── Top bar ─────────────────────────────────────────────────────────── */

.mc2-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  height: 40px;
  border-bottom: 1px solid var(--mc-border);
  flex-shrink: 0;
  background: rgba(168, 85, 247, 0.02);
  position: relative;
}
.mc2-topbar-center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  pointer-events: none;
}
.mc2-topbar-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--mc-text);
}
.mc2-topbar-sub {
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.mc2-topbar-right {
  display: flex;
  align-items: center;
  gap: 16px;
}
.mc2-topbar-meta {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--mc-text-muted);
}
.mc2-live-badge {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mc-green);
  padding: 3px 10px;
  border: 1px solid rgba(45, 212, 191, 0.22);
  border-radius: 20px;
  background: rgba(45, 212, 191, 0.06);
}
.mc2-live-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--mc-green);
  animation: hi-live-pulse 2s ease-in-out infinite;
}

/* ─── Body layout ─────────────────────────────────────────────────────── */

.mc2-body {
  display: flex;
  flex: 1;
  min-height: 0;
  align-items: stretch;
}
.mc2-main {
  flex: 1;
  min-width: 0;
  padding: 40px 48px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: center;
  position: relative;
}

/* ─── Ambient particle field ──────────────────────────────────────────── */

.mc2-particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
.mc2-p {
  position: absolute;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: var(--mc-silver);
  animation: mc2-float var(--dur, 8s) ease-in-out var(--delay, 0s) infinite;
}
@keyframes mc2-float {
  0%, 100% { transform: translateY(0) scale(1); opacity: 0; }
  20%       { opacity: 0.55; }
  50%       { transform: translateY(-35px) scale(0.7); opacity: 0.2; }
  80%       { opacity: 0.4; }
}
.mc2-p:nth-child(1)  { left: 4%;  top: 75%; --dur: 7s;    --delay: 0s;    width: 1.5px; height: 1.5px; }
.mc2-p:nth-child(2)  { left: 11%; top: 45%; --dur: 9s;    --delay: 1.3s; }
.mc2-p:nth-child(3)  { left: 18%; top: 88%; --dur: 8.5s;  --delay: 2.6s;  width: 1.5px; height: 1.5px; }
.mc2-p:nth-child(4)  { left: 24%; top: 30%; --dur: 11s;   --delay: 0.7s; }
.mc2-p:nth-child(5)  { left: 33%; top: 65%; --dur: 7.5s;  --delay: 3.2s;  width: 3px;   height: 3px; }
.mc2-p:nth-child(6)  { left: 42%; top: 20%; --dur: 10s;   --delay: 1.8s;  width: 1px;   height: 1px; }
.mc2-p:nth-child(7)  { left: 51%; top: 80%; --dur: 8s;    --delay: 4.1s; }
.mc2-p:nth-child(8)  { left: 58%; top: 50%; --dur: 9.5s;  --delay: 0.4s;  width: 1.5px; height: 1.5px; }
.mc2-p:nth-child(9)  { left: 67%; top: 35%; --dur: 7.5s;  --delay: 2.2s; }
.mc2-p:nth-child(10) { left: 74%; top: 70%; --dur: 11s;   --delay: 3.8s;  width: 1px;   height: 1px; }
.mc2-p:nth-child(11) { left: 80%; top: 15%; --dur: 8.5s;  --delay: 1.0s;  width: 3px;   height: 3px; }
.mc2-p:nth-child(12) { left: 87%; top: 55%; --dur: 9s;    --delay: 4.5s; }
.mc2-p:nth-child(13) { left: 93%; top: 85%; --dur: 7s;    --delay: 2.9s;  width: 1.5px; height: 1.5px; }
.mc2-p:nth-child(14) { left: 7%;  top: 20%; --dur: 10.5s; --delay: 5.2s; }
.mc2-p:nth-child(15) { left: 28%; top: 95%; --dur: 8s;    --delay: 1.6s;  width: 1px;   height: 1px; }
.mc2-p:nth-child(16) { left: 46%; top: 10%; --dur: 9.5s;  --delay: 3.4s;  width: 1.5px; height: 1.5px; }
.mc2-p:nth-child(17) { left: 62%; top: 90%; --dur: 7.5s;  --delay: 0.9s; }
.mc2-p:nth-child(18) { left: 89%; top: 40%; --dur: 11s;   --delay: 5.8s;  width: 1px;   height: 1px; }

/* ─── Hero section ────────────────────────────────────────────────────── */

.mc2-hero {
  display: grid;
  grid-template-columns: 380px 1fr;
  min-height: 480px;
  background: linear-gradient(135deg, rgba(109, 40, 217, 0.07) 0%, rgba(168, 85, 247, 0.03) 60%, transparent);
  border: 1px solid rgba(168, 85, 247, 0.12);
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.mc2-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 14px;
  background: linear-gradient(90deg, transparent 0%, rgba(200, 205, 216, 0.06) 50%, transparent 100%);
  animation: mc2-hero-shimmer 8s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
@keyframes mc2-hero-shimmer {
  0%, 100% { transform: translateX(-120%); opacity: 0; }
  40%       { opacity: 1; }
  60%       { transform: translateX(120%); opacity: 0; }
}

/* Status panel */
.mc2-status-panel {
  padding: 44px 36px 44px 48px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  border-right: 1px solid rgba(168, 85, 247, 0.08);
  position: relative;
  z-index: 1;
}
.mc2-greeting-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--mc-purple);
  margin-bottom: 3px;
}
.mc2-greeting {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--mc-text);
  line-height: 1.05;
}
.mc2-greeting-sub {
  font-size: 12px;
  color: var(--mc-silver);
  font-weight: 400;
  opacity: 0.75;
  line-height: 1.8;
  margin-top: 6px;
}

.mc2-status-block { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; }
.mc2-status-block-label {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mc-text-faint);
}
.mc2-status-value-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mc2-status-value {
  font-size: 23px;
  font-weight: 800;
  color: #4ade80;
  letter-spacing: -0.02em;
}
.mc2-status-check {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(74, 222, 128, 0.12);
  border: 1px solid rgba(74, 222, 128, 0.28);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.mc2-status-check svg { width: 12px; height: 12px; color: #4ade80; }

.mc2-meta-row { display: flex; gap: 28px; }
.mc2-meta-item { display: flex; flex-direction: column; gap: 4px; }
.mc2-meta-key {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mc-text-faint);
}
.mc2-meta-val {
  font-size: 14px;
  font-weight: 700;
  color: var(--mc-text);
}
.mc2-meta-val--purple { color: var(--mc-purple); }

.mc2-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 26px;
  background: rgba(168, 85, 247, 0.14);
  border: 1px solid rgba(168, 85, 247, 0.36);
  border-radius: 9px;
  color: var(--mc-purple);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: var(--mc-font);
  transition: background 0.2s, box-shadow 0.2s;
  align-self: flex-start;
  text-decoration: none;
}
.mc2-hero-cta:hover {
  background: rgba(168, 85, 247, 0.22);
  box-shadow: 0 0 24px rgba(168, 85, 247, 0.2);
}

/* ATHENA mini sphere */
@keyframes mc2-fade-in { from { opacity: 0; } to { opacity: 1; } }

/* ─── Mini sphere: clock-orbit animation ──────────────────────────────── */

@keyframes mc2-clock { to { transform: rotate(360deg); } }

@keyframes mc2-core-appear {
  from { opacity: 0; transform: scale(0.6); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes mc2-pulse {
  0%   { transform: scale(1); opacity: 0.45; }
  100% { transform: scale(3.6); opacity: 0; }
}
@keyframes mc2-ambient-pulse {
  0%, 100% { opacity: 0.65; }
  50%       { opacity: 0.35; }
}

/* ─── Executive Snapshot™ ─────────────────────────────────────────────── */


/* ─── Command row ─────────────────────────────────────────────────────── */


/* Department Status list */

/* Executive Priority panel */

/* ─── Quick Access ────────────────────────────────────────────────────── */

/* ─── Royaltē OS Activity™ — replaces Quick Access ───────────────────────── */

/* Legacy — kept for CSS completeness */

/* ─── Right sidebar ───────────────────────────────────────────────────── */

/* Executive Summary confidence ring */
/* Business Timeline */
/* ═══════════════════════════════════════════════════════════════════════
   AI Insights™ Workspace — ATHENA™ Executive Intelligence
   Dept: ws-dept--ai-insights / Accent: Royal Purple™ (#a855f7)
   AI Intelligence Colour: Executive Silver™ (#C8CDD8)
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── Purple breadcrumb current ─────────────────────────────────────── */
.ai-breadcrumb-current { color: var(--mc-purple) !important; }

/* ─── Workspace-level overrides ─────────────────────────────────────── */
.ws-dept--ai-insights .ws-rail {
  background: linear-gradient(180deg, rgba(168,85,247,0.05), transparent 35%);
}
.ws-dept--ai-insights .hi-exec-panel {
  background: linear-gradient(180deg, rgba(168,85,247,0.05), transparent 35%);
}

/* ─── AI Hero Section™ ──────────────────────────────────────────────── */
.ai-hero-section {
  display: grid;
  grid-template-columns: 1fr 1.45fr;
  gap: 0;
  align-items: center;
  background: linear-gradient(135deg, rgba(109,40,217,0.08) 0%, rgba(168,85,247,0.04) 50%, transparent 100%);
  border: 1px solid rgba(168,85,247,0.12);
  border-radius: 14px;
  overflow: hidden;
  min-height: 360px;
}
.ai-hero-text {
  padding: 32px 28px 32px 32px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ai-hero-eyebrow {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mc-purple);
  margin-bottom: 2px;
}
.ai-hero-greeting {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--mc-text);
  line-height: 1.15;
}
.ai-hero-analyzed {
  font-size: 13px;
  color: var(--mc-text-soft);
  line-height: 1.4;
}
.ai-hero-brief-label {
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  margin-top: 4px;
}
.ai-hero-desc {
  font-size: 13.5px;
  color: var(--mc-text-soft);
  line-height: 1.55;
}
.ai-hero-critical  { color: #f87171; font-weight: 700; }
.ai-hero-opportunity { color: #4ade80; font-weight: 700; }
.ai-hero-reading-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.ai-hero-reading-icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid rgba(168,85,247,0.25);
  background: rgba(168,85,247,0.08);
  display: grid;
  place-items: center;
  color: var(--mc-purple);
  flex-shrink: 0;
}
.ai-hero-reading-icon svg { width: 14px; height: 14px; }
.ai-hero-reading-label {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  line-height: 1;
}
.ai-hero-reading-time {
  font-size: 13px;
  font-weight: 700;
  color: var(--mc-text-soft);
  line-height: 1;
  margin-top: 2px;
}
.ai-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding: 9px 18px;
  background: rgba(168,85,247,0.12);
  border: 1px solid rgba(168,85,247,0.32);
  border-radius: 8px;
  color: var(--mc-purple);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: var(--mc-font);
  transition: background 0.2s, box-shadow 0.2s;
  align-self: flex-start;
}
.ai-hero-cta:hover {
  background: rgba(168,85,247,0.2);
  box-shadow: 0 0 20px rgba(168,85,247,0.2);
}

/* ─── Living Intelligence Core™ container ────────────────────────────── */
.ai-core-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 20px 16px 0;
  position: relative;
}
.ai-core-svg {
  width: 100%;
  max-width: 440px;
  height: auto;
  overflow: visible;
}

/* ─── Orbit groups ───────────────────────────────────────────────────── */
.ai-orbit-group {
  transform-box: view-box;
  transform-origin: center;
  opacity: 0;
  transition: opacity 0.6s ease;
}
.ai-orbit-group.ai-node--live { opacity: 1; }
.ai-orbit-health   { animation: ai-orbit-cw  52s linear infinite; }
.ai-orbit-publishing { animation: ai-orbit-cw  68s linear infinite; }
.ai-orbit-catalog  { animation: ai-orbit-cw  38s linear infinite; }
.ai-orbit-predict  { animation: ai-orbit-cw  60s linear infinite; }
.ai-orbit-backend  { animation: ai-orbit-ccw 42s linear infinite; }
.ai-orbit-global   { animation: ai-orbit-ccw 48s linear infinite; }
.ai-orbit-identity { animation: ai-orbit-ccw 44s linear infinite; }

/* ─── Label groups — counter-rotate to stay upright ─────────────────── */
.ai-node-label-g {
  transform-box: fill-box;
  transform-origin: center;
}
.ai-nlg--health    { animation: ai-orbit-ccw 52s linear infinite; }
.ai-nlg--publishing { animation: ai-orbit-ccw 68s linear infinite; }
.ai-nlg--catalog   { animation: ai-orbit-ccw 38s linear infinite; }
.ai-nlg--predict   { animation: ai-orbit-ccw 60s linear infinite; }
.ai-nlg--backend   { animation: ai-orbit-cw  42s linear infinite; }
.ai-nlg--global    { animation: ai-orbit-cw  48s linear infinite; }
.ai-nlg--identity  { animation: ai-orbit-cw  44s linear infinite; }

/* ─── Connection lines ───────────────────────────────────────────────── */
.ai-connect {
  stroke-width: 0.6;
  fill: none;
  opacity: 0.2;
  stroke-dasharray: 4 4;
}
.ai-connect--health    { stroke: var(--ai-health); }
.ai-connect--publishing { stroke: var(--ai-publish); }
.ai-connect--catalog   { stroke: var(--ai-catalog); }
.ai-connect--predict   { stroke: var(--ai-predict); }
.ai-connect--backend   { stroke: var(--ai-backend); }
.ai-connect--global    { stroke: var(--ai-global); }
.ai-connect--identity  { stroke: var(--ai-identity); }

/* ─── Node glows and dots ────────────────────────────────────────────── */
.ai-node-glow { fill-opacity: 0.18; filter: blur(6px); }
.ai-ng--health     { fill: var(--ai-health); }
.ai-ng--publishing { fill: var(--ai-publish); }
.ai-ng--catalog    { fill: var(--ai-catalog); }
.ai-ng--predict    { fill: var(--ai-predict); }
.ai-ng--backend    { fill: var(--ai-backend); }
.ai-ng--global     { fill: var(--ai-global); }
.ai-ng--identity   { fill: var(--ai-identity); }
.ai-node-dot { stroke-width: 1.5; }
.ai-nd--health     { fill: var(--ai-health);   stroke: rgba(34,197,94,0.4); }
.ai-nd--publishing { fill: var(--ai-publish);  stroke: rgba(168,85,247,0.4); }
.ai-nd--catalog    { fill: var(--ai-catalog);  stroke: rgba(251,146,60,0.4); }
.ai-nd--predict    { fill: var(--ai-predict);  stroke: rgba(236,72,153,0.4); }
.ai-nd--backend    { fill: var(--ai-backend);  stroke: rgba(0,191,165,0.4); }
.ai-nd--global     { fill: var(--ai-global);   stroke: rgba(34,211,238,0.4); }
.ai-nd--identity   { fill: var(--ai-identity); stroke: rgba(56,189,248,0.4); }

/* ─── Node name labels ───────────────────────────────────────────────── */
.ai-node-name {
  font-family: var(--mc-font);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  fill: var(--mc-text-soft);
}

/* ─── Orbital rings ──────────────────────────────────────────────────── */
.ai-ring { fill: none; stroke-width: 0.8; }
.ai-ring--outer { stroke: rgba(168,85,247,0.12); }
.ai-ring--mid   { stroke: rgba(168,85,247,0.09); }
.ai-ring--inner { stroke: rgba(200,205,216,0.08); }

/* ─── Core group ─────────────────────────────────────────────────────── */
.ai-core-group {
  transform-box: fill-box;
  transform-origin: center;
  animation: ai-core-activate 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s both;
}
.ai-core-halo {
  animation: ai-core-halo-pulse 5s ease-in-out infinite;
  transform-box: fill-box;
  transform-origin: center;
}
.ai-core-sphere {
  animation: ai-breathe 5s ease-in-out 1.5s infinite;
  transform-box: fill-box;
  transform-origin: center;
  filter: drop-shadow(0 0 16px rgba(200,205,216,0.5));
}
.ai-core-shine { animation: ai-shimmer 7s ease-in-out infinite; }

/* ─── Pulse ring ─────────────────────────────────────────────────────── */
.ai-pulse-ring {
  transform-box: fill-box;
  transform-origin: center;
  animation: ai-pulse-ring 3.5s ease-out 2.5s infinite;
}
.ai-pulse-ring-2 {
  transform-box: fill-box;
  transform-origin: center;
  animation: ai-pulse-ring 3.5s ease-out 4.25s infinite;
}

/* ─── Core labels ────────────────────────────────────────────────────── */
.ai-core-name {
  font-family: var(--mc-font);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  fill: var(--mc-purple);
}
.ai-core-sublabel {
  font-family: var(--mc-font);
  font-size: 6.5px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  fill: var(--mc-text-faint);
}
.ai-ambient-field {
  opacity: 0;
  animation: ai-ambient-reveal 2s ease-out 0.05s both;
}

/* ─── Keyframe animations ────────────────────────────────────────────── */
@keyframes ai-orbit-cw  { to { transform: rotate(360deg); } }
@keyframes ai-orbit-ccw { to { transform: rotate(-360deg); } }
@keyframes ai-core-activate {
  from { opacity: 0; transform: scale(0.55); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes ai-breathe {
  0%, 100% { transform: scale(1);    opacity: 1; }
  50%       { transform: scale(1.07); opacity: 0.88; }
}
@keyframes ai-core-halo-pulse {
  0%, 100% { opacity: 0.7; transform: scale(1); }
  50%       { opacity: 0.45; transform: scale(1.12); }
}
@keyframes ai-shimmer {
  0%, 100% { opacity: 0.45; }
  40%       { opacity: 0.8; }
  70%       { opacity: 0.55; }
}
@keyframes ai-pulse-ring {
  0%   { transform: scale(1); opacity: 0.55; stroke-width: 1.5; }
  100% { transform: scale(2.8); opacity: 0; stroke-width: 0.4; }
}
@keyframes ai-ambient-reveal {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ─── KPI color variants for AI Insights ────────────────────────────── */
.ai-kpi-label--critical  { color: #f87171; }
.ai-kpi-label--opportunity { color: #4ade80; }
.ai-kpi-label--action    { color: var(--mc-blue); }
.ai-kpi-label--confidence { color: var(--mc-purple); }
.ai-kpi-icon-wrap--critical   { background: rgba(248,113,113,0.1); color: #f87171; border-color: rgba(248,113,113,0.25); }
.ai-kpi-icon-wrap--opportunity { background: rgba(74,222,128,0.1); color: #4ade80; border-color: rgba(74,222,128,0.25); }
.ai-kpi-icon-wrap--action     { background: rgba(56,189,248,0.1); color: var(--mc-blue); border-color: rgba(56,189,248,0.25); }
.ai-kpi-icon-wrap--confidence { background: rgba(168,85,247,0.1); color: var(--mc-purple); border-color: rgba(168,85,247,0.25); }
.ai-kpi-status--critical    { color: #f87171; }
.ai-kpi-status--opportunity { color: #4ade80; }
.ai-kpi-status--action      { color: var(--mc-blue); }
.ai-kpi-status--confidence  { color: var(--mc-purple); }

/* ─── Executive Recommendations™ ────────────────────────────────────── */
.ai-rec-section { display: flex; flex-direction: column; gap: 14px; }
.ai-section-eyebrow {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.ai-rec-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.ai-rec-card {
  background: var(--mc-surface-2);
  border: 1px solid var(--mc-border);
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color 0.2s, box-shadow 0.2s;
  cursor: default;
}
.ai-rec-card:hover { border-color: rgba(168,85,247,0.2); box-shadow: 0 4px 20px rgba(168,85,247,0.06); }
.ai-rec-badge-row { display: flex; align-items: center; gap: 6px; }
.ai-rec-badge {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 20px;
  border: 1px solid;
}
.ai-rec-badge--critical   { color: #f87171; background: rgba(248,113,113,0.1); border-color: rgba(248,113,113,0.28); }
.ai-rec-badge--opportunity { color: #4ade80; background: rgba(74,222,128,0.1); border-color: rgba(74,222,128,0.28); }
.ai-rec-badge--identity   { color: var(--mc-blue); background: rgba(56,189,248,0.1); border-color: rgba(56,189,248,0.28); }
.ai-rec-badge--metadata   { color: var(--mc-orange); background: rgba(251,146,60,0.1); border-color: rgba(251,146,60,0.28); }
.ai-rec-badge-icon {
  width: 22px; height: 22px; border-radius: 50%; border: 1px solid;
  display: grid; place-items: center; flex-shrink: 0;
}
.ai-rec-badge-icon svg { width: 11px; height: 11px; }
.ai-rec-badge-icon--critical   { color:#f87171; background:rgba(248,113,113,0.12); border-color:rgba(248,113,113,0.28); }
.ai-rec-badge-icon--opportunity { color:#4ade80; background:rgba(74,222,128,0.12); border-color:rgba(74,222,128,0.28); }
.ai-rec-badge-icon--identity   { color:var(--mc-blue); background:rgba(56,189,248,0.12); border-color:rgba(56,189,248,0.28); }
.ai-rec-badge-icon--metadata   { color:var(--mc-orange); background:rgba(251,146,60,0.12); border-color:rgba(251,146,60,0.28); }
.ai-rec-title { font-size: 13px; font-weight: 700; color: var(--mc-text); line-height: 1.3; }
.ai-rec-desc  { font-size: 11.5px; color: var(--mc-text-muted); line-height: 1.45; flex: 1; }
.ai-rec-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 6px;
  border-top: 1px solid var(--mc-border);
  margin-top: auto;
}
.ai-rec-meta-col { display: flex; flex-direction: column; gap: 2px; }
.ai-rec-meta-key {
  font-size: 8px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--mc-text-faint);
}
.ai-rec-meta-val { font-size: 11.5px; font-weight: 700; }
.ai-rec-meta-val--critical    { color: #f87171; }
.ai-rec-meta-val--high        { color: var(--mc-orange); }
.ai-rec-meta-val--medium      { color: #facc15; }
.ai-rec-meta-val--opportunity { color: #4ade80; }
.ai-rec-arrow {
  width: 22px; height: 22px; border-radius: 50%;
  background: rgba(168,85,247,0.1); border: 1px solid rgba(168,85,247,0.22);
  display: grid; place-items: center;
  color: var(--mc-purple); font-size: 12px; line-height: 1; flex-shrink: 0;
}

/* ─── Business Priorities™ ───────────────────────────────────────────── */
.ai-priorities-section { display: flex; flex-direction: column; gap: 14px; }
.ai-forecast-section   { display: flex; flex-direction: column; gap: 14px; }
.ai-forecast-eyebrow-row { display: flex; align-items: center; gap: 10px; }
.ai-priorities-list { display: flex; flex-direction: column; gap: 8px; }
.ai-priority-row {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 16px;
  background: var(--mc-surface-2);
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  transition: border-color 0.2s;
}
.ai-priority-row:hover { border-color: rgba(168,85,247,0.18); }
.ai-priority-num {
  font-size: 16px; font-weight: 800; color: var(--mc-text-faint);
  width: 24px; text-align: center; flex-shrink: 0; font-variant-numeric: tabular-nums;
}
.ai-priority-body { flex: 1; min-width: 0; }
.ai-priority-title { font-size: 13px; font-weight: 700; color: var(--mc-text); margin-bottom: 2px; }
.ai-priority-desc  { font-size: 11px; color: var(--mc-text-muted); }
.ai-priority-meta  { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }
.ai-priority-chip {
  font-size: 9px; font-weight: 700; letter-spacing: 0.08em;
  padding: 3px 8px; border-radius: 20px; border: 1px solid; white-space: nowrap;
}
.ai-priority-chip--impact-critical { color:#f87171; background:rgba(248,113,113,0.1); border-color:rgba(248,113,113,0.25); }
.ai-priority-chip--impact-high     { color:var(--mc-orange); background:rgba(251,146,60,0.1); border-color:rgba(251,146,60,0.25); }
.ai-priority-chip--impact-medium   { color:#facc15; background:rgba(250,204,21,0.1); border-color:rgba(250,204,21,0.25); }
.ai-priority-chip--diff-easy       { color:#4ade80; background:rgba(74,222,128,0.1); border-color:rgba(74,222,128,0.25); }
.ai-priority-chip--diff-medium     { color:var(--mc-orange); background:rgba(251,146,60,0.1); border-color:rgba(251,146,60,0.25); }
.ai-priority-chip--diff-hard       { color:#f87171; background:rgba(248,113,113,0.1); border-color:rgba(248,113,113,0.25); }
.ai-priority-chip--time            { color:var(--mc-text-muted); background:rgba(255,255,255,0.04); border-color:rgba(255,255,255,0.1); }

/* ─── Executive Forecast™ ────────────────────────────────────────────── */
.ai-forecast-card {
  background: linear-gradient(135deg, rgba(109,40,217,0.08), rgba(168,85,247,0.03));
  border: 1px solid rgba(168,85,247,0.14);
  border-radius: 12px; padding: 20px 24px;
  display: flex; flex-direction: column; gap: 14px;
}
.ai-forecast-header { display: flex; justify-content: space-between; align-items: center; }
.ai-forecast-title { font-size: 9.5px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mc-text-muted); }
.ai-forecast-period {
  font-size: 9px; font-weight: 600; color: var(--mc-purple);
  background: rgba(168,85,247,0.1); border: 1px solid rgba(168,85,247,0.22);
  padding: 2px 8px; border-radius: 20px; letter-spacing: 0.06em;
}
.ai-forecast-insights { display: flex; flex-direction: column; gap: 8px; }
.ai-forecast-insight {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 12.5px; color: var(--mc-text-soft); line-height: 1.45;
}
.ai-forecast-dot { width: 6px; height: 6px; border-radius: 50%; margin-top: 5px; flex-shrink: 0; }
.ai-forecast-dot--green  { background: var(--ai-health); }
.ai-forecast-dot--orange { background: var(--ai-catalog); }
.ai-forecast-dot--cyan   { background: var(--ai-global); }
.ai-forecast-metrics {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
  padding-top: 8px; border-top: 1px solid var(--mc-border);
}
.ai-forecast-metric { text-align: center; }
.ai-forecast-metric-key {
  font-size: 8px; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--mc-text-faint); margin-bottom: 4px;
}
.ai-forecast-metric-val { font-size: 14px; font-weight: 800; line-height: 1; }
.ai-forecast-metric-val--green  { color: var(--ai-health); }
.ai-forecast-metric-val--cyan   { color: var(--ai-global); }
.ai-forecast-metric-val--purple { color: var(--mc-purple); }
.ai-forecast-metric-val--safe   { color: var(--mc-text-soft); }

/* ─── AI exec panel ──────────────────────────────────────────────────── */
.ai-panel-confidence-num {
  font-size: 36px; font-weight: 800; letter-spacing: -0.04em;
  color: var(--mc-purple); line-height: 1;
}
.ai-panel-confidence-grade {
  font-size: 10px; font-weight: 700; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--mc-purple); margin-top: 2px;
}
.ai-panel-trend { font-size: 11px; font-weight: 700; color: #4ade80; margin-top: 6px; }
.ai-panel-sparkline { height: 36px; width: 100%; margin-top: 8px; }
.ai-panel-sphere {
  width: 54px; height: 54px; border-radius: 50%;
  background: radial-gradient(circle at 35% 32%, rgba(200,205,216,0.7) 0%, rgba(168,85,247,0.2) 55%, transparent 75%);
  border: 1px solid var(--mc-border-silver);
  box-shadow: 0 0 22px rgba(200,205,216,0.12), 0 0 44px rgba(168,85,247,0.1);
  flex-shrink: 0;
}
.ai-panel-summary-text { font-size: 13px; font-weight: 400; color: var(--mc-text-soft); line-height: 1.5; }
.ai-panel-summary-bold { font-weight: 700; color: var(--mc-text); }
.ai-panel-stats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 8px; }
.ai-panel-stat {
  text-align: center; padding: 8px 4px;
  background: rgba(168,85,247,0.06);
  border: 1px solid rgba(168,85,247,0.12);
  border-radius: 8px;
}
.ai-panel-stat-num { font-size: 15px; font-weight: 800; color: var(--mc-silver); line-height: 1; }
.ai-panel-stat-label { font-size: 8px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mc-text-faint); margin-top: 3px; }
.ai-panel-today-list { display: flex; flex-direction: column; gap: 8px; margin-top: 2px; }
.ai-panel-today-item { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--mc-text-soft); }
.ai-panel-today-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.ai-panel-today-num { font-weight: 700; color: var(--mc-text); margin-right: 1px; }

/* ─── Mobile: AI Insights ────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .ai-rec-grid { grid-template-columns: repeat(2, 1fr); }
  .ai-forecast-metrics { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .ai-hero-section { grid-template-columns: 1fr; }
  .ai-core-wrap { padding: 0 16px 16px; }
  .ai-rec-grid { grid-template-columns: 1fr; }
  .ai-bottom-row { grid-template-columns: 1fr; gap: 14px; }

  /* Business Priorities™ — Executive Mobile™ card layout
   * Each priority card stacks vertically; chips wrap to a second line.
   * Keeps all intelligence visible without horizontal overflow. */
  .ai-priorities-section { display: flex; }
  .ai-priority-row {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px 12px;
    padding: 12px 14px;
  }
  .ai-priority-meta {
    width: 100%;
    flex-wrap: wrap;
    gap: 6px;
  }

  /* Executive Forecast™ — Executive Mobile™ layout
   * Insight bullets already column-stacked; KPIs collapse to 2×2 grid. */
  .ai-forecast-card { display: flex; }
  .ai-forecast-metrics { grid-template-columns: repeat(2, 1fr); }
}

/* ─── One-Screen Optimization Pass ──────────────────────────────────── */
.ws-dept--ai-insights .hi-main         { padding: 10px 26px 14px; gap: 10px; }
.ws-dept--ai-insights .ai-hero-section { min-height: 260px; }
.ws-dept--ai-insights .ai-core-svg     { max-width: 340px; }
.ws-dept--ai-insights .ai-core-wrap    { padding: 8px 14px 8px 0; }
.ws-dept--ai-insights .ai-hero-text    { padding: 16px 18px 16px 22px; gap: 5px; }
.ws-dept--ai-insights .ai-hero-cta     { padding: 7px 16px; margin-top: 2px; }
.ws-dept--ai-insights .ai-rec-section  { gap: 8px; }
.ws-dept--ai-insights .ai-rec-grid     { grid-template-columns: repeat(2, 1fr); gap: 8px; }
.ws-dept--ai-insights .ai-rec-card     { padding: 10px 14px; gap: 5px; }
.ws-dept--ai-insights .ai-rec-title    { font-size: 13.5px; }
.ws-dept--ai-insights .ai-rec-desc     { font-size: 11px; line-height: 1.35; }
.ws-dept--ai-insights .ai-rec-meta-row { padding-top: 4px; }
.ai-bottom-row {
  display: grid;
  grid-template-columns: 5fr 6fr;
  gap: 10px;
  align-items: stretch;
}
.ws-dept--ai-insights .ai-priorities-section,
.ws-dept--ai-insights .ai-forecast-section   { gap: 8px; }
.ws-dept--ai-insights .ai-forecast-section   { display: flex; flex-direction: column; }
.ws-dept--ai-insights .ai-forecast-eyebrow-row { margin-top: 4px; }
.ws-dept--ai-insights .ai-priorities-list    { gap: 3px; }
.ws-dept--ai-insights .ai-priority-row       { padding: 6px 12px; gap: 12px; }
.ws-dept--ai-insights .ai-priority-desc      { display: block; }
.ws-dept--ai-insights .ai-forecast-card      { padding: 20px 22px; gap: 12px; flex: 1; }
.ws-dept--ai-insights .ai-forecast-insights  { gap: 12px; flex: 1; }
.ws-dept--ai-insights .ai-forecast-insight   { font-size: 11.5px; gap: 6px; line-height: 1.4; }
.ws-dept--ai-insights .ai-forecast-metrics   { gap: 8px; padding-top: 16px; }
.ws-dept--ai-insights .ai-forecast-metric-val { font-size: 14px; }

/* ─── Nav version footer ──────────────────────────────────────────────── */

.mc2-rail-footer {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--mc-border);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mc2-rail-version {
  font-size: 8.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--mc-text-faint);
  text-transform: uppercase;
}
.mc2-rail-user {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0 0;
}
.mc2-rail-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(168, 85, 247, 0.18);
  border: 1px solid rgba(168, 85, 247, 0.3);
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 700;
  color: var(--mc-purple);
  flex-shrink: 0;
}
.mc2-rail-user-name { font-size: 11px; font-weight: 700; color: var(--mc-text-soft); }
.mc2-rail-user-role { font-size: 9px; color: var(--mc-text-faint); }

/* ═══════════════════════════════════════════════════════════════════════
   Mission Control™ OS Frame — Navigation-first layout
   mc2-os-* namespace | The operating system desktop
   ═══════════════════════════════════════════════════════════════════════ */

.mc2-os-frame {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  height: 100vh;
  overflow: hidden;
}
/* ─── OS header strip ────────────────────────────────────────────────── */

/* ─── Globe stage ────────────────────────────────────────────────────── */
.mc2-globe-line.mc2-line--live { opacity: 1; }
@keyframes mc2-line-flow { to { stroke-dashoffset: -40; } }

/* ─── Workspace navigation nodes ────────────────────────────────────── */
@keyframes mc2-node-appear {
  from { opacity: 0; transform: translate(-50%, -50%) scale(0.88); }
  to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

/* Node domain icon backgrounds */

/* Node animation delays for sequential appearance */

/* Glowing connection endpoint dot */
@keyframes mc2-endpt-pulse {
  0%, 100% { opacity: 0.8; r: 2.5px; }
  50%       { opacity: 0.4; r: 3.5px; }
}

/* ─── OS Dock ─────────────────────────────────────────────────────────── */
/* ─── Globe surface text labels ──────────────────────────────────────── */
/* ─── Hero globe — purple network globe within mc2-hero right panel ────── */

.mc2-globe-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  z-index: 1;
}
/* ── ATHENA™ Executive Purple Atmosphere — Layer 3 ──────────────────────────
   CSS-generated ambient bloom. Sits behind the portrait (z-index:2) and
   extends ~70 px beyond the portrait in all directions for a natural glow
   that belongs to Mission Control, not to the image asset.              */
.mc2-athena-atmosphere {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(109, 40, 217, 0.42) 0%,
    rgba(109, 40, 217, 0.22) 28%,
    rgba(88,  28, 135, 0.10) 55%,
    rgba(60,  10, 100, 0.03) 78%,
    transparent 100%);
  pointer-events: none;
  z-index: 2;
  animation: mc2-atm-breathe 9s ease-in-out infinite;
}
@keyframes mc2-atm-breathe {
  0%, 100% { opacity: 0.72; transform: translate(-50%, -50%) scale(1.00); }
  50%       { opacity: 1.00; transform: translate(-50%, -50%) scale(1.10); }
}

/* ── Portrait — Layer 2 ─────────────────────────────────────────────────────
   Transparent PNG: background removed via luminance extraction.
   drop-shadow follows the actual wireframe silhouette (not a rectangle).
   mix-blend-mode: screen amplifies the purple wireframe dots against the
   purple atmosphere beneath them.                                        */
.mc2-hero-globe {
  height: 300px;
  width: auto;
  overflow: visible;
  filter: drop-shadow(0 0 28px rgba(109,40,217,0.55)) drop-shadow(0 0 70px rgba(168,85,247,0.22));
  animation: mc2-fade-in 1.2s ease 0.2s both;
  position: relative;
  z-index: 3;
  flex-shrink: 0;
  mix-blend-mode: screen;
}

/* ── ATHENA™ Eye Intelligence Pulse ───────────────────────────────────────── */
/* Position: portrait eye is at ~21% from left, ~28% from top of the image.
   At 240×300 px display, centred in globe-hero → offset from container 50%:
   x: (0.21×240 = 50px from img-left) - (240/2 = 120px) = -70px from centre
   y: (0.28×300 = 84px from img-top)  - (300/2 = 150px) = -66px from centre */
.mc2-athena-eye {
  position: absolute;
  left: calc(50% - 70px);
  top:  calc(50% - 66px);
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 6;
  background: transparent;
  box-shadow: 0 0 0 0 transparent;
  animation: mc2-eye-pulse 14s ease-in-out infinite;
}
@keyframes mc2-eye-pulse {
  /* Idle — invisible for ~13.3 s */
  0%, 95% {
    background: rgba(220,155,255,0);
    box-shadow: 0 0 0 0 rgba(185,80,255,0),
                0 0 0 0 rgba(145,40,220,0);
  }
  /* Peak — gentle brightening over 0.28 s */
  97% {
    background: rgba(248,215,255,0.88);
    box-shadow: 0 0 5px 2px rgba(195,95,255,0.68),
                0 0 16px 7px rgba(150,45,225,0.30);
  }
  /* Fade — dissolves over 0.42 s */
  100% {
    background: rgba(220,155,255,0);
    box-shadow: 0 0 8px 5px rgba(185,80,255,0),
                0 0 22px 12px rgba(145,40,220,0);
  }
}

/* ── ATHENA™ Earring — purple light comet ─────────────────────────────────
   Portrait anatomy (240×300 display): right ear (viewer's right) ≈ 80% x, 38% y
   → x: 0.80×240=192, 192-120=+72px from center
   → y: 0.38×300=114, 114-150=-36px from center
   Circumference r=9: 2π×9 ≈ 56.5px. dasharray 5+51.5=56.5.               */
.mc2-athena-earring {
  position: absolute;
  left: calc(50% + 72px);
  top:  calc(50% - 36px);
  width: 18px;
  height: 18px;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 5;
  overflow: visible;
  filter: drop-shadow(0 0 5px rgba(168,85,247,0.88))
          drop-shadow(0 0 14px rgba(109,40,217,0.50));
}
.mc2-earring-comet {
  transform-origin: 12px 12px;
  animation: mc2-earring-spin 3.2s linear infinite;
}
@keyframes mc2-earring-spin {
  from { stroke-dashoffset: 0; }
  to   { stroke-dashoffset: -56.5; }
}

.mc2-hero-globe-lines {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  overflow: visible;
  pointer-events: none;
  z-index: 1;
  width: 340px;
  height: 340px;
}
.mc2-hero-globe-line {
  stroke-dasharray: 4 4;
  animation: mc2-line-flow 3.5s linear infinite;
  opacity: 0;
  transition: opacity 1.4s;
}
.mc2-hero-globe-line.mc2-line--live { opacity: 1; }

/* ─── Hero dept nodes — compact icon + label ──────────────────────────── */

.mc2-hero-node {
  position: absolute;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  z-index: 10;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s;
  animation: mc2-node-appear 0.6s cubic-bezier(0.34,1.56,0.64,1) both;
}
.mc2-hero-node:hover { transform: translate(-50%,-50%) scale(1.1); }
.mc2-hn-icon {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,0.1);
  backdrop-filter: blur(10px);
  transition: box-shadow 0.25s;
}
.mc2-hn-icon svg { width: 17px; height: 17px; }
.mc2-hn-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--mc-text-soft);
  text-align: center;
  white-space: nowrap;
}
.mc2-hn-status {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 7.5px;
  color: var(--mc-text-faint);
  white-space: nowrap;
  line-height: 1;
}
.mc2-hn-dot { width: 4px; height: 4px; border-radius: 50%; flex-shrink: 0; }
.mc2-hn-dot--op  { background: #4ade80; }
.mc2-hn-dot--act { background: var(--mc-orange); }
.mc2-hn-dot--new { background: var(--mc-purple); animation: hi-live-pulse 2s ease-in-out infinite; }

/* Hero node domain colors */
.mc2-hn--health    .mc2-hn-icon { background: rgba(34,197,94,0.15);   color: #4ade80; }
.mc2-hn--health:hover    .mc2-hn-icon { box-shadow: 0 0 20px rgba(34,197,94,0.5); }
.mc2-hn--identity  .mc2-hn-icon { background: rgba(56,189,248,0.15);  color: #38bdf8; }
.mc2-hn--identity:hover  .mc2-hn-icon { box-shadow: 0 0 20px rgba(56,189,248,0.5); }
.mc2-hn--publishing .mc2-hn-icon { background: rgba(168,85,247,0.15); color: #a855f7; }
.mc2-hn--publishing:hover .mc2-hn-icon { box-shadow: 0 0 20px rgba(168,85,247,0.5); }
.mc2-hn--catalog   .mc2-hn-icon { background: rgba(251,146,60,0.15);  color: #fb923c; }
.mc2-hn--catalog:hover   .mc2-hn-icon { box-shadow: 0 0 20px rgba(251,146,60,0.5); }
.mc2-hn--global    .mc2-hn-icon { background: rgba(34,211,238,0.15);  color: #22d3ee; }
.mc2-hn--global:hover    .mc2-hn-icon { box-shadow: 0 0 20px rgba(34,211,238,0.5); }
.mc2-hn--backend   .mc2-hn-icon { background: rgba(0,191,165,0.15);   color: #00BFA5; }
.mc2-hn--backend:hover   .mc2-hn-icon { box-shadow: 0 0 20px rgba(0,191,165,0.5); }
.mc2-hn--ai        .mc2-hn-icon { background: rgba(200,205,216,0.10); color: #C8CDD8; }
.mc2-hn--ai:hover        .mc2-hn-icon { box-shadow: 0 0 18px rgba(200,205,216,0.35); }
.mc2-hn--review    .mc2-hn-icon { background: rgba(251,146,60,0.12);  color: #fb923c; }
.mc2-hn--review:hover    .mc2-hn-icon { box-shadow: 0 0 18px rgba(251,146,60,0.45); }

/* Staggered entrance for hero nodes */
.mc2-hero-node:nth-child(3) { animation-delay: 0.7s; }
.mc2-hero-node:nth-child(4) { animation-delay: 0.9s; }
.mc2-hero-node:nth-child(5) { animation-delay: 1.1s; }
.mc2-hero-node:nth-child(6) { animation-delay: 1.3s; }
.mc2-hero-node:nth-child(7) { animation-delay: 1.5s; }
.mc2-hero-node:nth-child(8) { animation-delay: 1.7s; }
.mc2-hero-node:nth-child(9) { animation-delay: 1.9s; }
.mc2-hero-node:nth-child(10) { animation-delay: 2.1s; }

/* ═══════════════════════════════════════════════════════════════════════
   Mission Control™ — Final Optimization Pass
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── Executive intelligence sentence ───────────────────────────────── */
.mc2-intel-sentence {
  font-size: 12px;
  color: var(--mc-silver);
  opacity: 0.70;
  line-height: 1.8;
  margin-top: 6px;
}
.mc2-intel-num         { font-weight: 700; }
.mc2-intel-num--alert  { color: #f87171; }
.mc2-intel-num--opport { color: #4ade80; }

/* ─── Line hover — brightens on node mouseenter ─────────────────────── */
.mc2-hero-globe-line.mc2-line--hovered {
  opacity: 1 !important;
  stroke-width: 2;
  transition: stroke-width 0.18s ease, opacity 0.18s ease;
}

/* ─── Node hover — enhanced glow ────────────────────────────────────── */
.mc2-hn--health:hover    .mc2-hn-icon { box-shadow: 0 0 28px rgba(34,197,94,0.72),   0 0 8px rgba(34,197,94,0.36); }
.mc2-hn--identity:hover  .mc2-hn-icon { box-shadow: 0 0 28px rgba(56,189,248,0.72),  0 0 8px rgba(56,189,248,0.36); }
.mc2-hn--publishing:hover .mc2-hn-icon { box-shadow: 0 0 28px rgba(168,85,247,0.72), 0 0 8px rgba(168,85,247,0.36); }
.mc2-hn--catalog:hover   .mc2-hn-icon { box-shadow: 0 0 28px rgba(251,146,60,0.72),  0 0 8px rgba(251,146,60,0.36); }
.mc2-hn--global:hover    .mc2-hn-icon { box-shadow: 0 0 28px rgba(34,211,238,0.72),  0 0 8px rgba(34,211,238,0.36); }
.mc2-hn--backend:hover   .mc2-hn-icon { box-shadow: 0 0 28px rgba(0,191,165,0.72),   0 0 8px rgba(0,191,165,0.36); }
.mc2-hn--ai:hover        .mc2-hn-icon { box-shadow: 0 0 24px rgba(200,205,216,0.52), 0 0 8px rgba(200,205,216,0.28); }
.mc2-hn--review:hover    .mc2-hn-icon { box-shadow: 0 0 24px rgba(251,146,60,0.65),  0 0 8px rgba(251,146,60,0.32); }

/* ─── Responsive — tablet ≤ 1024px ──────────────────────────────────── */
@media (max-width: 1024px) {
  .mc2-hero { grid-template-columns: 300px 1fr; min-height: 420px; }
  .mc2-main { padding: 24px 28px; }
  .mc2-status-panel { padding: 32px 20px 32px 28px; }
  .mc2-hero-globe { height: 260px; }
}

/* ─── Responsive — phone ≤ 640px — RDS Compliance Sprint 1 ──────────── */
@media (max-width: 640px) {

  /* ── Issue 4: Scroll architecture ───────────────────────────────────
     Desktop: mc2-os-frame is a locked 100vh frame (one-screen canvas).
     Mobile: dissolve height constraint — content scrolls naturally.
     100dvh accounts for mobile browser chrome (Safari bottom bar).  ── */
  .mc2-os-frame { height: auto; min-height: 100dvh; overflow: visible; }

  /* ── Issues 1 + 6: Header reflow + Dynamic Island safe area ────────
     Row 1: ROYALTĒ OS™ (left)        LIVE badge (right)
     Row 2: MISSION CONTROL™          (centered, full width)
     max() guard: Dynamic Island / notch devices get extra top room.  ── */
  .mc2-topbar {
    flex-wrap: wrap;
    height: auto;
    padding: 10px 16px 8px;
    padding-top: max(10px, env(safe-area-inset-top, 0px));
    gap: 4px;
  }
  .mc2-topbar > div:first-child { order: 1; flex: 1; }
  .mc2-topbar-right { order: 2; }
  .mc2-topbar-meta  { display: none; }
  .mc2-topbar-center {
    order: 3;
    width: 100%;
    position: static;
    transform: none;
    text-align: center;
    padding: 3px 0 4px;
    pointer-events: auto;
  }

  /* ── Issue 5: Section gap — RDS mobile rhythm ───────────────────────
     Desktop mc2-main compresses gap to 12px for one-screen fit.
     Mobile scrolls freely, so restore canonical RDS gap (14px).     ── */
  .mc2-main { padding: 12px 14px; gap: var(--rds-section-gap-mobile, 14px); }

  /* ── Issue 3: Hero grid — dissolve shared card into transparent shell
     Desktop: single card wraps both children with shared bg/border.
     Mobile: shell becomes transparent; each child is its own card.
     overflow:visible — lets orbit nodes at ±160px render without clip.
     shimmer ::before requires overflow:hidden to clip; disabled here. ── */
  .mc2-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    overflow: visible;
    background: transparent;
    border: none;
    border-radius: 0;
    gap: var(--rds-section-gap-mobile, 14px);
  }
  .mc2-hero::before { display: none; }

  /* ── Issues 2 + 3: Executive Summary — standalone card ─────────────
     Own background, border, and radius restore visual hierarchy
     after the shared mc2-hero card is dissolved above.
     Padding and gap follow RDS mobile card standard.                ── */
  .mc2-status-panel {
    background: linear-gradient(135deg, rgba(109,40,217,0.08) 0%, rgba(168,85,247,0.03) 100%);
    border: 1px solid rgba(168, 85, 247, 0.14);
    border-radius: var(--rds-radius-md, 14px);
    padding: var(--rds-card-pad-mobile, 16px);
    gap: var(--rds-section-gap-mobile, 14px);
  }

  /* ── Issue 7: CTA button — 44px minimum touch target ───────────────
     Stretches to card width; min-height meets accessibility minimum. ── */
  .mc2-hero-cta {
    align-self: stretch;
    justify-content: center;
    min-height: 44px;
    padding: 12px 20px;
  }

  /* ── Issue 3: ATHENA™ — standalone visualization card ──────────────
     min-height 400px: center 200px, bottom node at ~395px.
     Safe area bottom: home indicator clears beneath the card.
     Own background/border mirrors the Executive Summary card above.  ── */
  .mc2-globe-hero {
    min-height: 400px;
    overflow: visible;
    background: linear-gradient(180deg, rgba(109,40,217,0.07) 0%, transparent 65%);
    border: 1px solid rgba(168, 85, 247, 0.10);
    border-radius: var(--rds-radius-md, 14px);
    padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
  }
  .mc2-hero-globe { height: 200px; }
  .mc2-hero-node .mc2-hn-status { font-size: 8px; }

}

/* ─── Global Music Footprint™ — Legend always below map ─────────────── */
/* Floating overlay hidden at all breakpoints; panel shows in document
 * flow beneath the map. Base .gf-legend-panel rule above handles layout. */
.ws-dept--global .gf-legend { display: none; }

/* ═══════════════════════════════════════════════════════════════════════
   ROYALTĒ OS™ — Mobile Executive Briefing Mode
   All 8 MC workspaces: vertical scroll, content-driven heights,
   comfortable touch-friendly spacing. Desktop & tablet unchanged.
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {

  /* ── hi-main: restore comfortable padding ──────────────────────────
     Dept-specific rules compress padding for desktop one-screen fit.
     Mobile scrolls, so compression is wrong — reset all depts here. ── */
  .ws-dept--health .hi-main,
  .ws-dept--identity .hi-main,
  .ws-dept--publishing .hi-main,
  .ws-dept--catalog .hi-main,
  .ws-dept--global .hi-main { padding: var(--rds-card-pad-mobile, 16px); gap: var(--rds-section-gap-mobile, 14px); }

  /* ── KPI row: 2×2 grid beats a 4-card vertical stack ─────────────── */
  .hi-kpi-row { grid-template-columns: 1fr 1fr; }
  .hi-kpi-card { padding: 12px 11px; }

  /* ── Health Intelligence™ ──────────────────────────────────────────
     Score card: ring + metadata stack vertically (not side-by-side)
     Breakdown: 6 flex items → 3-per-row with wrap
     ATHENA card: left/right columns stack vertically               ── */
  .ws-dept--health .hi-score-body { flex-direction: column; align-items: flex-start; gap: 10px; }
  .ws-dept--health .hi-score-ring-wrap { align-self: center; }
  .ws-dept--health .hi-kpi-breakdown-cols { flex-wrap: wrap; }
  .ws-dept--health .hi-kpi-breakdown-col { flex: 0 0 50%; min-width: 0; padding: 8px 6px; }
  .ws-dept--health .hi-kpi-card--ai { flex-direction: column; gap: 0; }
  .ws-dept--health .hi-athena-right {
    width: 100%;
    border-left: none;
    border-top: 1px solid var(--mc-border);
  }

  /* KPI row: full-width stack (2 executive summary cards need room to breathe) */
  .ws-dept--health .hi-kpi-row { grid-template-columns: 1fr; }

  /* Executive header: title stack + date selector below on narrow phone */
  .ws-dept--health .hi-exec-header { flex-direction: column; gap: 10px; }

  /* Date selector — 44px minimum touch target (Apple HIG) */
  .ws-dept--health .hi-date-selector {
    min-height: 44px;
    align-self: flex-start;
    padding: 10px 14px;
  }

  /* Timeline card — RDS mobile padding (recovers 12px vertical vs desktop 24px) */
  .ws-dept--health .hi-timeline-card { padding: 14px 16px 16px; }

  /* Timeline link — generous touch target inside footer */
  .ws-dept--health .hi-timeline-link { display: inline-block; padding: 8px 0; }

  /* ── Category card mobile density — content efficiency first ───────────
     Target: ~117px card height (down from ~144px) via tighter internals.
     Addresses: score size, pill height, sparkline height, gap, padding.  ── */
  .ws-dept--health .hi-cat-card        { padding: 10px 10px 8px; gap: 5px; }
  .ws-dept--health .hi-cat-label       { letter-spacing: 0.12em; line-height: 1; }
  .ws-dept--health .hi-cat-score-num   { font-size: 22px; }
  .ws-dept--health .hi-cat-score-denom { font-size: 9px; }
  .ws-dept--health .hi-cat-card .hi-status-pill { padding: 2px 7px 2px 6px; }
  .ws-dept--health .hi-cat-sparkline   { height: 18px; }
  .ws-dept--health .hi-cat-movement    { font-size: 9px; line-height: 1; }

  /* ── Identity Intelligence™ ────────────────────────────────────────
     Dept override (repeat(3,1fr)) has higher specificity than the
     unscoped rule below — scoped rule here overrides it to 2-col.   ── */
  .ii-platform-grid { grid-template-columns: 1fr; }
  .ws-dept--identity .ii-platform-grid { grid-template-columns: 1fr 1fr; gap: 10px; }

  /* ── Publishing Intelligence™ ──────────────────────────────────────
     System grid: 3-col → 1-col
     Bottom row: side-by-side → vertical stack                      ── */
  .pi-system-grid { grid-template-columns: 1fr; }
  .pi-bottom-row { grid-template-columns: 1fr; }

  /* ── Global Music Footprint™ — Executive Mobile™ v2 ─────────────────
     Map is the primary mobile surface; 10 primary markets via
     MOBILE_ANCHORS. gf-mobile-brief retired. Additional Territories
     section below map lists 14 secondary markets.                    ── */
  .gf-map-section            { display: block; }
  .gf-map-inner              { min-height: 200px; }
  .gf-mobile-brief           { display: none; }
  .gf-additional-territories {
    display: block;
    margin-top: 20px;
    padding: 14px 16px 16px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 10px;
  }
  .gf-addl-title {
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.38);
    font-weight: 600;
    margin-bottom: 12px;
  }
  .gf-addl-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 16px;
  }
  .gf-addl-item {
    display: flex;
    align-items: center;
    gap: 7px;
  }
  .gf-addl-flag { font-size: 18px; line-height: 1; flex-shrink: 0; }
  .gf-addl-name { font-size: 13px; color: rgba(255,255,255,0.62); font-weight: 500; }

  /* ── Big Six — 2×3 premium territory grid ──────────────────────────
     Six primary markets presented as individual executive cards.
     Additional territories (18) keep compact vertical list below.    ── */
  .gf-territory-list--big6 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    border: none;
    border-radius: 0;
    overflow: visible;
  }
  .gf-territory-list--big6 .gf-territory-item {
    border-radius: var(--rds-radius-md, 14px);
    border: 1px solid var(--mc-border-soft);
    background: var(--mc-surface-1);
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    padding: 14px 12px;
  }
  .gf-territory-list--big6 .gf-territory-flag { font-size: 26px; line-height: 1; }
  .gf-territory-list--big6 .gf-territory-name { font-size: 12px; font-weight: 600; color: var(--mc-text); }
  .gf-mobile-brief-header {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mc-text-soft);
  }
  .gf-territory-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--mc-border-soft);
    border-radius: 10px;
    overflow: hidden;
  }
  .gf-territory-list--hidden { display: none; }
  .gf-territory-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    background: var(--mc-surface-1);
    border-bottom: 1px solid var(--mc-border-soft);
  }
  .gf-territory-item:last-child { border-bottom: none; }
  .gf-territory-flag { font-size: 18px; line-height: 1; flex-shrink: 0; }
  .gf-territory-name { font-size: 14px; font-weight: 500; color: var(--mc-text); flex: 1; }
  .gf-territory-more-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 11px 16px;
    background: transparent;
    border: 1px solid var(--mc-border-soft);
    border-radius: 8px;
    color: var(--mc-blue);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.01em;
    transition: background 0.15s ease, border-color 0.15s ease;
  }
  .gf-territory-more-btn:hover {
    background: rgba(59, 130, 246, 0.06);
    border-color: rgba(59, 130, 246, 0.30);
  }
  .gf-mobile-summary {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 16px;
    background: var(--mc-surface-1);
    border: 1px solid var(--mc-border-soft);
    border-radius: 10px;
    text-align: center;
  }
  .gf-mobile-summary-eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mc-text-soft);
  }
  .gf-mobile-summary-val {
    display: flex;
    align-items: baseline;
    gap: 6px;
  }
  .gf-mobile-summary-num {
    font-size: 32px;
    font-weight: 700;
    color: var(--mc-text);
    line-height: 1;
  }
  .gf-mobile-summary-sublabel {
    font-size: 13px;
    color: var(--mc-text-soft);
  }

  /* ── Backend Intelligence™ ─────────────────────────────────────────
     Digital Twin SVG: horizontal scroll instead of shrinking to
     illegible size. bi-twin-svg-wrap becomes the scroll container.  ── */
  .ws-dept--backend .bi-twin-svg-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start;
  }
  .ws-dept--backend .bi-twin-svg { width: 500px; max-width: none; }

  /* ── AI Insights™ (ATHENA™) ─────────────────────────────────────────
     hi-main: override one-screen compression back to comfortable padding
     Hero: relax one-screen 260px min-height (mobile scrolls)
     Priorities + Forecast: restore from ≤768px display:none
     Bottom row: ensure single column (already set at ≤768px, explicit) ─ */
  .ws-dept--ai-insights .hi-main { padding: 16px; gap: 14px; }
  .ws-dept--ai-insights .ai-hero-section { min-height: 220px; }
  .ai-priorities-section { display: flex; }
  .ai-forecast-card { display: flex; }
  .ws-dept--ai-insights .ai-bottom-row { grid-template-columns: 1fr; gap: 14px; }

  /* ── AI Insights™ — Business Priority rows ──────────────────────────
     Meta chips (flex-shrink:0, ~190px) compress body to ~95px on 390px.
     Wrap meta to its own line so body uses full row width.           ── */
  .ws-dept--ai-insights .ai-priority-row  { flex-wrap: wrap; }
  .ws-dept--ai-insights .ai-priority-meta { flex-basis: 100%; padding-left: 36px; flex-wrap: wrap; }

}
