.zenger-viz-root {
  width: 100%;
  --zgr-wsj-focal: #E8820C;
  --zgr-wsj-context: #7F9DB9;
  --zgr-wsj-alt: #2F5F8F;
  --zgr-wsj-donut-light: #CBD6E0;
  --zgr-wsj-donut-dark: #3E5A74;
  --zgr-wsj-text: #1A1A1A;
  --zgr-wsj-muted: #6B6B6B;
  --zgr-wsj-grid: #D9D9D9;
  --zgr-wsj-baseline: #444444;
  --zgr-wsj-chip-bg: var(--zgr-wsj-grid);
  --zgr-wsj-chip-fg: var(--zgr-wsj-text);
  --zgr-wsj-chip-active-bg: var(--zgr-wsj-text);
  --zgr-wsj-chip-active-fg: #ffffff;
  --zgr-wsj-border: var(--zgr-wsj-grid);
}

.zenger-viz-root.zgr-wsj .zenger-viz-tab,
.zenger-viz-root.zgr-wsj .zenger-viz-type-btn {
  background: var(--zgr-wsj-chip-bg);
  color: var(--zgr-wsj-chip-fg);
}

.zenger-viz-root.zgr-wsj .zenger-viz-tab.is-active,
.zenger-viz-root.zgr-wsj .zenger-viz-type-btn.is-active {
  background: var(--zgr-wsj-chip-active-bg);
  color: var(--zgr-wsj-chip-active-fg);
}

.zenger-viz-root.zgr-wsj .zenger-viz-action,
.zenger-viz-root.zgr-wsj .zenger-viz-filter {
  color: var(--zgr-wsj-text);
}

.zenger-viz-dashboard {
  background: #fff;
}

.zenger-viz-tabbar,
.zenger-viz-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.5rem;
}

.zenger-viz-tab,
.zenger-viz-type-btn {
  border: none;
  border-radius: 4px;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  cursor: pointer;
  background: #e6eef4;
  color: #122b50;
}

.zenger-viz-tab.is-active,
.zenger-viz-type-btn.is-active {
  background: #122b50;
  color: #fff;
}

.zenger-viz-actions {
  margin-left: auto;
  display: flex;
  gap: 0.5rem;
}

.zenger-viz-action {
  border: none;
  background: transparent;
  color: #122b50;
  font-size: 0.75rem;
  cursor: pointer;
  text-decoration: underline;
}

.zenger-viz-chart-host {
  width: 100%;
  min-height: 420px;
}

.zenger-viz-fullscreen {
  position: fixed;
  inset: 1rem;
  z-index: 100000;
  background: #fff;
  padding: 1rem;
  border-radius: 8px;
  box-shadow: 0 12px 40px rgba(18, 43, 80, 0.25);
  overflow: auto;
}

.zenger-viz-fullscreen .zenger-viz-chart-host {
  min-height: 520px;
}
