/* ── Health Score Panel ─────────────────────────────────────────────────── */
.cc-health {
  background: #040c18;
  border: 1px solid #1e3a5f;
  border-radius: 12px;
  padding: 18px 20px;
  margin-bottom: 20px;
}
.cc-health-inner {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  position: relative;
}
.cc-health-circle {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: conic-gradient(var(--health-color, #22c55e) 0% var(--health-pct, 0%), #1e3a5f var(--health-pct, 0%) 100%);
}
.cc-health-circle::before {
  content: '';
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #040c18;
  position: absolute;
}
.cc-health-score-num {
  position: relative;
  font-size: .85rem;
  font-weight: 800;
  color: var(--health-color, #22c55e);
  z-index: 1;
  font-family: 'SF Mono', monospace;
}
.cc-health-meta {
  flex: 1;
  min-width: 0;
}
.cc-health-title {
  font-size: .8rem;
  font-weight: 700;
  color: #e2e8f0;
  margin-bottom: 3px;
}
.cc-health-sub {
  font-size: .65rem;
  color: #475569;
  margin-bottom: 12px;
}
.cc-health-items {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.cc-health-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  background: #030d1a;
  border: 1px solid #0d2035;
  border-radius: 7px;
  transition: border-color .15s;
}
.cc-health-item:hover { border-color: #1e3a5f; }
.cc-health-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.cc-health-dot--complete  { background: #22c55e; box-shadow: 0 0 6px rgba(34,197,94,.4); }
.cc-health-dot--partial   { background: #f59e0b; box-shadow: 0 0 6px rgba(245,158,11,.3); }
.cc-health-dot--missing   { background: #f87171; box-shadow: 0 0 6px rgba(248,113,113,.3); }
.cc-health-dot--pending   { background: #1e3a5f; }
.cc-health-dot--optional  { background: #1e3a5f; }
.cc-health-item-body { flex: 1; min-width: 0; }
.cc-health-item-label { font-size: .7rem; color: #94a3b8; }
.cc-health-item-sub   { font-size: .6rem; color: #64748b; margin-top: 1px; }
.cc-health-badge {
  font-size: .55rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 2px 7px;
  border-radius: 3px;
  white-space: nowrap;
  flex-shrink: 0;
}
.cc-health-badge--complete  { background: #0a1f0a; color: #22c55e; }
.cc-health-badge--partial   { background: #1a1200; color: #f59e0b; }
.cc-health-badge--missing   { background: #1a0505; color: #f87171; }
.cc-health-badge--pending   { background: #0d2035; color: #64748b; }
.cc-health-badge--optional  { background: #0d2035; color: #475569; }
.cc-health-action {
  font-size: .6rem;
  color: #06b6d4;
  background: #071828;
  border: 1px solid #0e4060;
  border-radius: 4px;
  padding: 2px 8px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  text-decoration: none;
}
.cc-health-action:hover { background: #0b2035; }
.cc-health-loading {
  font-size: .7rem;
  color: #475569;
  text-align: center;
  padding: 12px 0;
}

/* Show/hide toggle + settings, top-right of the panel. */
.cc-health-controls {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  gap: 6px;
}
.cc-health-controls .cc-health-settings-btn { position: static; }
.cc-health-toggle {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: #0b1e35;
  border: 1px solid #1e3a5f;
  color: #94a3b8;
  font-size: 12px;
  line-height: 1;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color .15s, color .15s;
}
.cc-health-toggle:hover { border-color: #06b6d4; color: #06b6d4; }

/* Collapsed: hide the checklist; keep the score + title as a slim summary bar. */
.cc-health--collapsed .cc-health-items { display: none; }
.cc-health--collapsed .cc-health-sub   { margin-bottom: 0; }

/* Soft separation between the setup panel and the command centre below. */
.cc-zone-sep {
  height: 1px;
  margin: 26px auto;
  max-width: 1180px;
  background: linear-gradient(90deg, transparent, #1e3a5f 30%, #1e3a5f 70%, transparent);
  opacity: .6;
}

@media (max-width: 600px) {
  .cc-health-inner { flex-direction: column; align-items: center; }
  .cc-health-meta  { width: 100%; }
  .cc-health-controls { top: 0; right: 0; }
}

/* ── Watchlist ──────────────────────────────────────────────────────────── */
.watchlist-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.watchlist-symbol {
  font-weight: 700;
  color: #06b6d4;
  min-width: 70px;
  font-size: .8rem;
}
.watchlist-name {
  flex: 1;
  font-size: .72rem;
  color: #64748b;
}

/* button variant of cc-health-action — matches anchor styles above */
button.cc-health-action {
  font-family: inherit;
  line-height: 1;
  appearance: none;
  -webkit-appearance: none;
}
