:root {
  --bg-dark: #0d1117;
  --panel-bg: #161b22;
  --panel-border: #30363d;
  --accent-blue: #58a6ff;
  --accent-green: #3fb950;
  --accent-red: #f85149;
  --text-primary: #c9d1d9;
  --text-secondary: #8b949e;
  --monospace: 'JetBrains Mono', monospace;
  /** Height of #dock-intelligence (updated by footer-intelligence.js) — used so dock-body does not leave a void when rails collapse. */
  --dock-intel-occupied: 96px;

  /* ── Z-index token architecture ──────────────────────────────────────────
   * All z-index values in this codebase MUST use one of these tokens.
   * Never write a raw integer — reference a token so layers stay consistent.
   *
   * Layer      Token           Value   Notes
   * ─────────────────────────────────────────────────────────────────────────
   * chart       --z-chart       100     chart canvas, chart UI surfaces
   * dock        --z-dock        20000   cockpit left/right panel shells
   * nav         --z-nav         30000   top nav bar stacking context
   * overlay     --z-overlay     30010   all dropdowns/popovers/tooltips
   * modal       --z-modal       40000   dialogs, full-screen overlays
   * ─────────────────────────────────────────────────────────────────────────
   * Rule: child z-index ALONE cannot break out of a parent stacking context.
   * The PARENT's own z-index (relative to the viewport stacking context) is
   * what places the whole subtree in the paint order.
   * Rule: never add backdrop-filter / transform / opacity<1 / filter /
   *       isolation / contain to any ancestor of a dropdown without making
   *       sure that ancestor's z-index is at least --z-nav.
   * ──────────────────────────────────────────────────────────────────────── */
  --z-chart:   100;
  --z-dock:    20000;
  --z-nav:     30000;
  --z-overlay: 30010;
  --z-modal:   40000;

  /* Product surface rhythm — terminal, dock, hub, calendar (polish pass) */
  --ps-radius-sm: 6px;
  --ps-radius-md: 10px;
  --ps-radius-lg: 12px;
  --ps-space-xs: 4px;
  --ps-space-sm: 8px;
  --ps-space-md: 12px;
  --ps-space-lg: 16px;
  --ps-space-xl: 20px;
  --ps-surface-raised: rgba(22, 27, 34, 0.78);
  --ps-border-subtle: rgba(48, 54, 61, 0.88);
  --ps-shadow-panel: 0 10px 36px rgba(0, 0, 0, 0.32);
  --ps-empty-dash: rgba(88, 166, 255, 0.22);
  --ps-empty-fill: rgba(88, 166, 255, 0.055);

  /* Motion — see docs/chart-terminal-motion-spec.md */
  --ps-motion-duration-fast: 120ms;
  --ps-motion-duration-medium: 200ms;
  --ps-motion-duration-slow: 280ms;
  --ps-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --ps-motion-easing-emphasis: cubic-bezier(0.33, 1, 0.68, 1);

  /* Workspace Control Center — tuned via Settings (app-menubar.js) */
  --wcc-glow-intensity: 0.35;
  --wcc-glass-blur: 2px;
  --wcc-anim-speed: 1;
  --wcc-accent-user: var(--accent-blue);
}

/* ── Overlay portal roots ──────────────────────────────────────────────────
 * All nav dropdowns + dock popovers are teleported here by
 * pitstrike-overlay-portal.js so they escape every stacking context.
 * The roots themselves are pointer-events: none; children opt back in.
 * ────────────────────────────────────────────────────────────────────────── */
#app-overlays {
  position: fixed;
  inset: 0;
  z-index: var(--z-overlay);
  pointer-events: none;
  /* No overflow clipping — allow children to render anywhere on screen */
}
#app-overlays > * {
  pointer-events: auto;
}

#app-modals {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  pointer-events: none;
}
#app-modals > * {
  pointer-events: auto;
}

/* Shared empty states + meter explainers (hub, calendar, future journal panels) */
.ps-empty {
  border-radius: var(--ps-radius-md);
  border: 1px dashed var(--ps-empty-dash);
  background: var(--ps-empty-fill);
  padding: var(--ps-space-xl) var(--ps-space-lg);
  box-sizing: border-box;
}

.ps-empty--tight {
  padding: var(--ps-space-lg) var(--ps-space-md);
}

.ps-empty__title {
  margin: 0 0 var(--ps-space-sm);
  font-size: 13px;
  font-weight: 750;
  color: var(--text-primary);
  letter-spacing: -0.01em;
}

.ps-empty__body {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: var(--text-secondary);
}

.ps-hint {
  border-radius: var(--ps-radius-md);
  border: 1px solid var(--ps-border-subtle);
  background: var(--ps-surface-raised);
  padding: var(--ps-space-md) var(--ps-space-lg);
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-secondary);
  box-sizing: border-box;
}

.ps-hint--compact {
  padding: var(--ps-space-sm) var(--ps-space-md);
  font-size: 10px;
  line-height: 1.45;
}

.ps-empty--error {
  border-style: solid;
  border-color: rgba(248, 81, 73, 0.38);
  background: rgba(248, 81, 73, 0.07);
}

.ps-meter-legend {
  display: block;
  margin: var(--ps-space-xs) 0 0;
  padding: 0;
  font-size: 9px;
  line-height: 1.4;
  font-weight: 500;
  color: var(--text-secondary);
  max-width: 72ch;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Inter', -apple-system, sans-serif;
  background-color: var(--bg-dark);
  color: var(--text-primary);
  font-size: 13px;
  line-height: 1.4;
}

.dashboard-container {
  display: grid;
  grid-template-areas: 
    "header"
    "layer1"
    "layer2"
    "layer3"
    "layer4";
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 12px;
  max-width: 1800px;
  margin: 0 auto;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* Bottom dock: in-flow flex child of app-shell. Do NOT use position:fixed. */
#bottom-dock {
  background: var(--bg-dark);
  border-top: 2px solid var(--accent-blue);
  z-index: 90;
  display: flex;
  flex-direction: column;
  transition: max-height 0.2s ease;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.3);
  /* Shrink-wrap height so collapsing intel rails does not leave a tall empty band; cap with --dock-height from parent. */
  height: auto;
  max-height: var(--dock-height, min(50vh, 520px));
  min-height: 0;
  flex: 0 1 auto;
}

#bottom-dock.collapsed {
  height: 14px !important;
  max-height: 14px !important;
  overflow: hidden;
}

#bottom-dock.collapsed #dock-intelligence {
  display: none !important;
}

#bottom-dock.bottom-dock--resizing {
  transition: none !important;
}

/* After user drags the grip, lock dock to a real height (max-height alone does not grow short content). */
#bottom-dock.bottom-dock--user-height {
  height: var(--dock-height);
  max-height: var(--dock-height);
  flex-shrink: 0;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}

#bottom-dock.bottom-dock--user-height #dock-intelligence {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

#bottom-dock.bottom-dock.collapsed.bottom-dock--user-height {
  height: auto !important;
  max-height: 45vh;
  overflow: visible;
}

.bottom-dock__resize-row {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 14px;
  min-height: 14px;
  margin: 0;
  padding: 0 8px;
  background: linear-gradient(180deg, rgba(88, 166, 255, 0.06), rgba(13, 17, 23, 0.95));
  border-bottom: 1px solid rgba(88, 166, 255, 0.12);
  cursor: ns-resize;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.bottom-dock-resize-handle {
  display: block;
  width: 56px;
  height: 5px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(88, 166, 255, 0.35);
  cursor: inherit;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
  pointer-events: none;
}

.bottom-dock-resize-handle:hover {
  background: rgba(121, 192, 255, 0.55);
}

.bottom-dock-resize-handle:focus-visible {
  outline: 2px solid rgba(121, 192, 255, 0.85);
  outline-offset: 2px;
}

#bottom-dock .dock-body {
  flex: 0 1 auto;
  min-height: 0;
  overflow-y: auto;
  /* Cap tab panel height so short tabs do not stretch; tall content scrolls inside. */
  max-height: calc(var(--dock-height, min(50vh, 520px)) - var(--dock-intel-occupied, 0px));
}

.analysis-tab-content {
  flex: 1;
  overflow-y: auto;
  padding: 10px;
}

/* AutoTrader dock tab: column flex so panel root + tab body absorb height (workspace iframe + bottom dock). */
#analysis-autotrader.analysis-tab-content {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
#analysis-autotrader .autotrader-embed-intro {
  flex: 0 0 auto;
}
#analysis-autotrader #autotrader-panel-root {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#autotrader-panel-root > *:not(.autotrader-tab-body) {
  flex-shrink: 0;
}
#autotrader-panel-root .autotrader-tab-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Backtest replay dock */
.backtest-dock {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 200px;
  padding: 14px 16px 18px;
  background: linear-gradient(165deg, rgba(88, 166, 255, 0.06) 0%, rgba(13, 17, 23, 0.95) 42%, #0d1117 100%);
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.12);
  box-sizing: border-box;
}

.backtest-dock-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.backtest-dock-title {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #e6edf3;
}

.backtest-dock-sub {
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-secondary);
  max-width: 640px;
}

.backtest-dock-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.backtest-badge {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 4px 8px;
  border-radius: 4px;
}

.backtest-badge-replay {
  background: linear-gradient(90deg, rgba(163, 113, 247, 0.35), rgba(88, 166, 255, 0.35));
  border: 1px solid rgba(163, 113, 247, 0.45);
  color: #e6edf3;
}

.backtest-badge-chart {
  background: rgba(63, 185, 80, 0.12);
  border: 1px solid rgba(63, 185, 80, 0.35);
  color: #3fb950;
}

.backtest-dock-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px 14px;
  align-items: end;
}

.backtest-field-row {
  display: flex;
  gap: 6px;
  align-items: stretch;
}

.backtest-field-row .backtest-input {
  flex: 1;
  min-width: 0;
}

.backtest-input {
  width: 100%;
  box-sizing: border-box;
  background: #0d1117;
  border: 1px solid var(--panel-border);
  color: var(--text-primary);
  padding: 6px 8px;
  border-radius: 4px;
  font-size: 12px;
}

.backtest-sync-btn {
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 6px 10px;
  background: rgba(88, 166, 255, 0.12);
  border: 1px solid rgba(88, 166, 255, 0.35);
  color: var(--accent-blue);
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
}

.backtest-sync-btn:hover {
  background: rgba(88, 166, 255, 0.2);
}

.backtest-actions .backtest-start-btn {
  width: 100%;
  height: 36px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.replay-dock-status {
  font-size: 11px;
  min-height: 1.2em;
  padding: 8px 10px;
  border-radius: 4px;
  border: 1px solid transparent;
}

.replay-dock-status.replay-dock-status-info {
  background: rgba(88, 166, 255, 0.08);
  border-color: rgba(88, 166, 255, 0.25);
  color: #c9d1d9;
}

.replay-dock-status.replay-dock-status-ok {
  background: rgba(63, 185, 80, 0.1);
  border-color: rgba(63, 185, 80, 0.35);
  color: #3fb950;
}

.replay-dock-status.replay-dock-status-err {
  background: rgba(248, 81, 73, 0.1);
  border-color: rgba(248, 81, 73, 0.35);
  color: #f85149;
}

/* Historical replay toolbar (top bar tier; controls moved from bottom dock) */
.app-top-bar__tier--replay {
  padding: 8px 14px 10px;
  border-top: 1px solid rgba(48, 54, 61, 0.85);
  background: linear-gradient(165deg, rgba(88, 166, 255, 0.06) 0%, rgba(13, 17, 23, 0.95) 42%, #0d1117 100%);
}

.app-top-bar__tier--replay[hidden] {
  display: none !important;
}

#replay-toolbar-host.replay-toolbar-host--hidden {
  display: none !important;
}

.replay-toolbar-inner {
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.app-top-bar__tier--replay .backtest-dock-hero {
  align-items: center;
}

.app-top-bar__tier--replay .backtest-dock-sub {
  max-width: min(720px, 92vw);
}

.app-top-bar__tier--replay .backtest-dock-grid {
  gap: 8px 12px;
}

.app-top-bar__tier--replay .replay-dock-status {
  padding: 6px 8px;
}

.backtest-dock-summary-wrap--toolbar {
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid rgba(88, 166, 255, 0.12);
}

.app-top-bar__tier--replay .backtest-dock-summary-wrap {
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(88, 166, 255, 0.1);
  border-radius: 6px;
  padding: 8px 10px;
}

.app-top-bar__tier--replay .replay-dock-summary {
  font-size: 11px;
  line-height: 1.45;
}

.analysis-tab-content--backtest-empty {
  min-height: 0;
  padding: 0;
}

.replay-workspace-panel__intro {
  margin-bottom: 14px;
}

.replay-workspace-panel__h2 {
  margin: 0 0 8px 0;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--text-primary);
}

.replay-workspace-panel__lead {
  margin: 0;
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-secondary);
  max-width: 920px;
}

.replay-workspace-panel__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.replay-workspace-card {
  padding: 12px 12px 14px;
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.18);
  background: linear-gradient(165deg, rgba(22, 27, 34, 0.92), rgba(13, 17, 23, 0.88));
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
}

.replay-workspace-card__title {
  margin: 0 0 8px 0;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #79c0ff;
}

.replay-workspace-card__body {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-secondary);
}

.replay-workspace-panel__checklist {
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid rgba(48, 54, 61, 0.85);
  background: rgba(0, 0, 0, 0.2);
}

.replay-workspace-panel__checklist-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8b949e;
  margin-bottom: 8px;
}

.replay-workspace-panel__checklist-ul {
  margin: 0;
  padding-left: 18px;
  font-size: 11px;
  line-height: 1.55;
  color: var(--text-secondary);
}

.backtest-dock-summary-wrap {
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  padding: 10px 12px;
}

.backtest-dock-summary-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-bottom: 8px;
}

.backtest-link-btn {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 4px 8px;
  background: transparent;
  border: 1px solid var(--panel-border);
  color: var(--accent-blue);
  border-radius: 4px;
  cursor: pointer;
}

.backtest-link-btn:hover {
  border-color: rgba(88, 166, 255, 0.45);
  background: rgba(88, 166, 255, 0.06);
}

.replay-dock-summary {
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.replay-dock-summary .replay-sum-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin-top: 4px;
}

.replay-dock-summary .replay-sum-k {
  color: var(--text-secondary);
}

.replay-dock-summary .replay-sum-v {
  font-weight: 700;
  color: var(--text-primary);
}

header {
  grid-area: header;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 10px 16px;
  border-bottom: 1px solid var(--panel-border);
  padding-bottom: 8px;
}

.header-brand-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  min-width: min(280px, 100%);
}

.header-version-link {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  font-size: 11px;
  color: var(--text-secondary);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-family: inherit;
}

.header-version-link:hover {
  color: var(--accent-blue);
}

/* Unified top bar: workspace tabs + brand (see terminal.html .app-top-bar) */
.app-top-bar__title {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  margin: 0;
  line-height: 1.15;
  color: #e6edf3;
}

.app-top-bar__title-accent {
  color: #58a6ff;
  text-shadow: 0 0 24px rgba(88, 166, 255, 0.35);
  animation: app-top-bar-accent-pulse 4s ease-in-out infinite;
}

@keyframes app-top-bar-accent-pulse {
  0%,
  100% {
    text-shadow: 0 0 18px rgba(88, 166, 255, 0.28);
  }
  50% {
    text-shadow: 0 0 28px rgba(163, 113, 247, 0.35);
  }
}

.workspace-tabs {
  display: flex;
  flex: 1 1 220px;
  align-items: center;
  gap: 5px;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 4px;
  scrollbar-width: thin;
  scrollbar-color: rgba(88, 166, 255, 0.35) transparent;
}

.workspace-tabs::-webkit-scrollbar {
  height: 4px;
}

.workspace-tabs::-webkit-scrollbar-thumb {
  background: rgba(88, 166, 255, 0.35);
  border-radius: 4px;
}

.workspace-tab {
  flex: 0 0 auto;
  padding: 6px 12px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 999px;
  border: 1px solid rgba(48, 54, 61, 0.95);
  background: linear-gradient(165deg, rgba(22, 27, 34, 0.98), rgba(13, 17, 23, 0.92));
  color: var(--text-secondary);
  cursor: pointer;
  font-family: inherit;
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.25s ease,
    transform 0.18s ease;
}

.workspace-tab:hover {
  color: #e6edf3;
  border-color: rgba(88, 166, 255, 0.45);
  box-shadow: 0 0 0 1px rgba(88, 166, 255, 0.12);
  transform: translateY(-1px);
}

.workspace-tab.active {
  color: #f0f6fc;
  border-color: rgba(88, 166, 255, 0.65);
  background: linear-gradient(135deg, rgba(88, 166, 255, 0.22), rgba(163, 113, 247, 0.12), rgba(13, 17, 23, 0.95));
  box-shadow:
    0 0 0 1px rgba(88, 166, 255, 0.25),
    0 4px 18px rgba(88, 166, 255, 0.18);
  animation: workspace-tab-active-glow 2.8s ease-in-out infinite;
}

@keyframes workspace-tab-active-glow {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(88, 166, 255, 0.25),
      0 4px 14px rgba(88, 166, 255, 0.12);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(163, 113, 247, 0.35),
      0 6px 22px rgba(88, 166, 255, 0.22);
  }
}

.ux-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 11px;
}

.ux-nav__link {
  color: var(--text-secondary);
  text-decoration: none;
  padding: 5px 10px;
  border-radius: 6px;
  border: 1px solid transparent;
  transition:
    color 0.2s ease,
    background 0.2s ease,
    border-color 0.2s ease;
}

.ux-nav__link:hover {
  color: var(--text-primary);
  border-color: rgba(88, 166, 255, 0.35);
  background: rgba(88, 166, 255, 0.08);
}

.ux-nav__link--active {
  color: var(--text-primary) !important;
  border-color: rgba(88, 166, 255, 0.45);
  background: rgba(88, 166, 255, 0.12);
}

.ux-nav__pill {
  text-decoration: none;
  padding: 5px 10px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  transition:
    transform 0.18s ease,
    box-shadow 0.2s ease;
}

.ux-nav__pill--desktop {
  border: 1px solid rgba(63, 185, 80, 0.35);
  background: linear-gradient(135deg, rgba(63, 185, 80, 0.12), rgba(13, 17, 23, 0.9));
}

.ux-nav__pill--desktop:hover {
  box-shadow: 0 0 16px rgba(63, 185, 80, 0.25);
  transform: translateY(-1px);
}

.ux-nav__pill--projectx-setup {
  margin: 0;
  font: inherit;
  cursor: pointer;
  border: 1px solid rgba(88, 166, 255, 0.4);
  color: #d7ecff;
  font-weight: 700;
  background: linear-gradient(135deg, rgba(88, 166, 255, 0.22), rgba(163, 113, 247, 0.18), rgba(13, 17, 23, 0.95));
  box-shadow: 0 0 0 1px rgba(88, 166, 255, 0.16), 0 0 18px rgba(88, 166, 255, 0.12);
}

.ux-nav__pill--projectx-setup:hover {
  box-shadow: 0 0 20px rgba(121, 192, 255, 0.28);
  transform: translateY(-1px);
}

@keyframes ux-nav-guided-tour-glow {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(163, 113, 247, 0.45),
      0 0 14px rgba(163, 113, 247, 0.35),
      0 0 28px rgba(139, 92, 246, 0.22);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(192, 132, 252, 0.65),
      0 0 22px rgba(167, 139, 250, 0.5),
      0 0 40px rgba(139, 92, 246, 0.38);
  }
}

button.ux-nav__pill--guided-tour {
  margin: 0;
  font: inherit;
  cursor: pointer;
  border: 1px solid rgba(167, 139, 250, 0.55);
  color: #e6d9ff;
  font-weight: 700;
  letter-spacing: 0.02em;
  background: linear-gradient(135deg, rgba(88, 28, 135, 0.45), rgba(30, 27, 45, 0.95));
  box-shadow:
    0 0 0 1px rgba(163, 113, 247, 0.25),
    0 0 16px rgba(139, 92, 246, 0.28);
  animation: ux-nav-guided-tour-glow 2.8s ease-in-out infinite;
}

button.ux-nav__pill--guided-tour:hover {
  color: #f5f0ff;
  border-color: rgba(216, 180, 254, 0.75);
  transform: translateY(-1px);
}

button.ux-nav__pill--guided-tour:focus-visible {
  outline: 2px solid rgba(192, 132, 252, 0.85);
  outline-offset: 2px;
}

button.ux-nav__pill--layout-hub {
  margin: 0;
  font: inherit;
  cursor: pointer;
  border: 1px solid rgba(88, 166, 255, 0.42);
  color: #c9e4ff;
  font-weight: 700;
  background: rgba(88, 166, 255, 0.1);
}

button.ux-nav__pill--layout-hub:hover {
  border-color: rgba(88, 166, 255, 0.65);
  background: rgba(88, 166, 255, 0.16);
  transform: translateY(-1px);
}

button.ux-nav__pill--layout-hub:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.75);
  outline-offset: 2px;
}

.ux-nav__pill--debug:hover {
  box-shadow: 0 0 12px rgba(248, 81, 73, 0.2);
}

button.ux-nav__pill--projectx-connect {
  margin: 0;
  font: inherit;
  cursor: pointer;
  border: 1px solid rgba(212, 175, 55, 0.75);
  color: #0f1218;
  font-weight: 800;
  letter-spacing: 0.02em;
  background: linear-gradient(165deg, #f0d78c 0%, #d4af37 42%, #b8860b 100%);
  box-shadow:
    0 0 0 1px rgba(255, 223, 120, 0.35),
    0 0 14px rgba(212, 175, 55, 0.55),
    0 0 28px rgba(212, 175, 55, 0.28);
  animation: ux-nav-projectx-gold-glow 2.4s ease-in-out infinite;
}

button.ux-nav__pill--projectx-connect:hover:not(:disabled) {
  border-color: rgba(255, 228, 150, 0.95);
  box-shadow:
    0 0 0 1px rgba(255, 235, 180, 0.45),
    0 0 20px rgba(255, 215, 100, 0.65),
    0 0 36px rgba(212, 175, 55, 0.4);
  transform: translateY(-1px);
}

button.ux-nav__pill--projectx-connect:disabled {
  opacity: 0.75;
  cursor: wait;
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  button.ux-nav__pill--projectx-connect {
    animation: none;
    box-shadow:
      0 0 0 1px rgba(255, 223, 120, 0.35),
      0 0 14px rgba(212, 175, 55, 0.45);
  }
}

@keyframes ux-nav-projectx-gold-glow {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(255, 223, 120, 0.35),
      0 0 12px rgba(212, 175, 55, 0.5),
      0 0 24px rgba(212, 175, 55, 0.22);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(255, 235, 190, 0.5),
      0 0 18px rgba(255, 210, 90, 0.65),
      0 0 34px rgba(212, 175, 55, 0.38);
  }
}

/* ProjectX cluster — before Ask AI; default visible so layout is not stuck hidden if /status is slow or fails */
.pitstrike-topnav-px-cluster {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  flex-shrink: 0;
  min-width: 0;
  overflow: visible;
}

.pitstrike-topnav-cta-wrap {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  overflow: visible;
}

/* Blinking red arrow under the CTA until stream is ready (points up at the button) */
.pitstrike-topnav-connect-arrow {
  display: flex;
  justify-content: center;
  width: 100%;
  min-height: 11px;
  margin-top: 3px;
  pointer-events: none;
}

/* Author `display:flex` beats UA `[hidden]` — force hide when attention is off */
.pitstrike-topnav-connect-arrow[hidden] {
  display: none !important;
}

.pitstrike-topnav-connect-arrow::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 12px solid #ff3b30;
  filter: drop-shadow(0 0 5px rgba(255, 59, 48, 0.95));
}

.pitstrike-topnav-cta-wrap--attention .pitstrike-topnav-connect-arrow::after {
  animation: pitstrike-topnav-connect-arrow-blink 0.85s ease-in-out infinite;
}

@keyframes pitstrike-topnav-connect-arrow-blink {
  0%,
  100% {
    opacity: 1;
    transform: translateY(0);
  }
  50% {
    opacity: 0.35;
    transform: translateY(3px);
  }
}

.nav-right-controls.ux-nav--command-actions:has(.pitstrike-topnav-cta-wrap--attention) {
  overflow: visible;
}

/* Setup CTA — same gold treatment as Connect until credentials exist */
#projectx-setup-btn.pitstrike-topnav-setup--action-needed {
  margin: 0 !important;
  font: inherit !important;
  cursor: pointer !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em !important;
  padding: 7px 14px !important;
  border-radius: 8px !important;
  border: 2px solid rgba(255, 220, 130, 0.95) !important;
  color: #14110a !important;
  background: linear-gradient(165deg, #fff2c2 0%, #e8c547 38%, #b8891a 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255, 200, 90, 0.55),
    0 0 20px rgba(255, 200, 100, 0.55),
    0 0 38px rgba(212, 175, 55, 0.4) !important;
  animation: pitstrike-topnav-connect-gold 1.75s ease-in-out infinite;
}

#projectx-setup-btn.pitstrike-topnav-setup--action-needed:hover {
  border-color: rgba(255, 240, 200, 1) !important;
  filter: brightness(1.05);
}

/* App bar #projectx-connect-btn — gold until stream gate clears, green when fully live (override main-nav .ux-nav__action-btn) */
#projectx-connect-btn.pitstrike-topnav-connect--action-needed {
  margin: 0 !important;
  font: inherit !important;
  cursor: pointer !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  padding: 7px 16px !important;
  border-radius: 8px !important;
  border: 2px solid rgba(255, 220, 130, 0.95) !important;
  color: #14110a !important;
  background: linear-gradient(165deg, #fff2c2 0%, #e8c547 38%, #b8891a 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255, 200, 90, 0.55),
    0 0 20px rgba(255, 200, 100, 0.6),
    0 0 40px rgba(212, 175, 55, 0.45) !important;
  animation: pitstrike-topnav-connect-gold 1.75s ease-in-out infinite;
}

#projectx-connect-btn.pitstrike-topnav-connect--action-needed:hover {
  border-color: rgba(255, 240, 200, 1) !important;
  filter: brightness(1.05);
}

#projectx-connect-btn.pitstrike-topnav-connect--action-needed:focus-visible {
  outline: 2px solid rgba(255, 220, 140, 0.95);
  outline-offset: 2px;
}

#projectx-connect-btn.pitstrike-topnav-connect--active {
  margin: 0 !important;
  font: inherit !important;
  cursor: default !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em !important;
  padding: 7px 16px !important;
  border-radius: 8px !important;
  border: 2px solid rgba(63, 185, 80, 0.9) !important;
  color: #d1f7d9 !important;
  background: linear-gradient(165deg, rgba(40, 110, 58, 0.98), rgba(12, 38, 22, 0.99)) !important;
  box-shadow:
    0 0 0 1px rgba(63, 185, 80, 0.4),
    0 0 20px rgba(63, 185, 80, 0.5),
    0 0 42px rgba(46, 160, 80, 0.3) !important;
  animation: pitstrike-topnav-connect-green 2.1s ease-in-out infinite;
  opacity: 1 !important;
}

/* Disconnect: amber pulse while hub up but subs/session gate not cleared; green when same state as live ticket */
#projectx-disconnect-btn.pitstrike-topnav-disconnect.pitstrike-topnav-disconnect--partial {
  font-weight: 750 !important;
  border: 2px solid rgba(255, 200, 90, 0.85) !important;
  color: #1a1408 !important;
  background: linear-gradient(165deg, #2a2418 0%, #3d3010 45%, #1f1a12 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255, 190, 80, 0.4),
    0 0 16px rgba(255, 180, 60, 0.45),
    0 0 32px rgba(200, 140, 40, 0.25) !important;
  animation: pitstrike-topnav-connect-gold 1.75s ease-in-out infinite;
}

#projectx-disconnect-btn.pitstrike-topnav-disconnect.pitstrike-topnav-disconnect--partial:hover {
  border-color: rgba(255, 230, 160, 0.95) !important;
  color: #0d0b06 !important;
  filter: brightness(1.06);
}

/* Live stream ready — prominent red disconnect (user-requested; replaces green “Connected” pill) */
#projectx-disconnect-btn.pitstrike-topnav-disconnect.pitstrike-topnav-disconnect--live {
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  border: 2px solid rgba(248, 81, 73, 0.88) !important;
  color: #ffe8e6 !important;
  background: linear-gradient(165deg, rgba(120, 28, 32, 0.98), rgba(42, 12, 16, 0.99)) !important;
  box-shadow:
    0 0 0 1px rgba(248, 81, 73, 0.45),
    0 0 18px rgba(248, 81, 73, 0.38),
    0 0 36px rgba(180, 40, 50, 0.22) !important;
  animation: pitstrike-topnav-disconnect-red 2s ease-in-out infinite;
}

#projectx-disconnect-btn.pitstrike-topnav-disconnect.pitstrike-topnav-disconnect--live:hover {
  border-color: rgba(255, 120, 110, 0.95) !important;
  color: #ffffff !important;
  filter: brightness(1.06);
}

@keyframes pitstrike-topnav-disconnect-red {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(248, 81, 73, 0.45),
      0 0 14px rgba(248, 81, 73, 0.35),
      0 0 28px rgba(180, 40, 50, 0.18);
  }
  50% {
    box-shadow:
      0 0 0 2px rgba(255, 120, 110, 0.55),
      0 0 22px rgba(248, 81, 73, 0.5),
      0 0 40px rgba(180, 40, 50, 0.28);
  }
}

@keyframes pitstrike-topnav-connect-gold {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(255, 200, 90, 0.5),
      0 0 14px rgba(255, 200, 100, 0.55),
      0 0 30px rgba(212, 175, 55, 0.35);
  }
  50% {
    box-shadow:
      0 0 0 2px rgba(255, 235, 180, 0.65),
      0 0 26px rgba(255, 215, 120, 0.75),
      0 0 48px rgba(212, 175, 55, 0.5);
  }
}

@keyframes pitstrike-topnav-connect-green {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(63, 185, 80, 0.45),
      0 0 16px rgba(63, 185, 80, 0.45),
      0 0 32px rgba(46, 160, 80, 0.22);
  }
  50% {
    box-shadow:
      0 0 0 2px rgba(100, 220, 130, 0.55),
      0 0 24px rgba(63, 185, 80, 0.6),
      0 0 44px rgba(46, 160, 80, 0.35);
  }
}

@media (prefers-reduced-motion: reduce) {
  #projectx-connect-btn.pitstrike-topnav-connect--action-needed,
  #projectx-connect-btn.pitstrike-topnav-connect--active,
  #projectx-disconnect-btn.pitstrike-topnav-disconnect--partial,
  #projectx-disconnect-btn.pitstrike-topnav-disconnect--live,
  #projectx-setup-btn.pitstrike-topnav-setup--action-needed {
    animation: none;
  }

  .pitstrike-topnav-cta-wrap--attention .pitstrike-topnav-connect-arrow::after {
    animation: none;
    opacity: 1;
  }
}

button.ux-nav__pill--projectx-disconnect {
  margin: 0;
  font: inherit;
  cursor: pointer;
  border: 1px solid rgba(248, 81, 73, 0.45);
  color: #ffb4b0;
  font-weight: 700;
  background: linear-gradient(165deg, rgba(248, 81, 73, 0.22), rgba(35, 15, 18, 0.95));
}

button.ux-nav__pill--projectx-disconnect:hover:not(:disabled) {
  border-color: rgba(248, 81, 73, 0.75);
  box-shadow: 0 0 14px rgba(248, 81, 73, 0.28);
}

.dock-header--compact {
  justify-content: space-between;
}

.dock-header__label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.dock-header__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Top bar: keep single-row feel; main-nav.css handles narrow breakpoints */
@media (max-width: 1100px) {
  .app-top-bar__cluster--actions {
    margin-left: 0;
  }
}

.app-menu-strip {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 4px 16px;
  background: #0d1117;
  border-bottom: 1px solid var(--panel-border);
  z-index: 102;
}

.app-menubar {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  align-items: center;
  font-size: 11px;
}

.app-menubar__item {
  position: relative;
}

.app-menu-trigger {
  background: transparent;
  border: 1px solid transparent;
  padding: 3px 8px;
  border-radius: 4px;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 11px;
  font-family: inherit;
}

.app-menu-trigger:hover,
.app-menu-trigger[aria-expanded='true'] {
  color: var(--accent-blue);
  border-color: rgba(88, 166, 255, 0.35);
  background: rgba(88, 166, 255, 0.06);
}

.app-menu-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 4px;
  min-width: 220px;
  padding: 6px 0;
  background: var(--panel-bg);
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  z-index: var(--z-overlay);
}
/* When portaled to #app-overlays the dropdown uses fixed positioning */
#app-overlays .app-menu-dropdown {
  position: fixed;
}

.app-menu-dropdown button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 8px 14px;
  border: none;
  background: transparent;
  color: var(--text-primary);
  font-size: 11px;
  cursor: pointer;
  font-family: inherit;
}

.app-menu-dropdown button:hover {
  background: rgba(88, 166, 255, 0.12);
}

.app-menu-dropdown hr.app-menu-sep {
  border: none;
  border-top: 1px solid var(--panel-border);
  margin: 6px 0;
}

body.tt-modal-open {
  overflow: hidden;
}

.tt-modal {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}

/* Settings + Layout hub: dock right so the cockpit stays visible while adjusting */
.tt-modal.tt-modal--dock-side {
  align-items: stretch;
  justify-content: flex-end;
  padding: 0;
}

.tt-modal.tt-modal--dock-side .tt-modal__backdrop {
  background: rgba(1, 4, 9, 0.36);
  backdrop-filter: blur(1px);
}

.tt-modal.tt-modal--dock-side .tt-modal__sheet--settings {
  position: relative;
  width: min(420px, 38vw);
  min-width: 280px;
  max-width: min(720px, 92vw);
  height: 100vh;
  max-height: none;
  margin: 0;
  border-radius: 0;
  border-right: none;
  border-top: none;
  border-bottom: none;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: -14px 0 48px rgba(0, 0, 0, 0.5);
}

.tt-modal.tt-modal--dock-side .tt-modal__title {
  flex-shrink: 0;
  padding-right: 8px;
}

.tt-modal.tt-modal--dock-side .tt-modal__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.tt-modal.tt-modal--dock-side .tt-modal__actions {
  flex-shrink: 0;
  margin-top: 0;
  padding-top: 14px;
  padding-bottom: 10px;
  border-top: 1px solid var(--panel-border);
  background: linear-gradient(180deg, rgba(22, 27, 34, 0.97) 0%, var(--panel-bg) 40%);
}

.tt-modal__dock-resize-edge {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 10px;
  cursor: ew-resize;
  z-index: 6;
  background: transparent;
  touch-action: none;
}

.tt-modal__dock-resize-edge:hover {
  background: rgba(88, 166, 255, 0.12);
}

.tt-modal[hidden] {
  display: none !important;
}

.tt-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 4, 9, 0.72);
  backdrop-filter: blur(2px);
}

.tt-modal__sheet {
  position: relative;
  max-width: 520px;
  width: 100%;
  max-height: min(90vh, 640px);
  overflow-y: auto;
  padding: 20px 22px;
  background: var(--panel-bg);
  border: 1px solid var(--panel-border);
  border-radius: 10px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
}

.tt-modal__sheet--settings {
  max-width: min(720px, 96vw);
  max-height: min(92vh, 900px);
}

.tt-modal__title {
  margin: 0 0 12px 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}

.tt-modal__p {
  margin: 0 0 10px 0;
  font-size: 12px;
  line-height: 1.55;
  color: var(--text-secondary);
}

.tt-modal__list {
  margin: 0 0 10px 16px;
  padding: 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.tt-modal__actions {
  margin-top: 16px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.tt-modal__btn {
  padding: 8px 16px;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: #21262d;
  color: var(--text-primary);
  font-size: 12px;
  cursor: pointer;
  font-family: inherit;
}

.tt-modal__btn--primary {
  background: var(--accent-blue);
  color: #0b0f14;
  border-color: transparent;
  font-weight: 600;
}

.tt-modal__err {
  color: #f85149;
}

.tt-muted {
  color: var(--text-secondary);
  font-size: 11px;
}

.projectx-onboarding-modal {
  z-index: var(--z-modal);
}

.projectx-onboarding-modal__sheet {
  max-width: min(760px, 96vw);
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(212, 175, 55, 0.12), transparent 24%),
    radial-gradient(circle at top left, rgba(88, 166, 255, 0.16), transparent 28%),
    linear-gradient(180deg, rgba(15, 21, 31, 0.98), rgba(9, 13, 19, 0.98));
}

.projectx-onboarding__hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid rgba(88, 166, 255, 0.16);
}

.projectx-onboarding__hero-copy {
  min-width: 0;
}

.projectx-onboarding__eyebrow {
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #d4af37;
}

.projectx-onboarding__title {
  margin-bottom: 10px;
}

.projectx-onboarding__lead {
  margin: 0;
  max-width: 520px;
  color: #b7c1cd;
}

.projectx-onboarding__pulse {
  position: relative;
  width: 140px;
  min-width: 140px;
  min-height: 108px;
}

.projectx-onboarding__pulse-orb {
  position: absolute;
  display: block;
  border-radius: 999px;
  filter: blur(1px);
  animation: projectx-onboarding-float 5.5s ease-in-out infinite;
}

.projectx-onboarding__pulse-orb--gold {
  width: 74px;
  height: 74px;
  right: 6px;
  top: 10px;
  background: radial-gradient(circle, rgba(255, 226, 143, 0.95), rgba(212, 175, 55, 0.12) 72%, transparent 76%);
  box-shadow: 0 0 26px rgba(212, 175, 55, 0.45);
}

.projectx-onboarding__pulse-orb--blue {
  width: 54px;
  height: 54px;
  left: 16px;
  top: 14px;
  background: radial-gradient(circle, rgba(121, 192, 255, 0.92), rgba(88, 166, 255, 0.1) 72%, transparent 76%);
  box-shadow: 0 0 22px rgba(88, 166, 255, 0.32);
  animation-delay: -1.2s;
}

.projectx-onboarding__pulse-orb--violet {
  width: 62px;
  height: 62px;
  left: 44px;
  bottom: 2px;
  background: radial-gradient(circle, rgba(210, 168, 255, 0.9), rgba(163, 113, 247, 0.12) 72%, transparent 76%);
  box-shadow: 0 0 24px rgba(163, 113, 247, 0.28);
  animation-delay: -2.4s;
}

@keyframes projectx-onboarding-float {
  0%,
  100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-7px) scale(1.04);
  }
}

.projectx-onboarding__statusbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid rgba(48, 54, 61, 0.75);
}

.projectx-onboarding__status-badge {
  flex-shrink: 0;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(88, 166, 255, 0.24);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #79c0ff;
  background: rgba(88, 166, 255, 0.1);
}

.projectx-onboarding__status-badge--warn {
  color: #f7c87a;
  border-color: rgba(212, 175, 55, 0.3);
  background: rgba(212, 175, 55, 0.12);
}

.projectx-onboarding__status-badge--ok {
  color: #3fb950;
  border-color: rgba(63, 185, 80, 0.32);
  background: rgba(63, 185, 80, 0.12);
}

.projectx-onboarding__status-text {
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-secondary);
}

.projectx-onboarding__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 16px 24px 0;
}

.projectx-onboarding__step {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(48, 54, 61, 0.85);
  background: rgba(255, 255, 255, 0.02);
  color: #8b949e;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
}

.projectx-onboarding__step.is-active {
  color: #f0f6fc;
  border-color: rgba(88, 166, 255, 0.45);
  background: linear-gradient(135deg, rgba(88, 166, 255, 0.18), rgba(163, 113, 247, 0.1));
  box-shadow: inset 0 0 0 1px rgba(88, 166, 255, 0.18);
}

.projectx-onboarding__body {
  position: relative;
  min-height: 320px;
  padding: 18px 24px 10px;
}

.projectx-onboarding__panel {
  display: none;
  animation: projectx-onboarding-panel-in 0.22s ease;
}

.projectx-onboarding__panel.is-active {
  display: block;
}

@keyframes projectx-onboarding-panel-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

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

.projectx-onboarding__card,
.projectx-onboarding__callout,
.projectx-onboarding__result {
  border-radius: 12px;
  border: 1px solid rgba(48, 54, 61, 0.85);
  background: rgba(255, 255, 255, 0.03);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.projectx-onboarding__card {
  padding: 14px 14px 16px;
}

.projectx-onboarding__card h3 {
  margin: 0 0 8px;
  font-size: 12px;
  color: #f0f6fc;
}

.projectx-onboarding__card p,
.projectx-onboarding__hint,
.projectx-onboarding__result,
.projectx-onboarding__list {
  font-size: 11px;
  line-height: 1.55;
  color: var(--text-secondary);
}

.projectx-onboarding__stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.projectx-onboarding__callout {
  padding: 12px 14px;
}

.projectx-onboarding__callout strong {
  color: #f0f6fc;
}

.projectx-onboarding__callout--success {
  border-color: rgba(63, 185, 80, 0.3);
  background: rgba(63, 185, 80, 0.08);
}

.projectx-onboarding__callout--warn {
  border-color: rgba(210, 153, 34, 0.35);
  background: rgba(210, 153, 34, 0.08);
}

.projectx-onboarding__callout--compact {
  margin-bottom: 4px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.45;
  color: #b7c1cd;
}

.projectx-onboarding__switch-banner {
  margin: 0 24px 12px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.45;
  color: #d4a72c;
  border: 1px solid rgba(212, 167, 44, 0.35);
  border-radius: 8px;
  background: rgba(212, 167, 44, 0.08);
}

.projectx-onboarding__draft-warning {
  margin-top: 10px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.45;
  color: #ffa657;
  border: 1px solid rgba(255, 166, 87, 0.35);
  border-radius: 8px;
  background: rgba(255, 166, 87, 0.08);
}

.projectx-onboarding__inline-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  font-size: 11px;
  color: #c9d1d9;
  background: rgba(110, 118, 129, 0.2);
  padding: 1px 5px;
  border-radius: 4px;
}

.projectx-onboarding__list--numbered-flow li {
  margin-bottom: 6px;
}

.projectx-onboarding__list {
  margin: 0;
  padding-left: 18px;
}

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

.projectx-onboarding__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8b949e;
}

.projectx-onboarding__field input {
  background: rgba(13, 17, 23, 0.9);
  color: #f0f6fc;
  border: 1px solid rgba(48, 54, 61, 0.95);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 12px;
}

.projectx-onboarding__field input:focus {
  outline: none;
  border-color: rgba(88, 166, 255, 0.65);
  box-shadow: 0 0 0 3px rgba(88, 166, 255, 0.12);
}

.projectx-onboarding__credentials-actions {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.projectx-onboarding__connect-now-btn {
  min-width: 140px;
}

.projectx-onboarding__progress-wrap {
  margin-top: 14px;
}

.projectx-onboarding__progress-label {
  font-size: 11px;
  font-weight: 600;
  color: #8b949e;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}

.projectx-onboarding__progress-track {
  height: 5px;
  border-radius: 999px;
  background: rgba(48, 54, 61, 0.9);
  overflow: hidden;
}

.projectx-onboarding__progress-bar {
  height: 100%;
  width: 40%;
  border-radius: 999px;
  background: linear-gradient(90deg, #388bfd, #58a6ff, #388bfd);
  background-size: 200% 100%;
  animation: projectx-onboarding-progress-indeterminate 1.1s ease-in-out infinite;
}

@keyframes projectx-onboarding-progress-indeterminate {
  0% {
    transform: translateX(-100%);
    background-position: 0% 0%;
  }
  100% {
    transform: translateX(350%);
    background-position: 100% 0%;
  }
}

.projectx-onboarding__credentials-result {
  margin-top: 12px;
  border-radius: 8px;
  background: rgba(13, 17, 23, 0.5);
  border: 1px solid rgba(48, 54, 61, 0.6);
  min-height: 0;
}

.projectx-onboarding__success-nav-hint {
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: #8b949e;
  padding-top: 10px;
  border-top: 1px solid rgba(48, 54, 61, 0.55);
}

.projectx-onboarding__hint-row {
  margin-top: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.projectx-onboarding__text-btn {
  border: none;
  background: transparent;
  color: #79c0ff;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  font-family: inherit;
}

.projectx-onboarding__text-btn:hover {
  text-decoration: underline;
}

.projectx-onboarding__result {
  padding: 12px 14px;
}

.projectx-onboarding__actions {
  padding: 0 24px 20px;
  margin-top: 0;
}

.projectx-onboarding__success-head {
  font-size: 17px;
  font-weight: 800;
  color: #3fb950;
  margin-bottom: 8px;
  letter-spacing: 0.02em;
}

.projectx-onboarding__success-sub {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #b7c1cd;
}

.projectx-onboarding-confetti-layer {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 8;
}

.projectx-onboarding-confetti-piece {
  position: absolute;
  width: 7px;
  height: 11px;
  border-radius: 2px;
  opacity: 0.95;
  animation-name: projectx-confetti-fall;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

@keyframes projectx-confetti-fall {
  to {
    transform: translateY(720px) rotate(720deg);
    opacity: 0.2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .projectx-onboarding__pulse-orb,
  .projectx-onboarding__panel {
    animation: none !important;
  }

  .projectx-onboarding__progress-bar {
    animation: none !important;
    width: 100%;
    transform: none;
    opacity: 0.85;
  }

  .projectx-onboarding-confetti-piece {
    animation: none !important;
    opacity: 0 !important;
  }
}

@media (max-width: 820px) {
  .projectx-onboarding__hero {
    flex-direction: column;
  }

  .projectx-onboarding__pulse {
    width: 100%;
    min-width: 0;
    min-height: 70px;
  }

  .projectx-onboarding__card-grid,
  .projectx-onboarding__form-grid,
  .projectx-onboarding__steps {
    grid-template-columns: 1fr;
  }

  .projectx-onboarding__hint-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

.tt-settings-lead {
  font-size: 12px;
  line-height: 1.55;
  color: var(--text-secondary);
  margin: 0 0 16px 0;
}

.tt-settings-section {
  margin-bottom: 16px;
  padding: 14px 14px 16px;
  border-radius: 8px;
  border: 1px solid var(--panel-border);
  background: rgba(1, 4, 9, 0.35);
}

.tt-settings-section--muted {
  background: rgba(13, 17, 23, 0.5);
}

.tt-settings-section__title {
  margin: 0 0 8px 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-primary);
}

.tt-settings-section__hint {
  margin: 0 0 12px 0;
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.tt-settings-readout {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 14px;
}

@media (max-width: 560px) {
  .tt-settings-readout {
    grid-template-columns: 1fr;
  }
}

.tt-settings-readout__item {
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid rgba(88, 166, 255, 0.2);
  background: rgba(88, 166, 255, 0.06);
}

.tt-settings-readout__k {
  display: block;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

.tt-settings-readout__v {
  font-size: 15px;
  font-weight: 700;
  color: var(--accent-blue);
  font-variant-numeric: tabular-nums;
}

.tt-settings-range {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-top: 4px;
}

.tt-settings-label--select {
  margin-top: 12px;
}

.tt-settings-select {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-top: 6px;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: #161b22;
  color: var(--text-primary);
  font-size: 12px;
  font-family: inherit;
  cursor: pointer;
}

.tt-settings-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-primary);
  cursor: pointer;
}

.tt-settings-check input {
  margin-top: 2px;
  flex-shrink: 0;
}

.tt-settings-check__sub {
  display: block;
  font-size: 10px;
  color: var(--text-secondary);
  margin-top: 2px;
}

.tt-settings-presets--wrap {
  margin-top: 0;
}

.tt-settings-footer-actions {
  margin-top: 8px;
  padding-top: 14px;
  border-top: 1px solid var(--panel-border);
}

.tt-settings-reset {
  border-color: rgba(248, 81, 73, 0.45);
  color: #f85149;
  background: rgba(248, 81, 73, 0.06);
}

.tt-settings-reset:hover {
  border-color: rgba(248, 81, 73, 0.75);
  background: rgba(248, 81, 73, 0.12);
}

.tt-settings-label {
  display: block;
  font-size: 12px;
  margin-bottom: 8px;
  color: var(--text-primary);
}

.tt-settings-sep {
  border: none;
  border-top: 1px solid var(--panel-border);
  margin: 18px 0 14px 0;
}

.tt-settings-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.tt-chip-btn {
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--panel-border);
  background: #21262d;
  color: var(--text-secondary);
  font-size: 10px;
  cursor: pointer;
  font-family: inherit;
}

.tt-chip-btn:hover {
  border-color: var(--accent-blue);
  color: var(--accent-blue);
}

.tt-chip-btn--accent {
  border-color: rgba(88, 166, 255, 0.45);
  color: var(--accent-blue);
  background: rgba(88, 166, 255, 0.08);
}

/* ── Workspace Control Center (Settings panel) ───────────────────────────── */
.tt-modal__sheet--wcc {
  background: linear-gradient(165deg, rgba(13, 17, 23, 0.97) 0%, rgba(8, 11, 16, 0.99) 100%);
  border: 1px solid rgba(88, 166, 255, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(168, 85, 247, 0.08),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 24px 64px rgba(0, 0, 0, 0.55);
}

.tt-modal__title-stack {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}

.tt-modal__title-main {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.02em;
  background: linear-gradient(90deg, #e6edf3 0%, #58a6ff 55%, #a855f7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.tt-modal__title-sub {
  font-size: 11px;
  font-weight: 500;
  color: var(--text-secondary);
  line-height: 1.45;
  max-width: 42ch;
}

.tt-wcc-hud {
  margin: -4px 0 14px;
  padding: 12px 12px 10px;
  border-radius: 10px;
  border: 1px solid rgba(88, 166, 255, 0.28);
  background:
    radial-gradient(120% 80% at 10% 0%, rgba(88, 166, 255, 0.12) 0%, transparent 55%),
    radial-gradient(90% 60% at 100% 100%, rgba(168, 85, 247, 0.1) 0%, transparent 50%),
    rgba(1, 4, 9, 0.55);
  box-shadow: 0 0 24px rgba(88, 166, 255, calc(0.08 + var(--wcc-glow-intensity) * 0.12));
}

.tt-wcc-hud__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

@media (max-width: 520px) {
  .tt-wcc-hud__grid {
    grid-template-columns: 1fr;
  }
}

.tt-wcc-hud__cell {
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.18);
  background: rgba(0, 0, 0, 0.25);
}

.tt-wcc-hud__k {
  display: block;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

.tt-wcc-hud__v {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

.tt-wcc-feedback {
  margin: 10px 0 0;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #7ee787;
  background: rgba(63, 185, 80, 0.12);
  border: 1px solid rgba(63, 185, 80, 0.35);
  box-shadow: 0 0 16px rgba(63, 185, 80, 0.12);
}

.tt-wcc-section {
  position: relative;
  border-color: rgba(88, 166, 255, 0.22) !important;
  box-shadow:
    0 0 0 1px rgba(168, 85, 247, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transition:
    border-color 0.2s ease,
    box-shadow 0.25s ease;
}

.tt-wcc-section:hover {
  border-color: rgba(88, 166, 255, 0.38) !important;
  box-shadow:
    0 0 20px rgba(88, 166, 255, calc(0.06 + var(--wcc-glow-intensity) * 0.1)),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.tt-wcc-section--mode {
  border-color: rgba(168, 85, 247, 0.28) !important;
}

.tt-wcc-mode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 480px) {
  .tt-wcc-mode-grid {
    grid-template-columns: 1fr;
  }
}

.tt-wcc-mode-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(48, 54, 61, 0.9);
  background: rgba(22, 27, 34, 0.65);
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.25s ease;
}

.tt-wcc-mode-card:has(input:checked) {
  border-color: rgba(88, 166, 255, 0.55);
  background: rgba(88, 166, 255, 0.1);
  box-shadow: 0 0 18px rgba(88, 166, 255, 0.18);
}

.tt-wcc-mode-card input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.tt-wcc-mode-card__t {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
}

.tt-wcc-mode-card__d {
  font-size: 10px;
  line-height: 1.45;
  color: var(--text-secondary);
}

.tt-wcc-scale-preview {
  margin: 10px 0 14px;
  padding: 14px;
  border-radius: 10px;
  border: 1px dashed rgba(88, 166, 255, 0.35);
  background: rgba(0, 0, 0, 0.35);
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tt-wcc-scale-preview__inner {
  min-width: 120px;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 8px;
  border: 1px solid rgba(168, 85, 247, 0.35);
  background: linear-gradient(135deg, rgba(88, 166, 255, 0.15) 0%, rgba(168, 85, 247, 0.12) 100%);
  box-shadow:
    0 0 20px rgba(88, 166, 255, calc(0.12 + var(--wcc-glow-intensity) * 0.2)),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--accent-blue);
  transform-origin: center;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.pitstrike-ui-smooth-scale .tt-wcc-scale-preview__inner {
  transition-duration: calc(0.35s / var(--wcc-anim-speed));
}

.tt-settings-range--glow {
  accent-color: var(--wcc-accent-user, var(--accent-blue));
  filter: drop-shadow(0 0 6px rgba(88, 166, 255, calc(0.25 + var(--wcc-glow-intensity) * 0.35)));
}

.tt-settings-range--glow:focus {
  outline: none;
  filter: drop-shadow(0 0 10px rgba(168, 85, 247, 0.45));
}

.tt-wcc-color-input {
  display: block;
  width: 100%;
  max-width: 120px;
  height: 36px;
  margin-top: 6px;
  padding: 0;
  border: 1px solid rgba(88, 166, 255, 0.35);
  border-radius: 8px;
  cursor: pointer;
  background: transparent;
}

.tt-wcc-reset-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.tt-settings-reset--danger {
  border-color: rgba(248, 81, 73, 0.65) !important;
  color: #ff7b72 !important;
  background: rgba(248, 81, 73, 0.1) !important;
}

/* ── WCC section color variants ─────────────────────────────────────────── */
/* Each section gets a distinct accent color: border, subtle gradient bg, title, hover glow */

.tt-wcc-section--scale {
  border-color: rgba(88, 166, 255, 0.35) !important;
  background: linear-gradient(160deg, rgba(88, 166, 255, 0.05) 0%, rgba(1, 4, 9, 0.35) 65%);
}
.tt-wcc-section--scale .tt-settings-section__title { color: #58a6ff; }
.tt-wcc-section--scale:hover {
  border-color: rgba(88, 166, 255, 0.55) !important;
  box-shadow: 0 0 24px rgba(88, 166, 255, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.tt-wcc-section--signal {
  border-color: rgba(63, 185, 80, 0.35) !important;
  background: linear-gradient(160deg, rgba(63, 185, 80, 0.06) 0%, rgba(1, 4, 9, 0.35) 65%);
}
.tt-wcc-section--signal .tt-settings-section__title { color: #7ee787; }
.tt-wcc-section--signal:hover {
  border-color: rgba(63, 185, 80, 0.55) !important;
  box-shadow: 0 0 24px rgba(63, 185, 80, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.tt-wcc-section--chart {
  border-color: rgba(255, 166, 77, 0.32) !important;
  background: linear-gradient(160deg, rgba(255, 166, 77, 0.06) 0%, rgba(1, 4, 9, 0.35) 65%);
}
.tt-wcc-section--chart .tt-settings-section__title { color: #ffa657; }
.tt-wcc-section--chart:hover {
  border-color: rgba(255, 166, 77, 0.52) !important;
  box-shadow: 0 0 24px rgba(255, 166, 77, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.tt-wcc-section--dock {
  border-color: rgba(163, 113, 247, 0.35) !important;
  background: linear-gradient(160deg, rgba(163, 113, 247, 0.05) 0%, rgba(1, 4, 9, 0.35) 65%);
}
.tt-wcc-section--dock .tt-settings-section__title { color: #a371f7; }
.tt-wcc-section--dock:hover {
  border-color: rgba(163, 113, 247, 0.55) !important;
  box-shadow: 0 0 24px rgba(163, 113, 247, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.tt-wcc-section--bench {
  border-color: rgba(94, 196, 176, 0.32) !important;
  background: linear-gradient(160deg, rgba(94, 196, 176, 0.06) 0%, rgba(1, 4, 9, 0.35) 65%);
}
.tt-wcc-section--bench .tt-settings-section__title { color: #5ec4b0; }
.tt-wcc-section--bench:hover {
  border-color: rgba(94, 196, 176, 0.52) !important;
  box-shadow: 0 0 24px rgba(94, 196, 176, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.tt-wcc-section--intel {
  border-color: rgba(168, 85, 247, 0.35) !important;
  background: linear-gradient(160deg, rgba(168, 85, 247, 0.06) 0%, rgba(1, 4, 9, 0.35) 65%);
}
.tt-wcc-section--intel .tt-settings-section__title { color: #bc8cff; }
.tt-wcc-section--intel:hover {
  border-color: rgba(168, 85, 247, 0.55) !important;
  box-shadow: 0 0 24px rgba(168, 85, 247, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.tt-wcc-section--fx {
  border-color: rgba(236, 100, 218, 0.32) !important;
  background: linear-gradient(160deg, rgba(236, 100, 218, 0.06) 0%, rgba(1, 4, 9, 0.35) 65%);
}
.tt-wcc-section--fx .tt-settings-section__title { color: #ec64da; }
.tt-wcc-section--fx:hover {
  border-color: rgba(236, 100, 218, 0.52) !important;
  box-shadow: 0 0 24px rgba(236, 100, 218, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.tt-wcc-section--advanced {
  border-color: rgba(248, 81, 73, 0.3) !important;
  background: linear-gradient(160deg, rgba(248, 81, 73, 0.05) 0%, rgba(1, 4, 9, 0.35) 65%);
}
.tt-wcc-section--advanced .tt-settings-section__title { color: #ff7b72; }
.tt-wcc-section--advanced:hover {
  border-color: rgba(248, 81, 73, 0.5) !important;
  box-shadow: 0 0 24px rgba(248, 81, 73, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.tt-wcc-section--mode .tt-settings-section__title { color: #a371f7; }

/* ── Per-mode card distinct accent colors when selected ───────────────────── */
.tt-wcc-mode-card--focus:has(input:checked) {
  border-color: rgba(63, 185, 80, 0.65) !important;
  background: rgba(63, 185, 80, 0.1) !important;
  box-shadow: 0 0 22px rgba(63, 185, 80, 0.22) !important;
}
.tt-wcc-mode-card--focus .tt-wcc-mode-card__t { color: #7ee787; }

.tt-wcc-mode-card--trading:has(input:checked) {
  border-color: rgba(88, 166, 255, 0.65) !important;
  background: rgba(88, 166, 255, 0.1) !important;
  box-shadow: 0 0 22px rgba(88, 166, 255, 0.22) !important;
}
.tt-wcc-mode-card--trading .tt-wcc-mode-card__t { color: #58a6ff; }

.tt-wcc-mode-card--power:has(input:checked) {
  border-color: rgba(163, 113, 247, 0.65) !important;
  background: rgba(163, 113, 247, 0.1) !important;
  box-shadow: 0 0 22px rgba(163, 113, 247, 0.22) !important;
}
.tt-wcc-mode-card--power .tt-wcc-mode-card__t { color: #a371f7; }

.tt-wcc-mode-card--ai:has(input:checked) {
  border-color: rgba(248, 168, 28, 0.65) !important;
  background: rgba(248, 168, 28, 0.09) !important;
  box-shadow: 0 0 22px rgba(248, 168, 28, 0.22) !important;
}
.tt-wcc-mode-card--ai .tt-wcc-mode-card__t { color: #f8a81c; }

/* ── Chip button color variants ───────────────────────────────────────────── */
.tt-chip-btn--green {
  border-color: rgba(63, 185, 80, 0.4);
  color: #7ee787;
  background: rgba(63, 185, 80, 0.07);
}
.tt-chip-btn--green:hover {
  border-color: rgba(63, 185, 80, 0.7);
  background: rgba(63, 185, 80, 0.14);
}
.tt-chip-btn--orange {
  border-color: rgba(255, 166, 77, 0.4);
  color: #ffa657;
  background: rgba(255, 166, 77, 0.07);
}
.tt-chip-btn--orange:hover {
  border-color: rgba(255, 166, 77, 0.7);
  background: rgba(255, 166, 77, 0.14);
}
.tt-chip-btn--purple {
  border-color: rgba(163, 113, 247, 0.4);
  color: #a371f7;
  background: rgba(163, 113, 247, 0.07);
}
.tt-chip-btn--purple:hover {
  border-color: rgba(163, 113, 247, 0.7);
  background: rgba(163, 113, 247, 0.14);
}
.tt-chip-btn--gold {
  border-color: rgba(248, 168, 28, 0.4);
  color: #f8a81c;
  background: rgba(248, 168, 28, 0.07);
}
.tt-chip-btn--gold:hover {
  border-color: rgba(248, 168, 28, 0.7);
  background: rgba(248, 168, 28, 0.14);
}
.tt-chip-btn--red {
  border-color: rgba(248, 81, 73, 0.4);
  color: #ff7b72;
  background: rgba(248, 81, 73, 0.07);
}
.tt-chip-btn--red:hover {
  border-color: rgba(248, 81, 73, 0.7);
  background: rgba(248, 81, 73, 0.14);
}

/* Global WCC theme hooks on <html> */
html.pitstrike-wcc-theme-neon {
  --accent-blue: #38bdf8;
  --panel-border: rgba(56, 189, 248, 0.35);
}

html.pitstrike-wcc-theme-neon body {
  text-shadow: 0 0 1px rgba(56, 189, 248, 0.12);
}

html.pitstrike-wcc-theme-institutional {
  --accent-blue: #6cb6ff;
  --text-secondary: #9da7b0;
}

html[data-pitstrike-wcc-dark='ultra'] {
  --bg-dark: #050608;
  --panel-bg: #0c0e12;
}

html[data-pitstrike-wcc-dark='neon'] {
  --bg-dark: #070a12;
  --panel-bg: #0d111c;
  --panel-border: rgba(168, 85, 247, 0.28);
}

.app-shell.pitstrike-ui-smooth-scale {
  transition:
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    width 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    height 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transition-duration: calc(0.45s / var(--wcc-anim-speed));
}

#mission-control-canvas-host.pitstrike-mc-anim-low {
  transition: height 0.35s ease, min-height 0.35s ease, filter 0.4s ease;
  transition-duration: calc(0.35s / var(--wcc-anim-speed));
}

#mission-control-canvas-host.pitstrike-mc-anim-medium {
  transition: height 0.55s ease, min-height 0.55s ease, filter 0.45s ease;
  transition-duration: calc(0.55s / var(--wcc-anim-speed));
}

#mission-control-canvas-host.pitstrike-mc-anim-high {
  transition: height 0.85s cubic-bezier(0.22, 1, 0.36, 1), min-height 0.85s cubic-bezier(0.22, 1, 0.36, 1), filter 0.55s ease;
  transition-duration: calc(0.85s / var(--wcc-anim-speed));
}

#mission-control-canvas-host.pitstrike-mc-tone-aggressive {
  box-shadow: inset 0 -1px 0 rgba(248, 81, 73, calc(0.15 + var(--wcc-glow-intensity) * 0.25));
}

#mission-control-canvas-host.pitstrike-mc-tone-calm {
  box-shadow: inset 0 -1px 0 rgba(63, 185, 80, calc(0.12 + var(--wcc-glow-intensity) * 0.2));
}

#mission-control-canvas-host.pitstrike-mc-tone-dynamic {
  box-shadow:
    inset 0 -1px 0 rgba(88, 166, 255, calc(0.12 + var(--wcc-glow-intensity) * 0.2)),
    inset 0 0 40px rgba(168, 85, 247, calc(0.04 + var(--wcc-glow-intensity) * 0.08));
}

#chart-dock-root.pitstrike-chart-precision .chart-toolbar {
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: tabular-nums;
}

#chart-dock-root.pitstrike-chart-render-perf .chart-dock-chart-stack {
  filter: saturate(0.95);
}

#chart-dock-root.pitstrike-chart-render-ultra .chart-dock-chart-stack {
  filter: saturate(1.05) contrast(1.02);
}

html.pitstrike-wcc-reduce-effects .tt-modal__backdrop {
  backdrop-filter: blur(calc(var(--wcc-glass-blur) * 0.5)) !important;
}

html.pitstrike-wcc-perf-overlay::after {
  content: 'FPS · live';
  position: fixed;
  right: 12px;
  bottom: 12px;
  z-index: calc(var(--z-modal) + 2);
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: #7ee787;
  background: rgba(13, 17, 23, 0.88);
  border: 1px solid rgba(63, 185, 80, 0.45);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}

html.pitstrike-wcc-focus-drawdown .app-top-bar {
  box-shadow: 0 0 0 1px rgba(248, 81, 73, 0.35);
}

.tt-modal kbd {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid var(--panel-border);
  background: #0d1117;
  color: var(--text-primary);
}

.panel {
  background: var(--panel-bg);
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  padding: 12px;
}

.panel h3 {
  margin: 0 0 10px 0;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-secondary);
}

.opp-item.active {
  border-left-color: var(--accent-green) !important;
  background: rgba(63, 185, 80, 0.08) !important;
}

.opp-row-active {
  background: rgba(63, 185, 80, 0.08) !important;
}

.opp-row:hover {
  background: rgba(88, 166, 255, 0.05);
}

/* Live opportunities table + drawer rationale (dashboard.js) */
.opp-board-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 9px;
}

.opp-board-table__th {
  text-align: left;
  padding: 4px;
  border-bottom: 1px solid var(--panel-border);
}

.opp-board-table__th--center {
  text-align: center;
}

.opp-board-table__th--right {
  text-align: right;
}

.opp-board-table__td {
  padding: 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.opp-board-table__td--center {
  text-align: center;
}

.opp-board-table__td--right {
  text-align: right;
  font-family: var(--monospace);
}

.opp-board-table__sym {
  font-weight: 600;
}

.opp-board-table__strat {
  color: var(--text-secondary);
}

.opp-board-table__dir--long {
  color: var(--accent-green);
}

.opp-board-table__dir--short {
  color: var(--accent-red);
}

.opp-board-table__mono {
  font-family: var(--monospace);
}

.opp-board-table__status-chip {
  font-weight: 700;
}

.opp-board-table__status-chip--green {
  color: var(--accent-green);
}

.opp-board-table__status-chip--yellow {
  color: #d29922;
}

.opp-board-table__status-chip--red {
  color: var(--accent-red);
}

.opp-expand-toggle {
  margin-right: 4px;
  cursor: pointer;
  font-size: 8px;
}

.opp-expand-cell {
  padding: 6px 8px;
  background: rgba(0, 0, 0, 0.2);
  font-size: 9px;
  border-bottom: 1px solid var(--panel-border);
}

.opp-rationale__caption {
  font-size: 10px;
  font-weight: 700;
  margin-bottom: 4px;
}

.opp-rationale__caption--why {
  color: var(--accent-green);
}

.opp-rationale__caption--why-spaced {
  margin-top: 6px;
}

.opp-rationale__caption--inv {
  color: var(--accent-red);
}

.opp-rationale__caption--warn {
  color: var(--accent-orange, #d29922);
}

.opp-rationale__caption--muted {
  color: var(--text-secondary);
}

.opp-rationale__list {
  margin: 0 0 6px 14px;
  padding: 0;
  line-height: 1.4;
}

.opp-rationale__list--expand {
  margin: 0 0 4px 14px;
}

.opp-rationale__list--inv {
  margin: 0 0 0 14px;
}

.opp-ai-logic__banner {
  margin-bottom: 6px;
  color: var(--accent-orange, #d29922);
}

.opp-drawer-summary-regime {
  margin-top: 4px;
  color: var(--text-secondary);
}

.opp-drawer-plan-grid {
  display: grid;
  gap: 4px;
}

.opp-drawer-readiness-status {
  margin-top: 6px;
  font-weight: 700;
}

.opp-drawer-readiness-status--green {
  color: var(--accent-green);
}

.opp-drawer-readiness-status--yellow {
  color: #d29922;
}

.opp-drawer-readiness-status--red {
  color: var(--accent-red);
}

.opp-lifecycle-stage--rejected {
  color: var(--accent-red);
}

.opp-lifecycle-stage--done {
  color: var(--accent-green);
}

.opp-lifecycle-stage--muted {
  color: var(--text-secondary);
}

.decision-opp-score-tone--high {
  color: var(--accent-green);
}

.decision-opp-score-tone--mid {
  color: var(--accent-blue);
}

.decision-opp-score-tone--low {
  color: var(--accent-orange, #d29922);
}

.decision-opp-score-tone--muted {
  color: var(--text-secondary);
}

.decision-bias-tone--long {
  color: var(--accent-green);
}

.decision-bias-tone--short {
  color: var(--accent-red);
}

.decision-bias-tone--neutral {
  color: var(--text-secondary);
}

.decision-setup-score-tone--bad {
  color: var(--accent-red);
}

.decision-setup-score-tone--mid {
  color: var(--accent-orange, #d29922);
}

.decision-setup-score-tone--good {
  color: var(--accent-green);
}

/* Opportunity detail drawer — shell (was inline on #opp-detail-drawer) */
.opp-detail-drawer {
  position: fixed;
  top: 48px;
  right: 0;
  bottom: 0;
  width: 360px;
  background: #0d1117;
  border-left: 1px solid var(--panel-border);
  z-index: 900;
  transform: translateX(100%);
  transition: transform 0.2s ease;
  overflow-y: auto;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.3);
}

.opp-drawer-header {
  padding: 12px;
  border-bottom: 1px solid var(--panel-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--panel-bg);
}

.opp-drawer-header__title {
  margin: 0;
  font-size: 14px;
}

.opp-drawer-header__close {
  cursor: pointer;
  padding: 4px 8px;
}

.opp-drawer-content {
  padding: 12px;
  font-size: 11px;
}

.opp-drawer-empty {
  color: var(--text-secondary);
}

.opp-drawer-section {
  margin-bottom: 16px;
}

.opp-drawer-section > .stat-label {
  margin-bottom: 6px;
}

.opp-drawer-well {
  background: rgba(0, 0, 0, 0.2);
  padding: 8px;
  border-radius: var(--ps-radius-sm);
  font-size: 10px;
}

.opp-drawer-well--muted {
  color: var(--text-secondary);
}

.opp-drawer-fix-slot {
  margin-top: 6px;
}

.opp-drawer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.opp-drawer-action-btn {
  cursor: pointer;
  padding: 6px 10px;
}

.opp-drawer-action-btn--primary {
  font-size: 10px;
}

.active-strategy-card {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  padding: 8px;
}

/* News feed: fill the dock body instead of reserving a fixed-height void. */
#news-alert-feed.news-feed-compact,
.news-feed-compact#news-alert-feed {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 12px !important;
  gap: 10px !important;
}

#news-panel-right {
  min-height: 0 !important;
}

.news-alert-card {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 12px 14px;
  min-height: 95px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}

.news-alert-card:hover {
  border-color: rgba(88, 166, 255, 0.4);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  background: rgba(0, 0, 0, 0.3);
}

.news-alert-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--panel-border);
}

.news-alert-card.news-bullish {
  border-color: rgba(63, 185, 80, 0.25);
  background: linear-gradient(90deg, rgba(63, 185, 80, 0.08), rgba(0, 0, 0, 0.2) 40%);
}

.news-alert-card.news-bullish::before {
  background: var(--accent-green);
}

.news-alert-card.news-bearish {
  border-color: rgba(248, 81, 73, 0.25);
  background: linear-gradient(90deg, rgba(248, 81, 73, 0.08), rgba(0, 0, 0, 0.2) 40%);
}

.news-alert-card.news-bearish::before {
  background: var(--accent-red);
}

.news-alert-card.news-neutral {
  border-color: rgba(210, 153, 34, 0.25);
  background: linear-gradient(90deg, rgba(210, 153, 34, 0.08), rgba(0, 0, 0, 0.2) 40%);
}

.news-alert-card.news-neutral::before {
  background: var(--accent-orange);
}

.news-alert-card.news-selected {
  box-shadow: inset 0 0 0 1px var(--accent-blue);
}

.news-chip-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.news-card-summary {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
}

.news-chip {
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
}

.news-chip-source {
  color: var(--text-secondary);
  border-color: var(--panel-border);
}

.news-chip-bullish {
  background: rgba(63, 185, 80, 0.12);
  color: var(--accent-green);
  border-color: rgba(63, 185, 80, 0.25);
}

.news-chip-bearish {
  background: rgba(248, 81, 73, 0.12);
  color: var(--accent-red);
  border-color: rgba(248, 81, 73, 0.25);
}

.news-chip-neutral {
  background: rgba(210, 153, 34, 0.12);
  color: var(--accent-orange);
  border-color: rgba(210, 153, 34, 0.25);
}

/* Severity: Macro=amber, Earnings=blue, Regulatory=red, Generic=purple */
.news-chip-macro {
  background: rgba(210, 153, 34, 0.15);
  color: #d29922;
  border-color: rgba(210, 153, 34, 0.4);
}

.news-chip-regulatory {
  background: rgba(248, 81, 73, 0.15);
  color: #f85149;
  border-color: rgba(248, 81, 73, 0.4);
}

.news-chip-earnings {
  background: rgba(88, 166, 255, 0.15);
  color: #58a6ff;
  border-color: rgba(88, 166, 255, 0.4);
}

.news-chip-generic {
  background: rgba(188, 140, 255, 0.12);
  color: #bc8cff;
  border-color: rgba(188, 140, 255, 0.3);
}

.simulate-badge {
  border: 1px solid var(--panel-border);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 9px;
  color: var(--text-secondary);
}

/* Simulate plan modal — shell + injected rationale lists (dashboard.js) */
.simulate-modal__content {
  max-width: 980px;
  height: 82vh;
  margin-top: 4vh;
}

.simulate-modal__title {
  margin: 0;
}

.simulate-modal__header-actions {
  display: flex;
  gap: var(--ps-space-sm);
}

.simulate-modal__grid {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 12px;
  padding: 12px;
  height: calc(82vh - 52px);
}

.simulate-modal__sidebar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
}

.simulate-modal__panel {
  padding: 10px;
}

.simulate-modal__panel--chart {
  padding: var(--ps-space-sm);
  display: flex;
  flex-direction: column;
}

.simulate-modal__chart-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--ps-space-sm);
}

.simulate-modal__chart-host {
  flex: 1;
  min-height: 420px;
  background: #0d1117;
  position: relative;
  border: 1px solid var(--panel-border);
  border-radius: var(--ps-radius-sm);
}

.simulate-plan-summary {
  font-size: 11px;
  line-height: 1.5;
}

.simulate-plan-rationale,
.simulate-plan-trigger {
  font-size: 10px;
  line-height: 1.5;
}

.simulate-plan-badges {
  display: flex;
  gap: var(--ps-space-xs);
  flex-wrap: wrap;
}

.simulate-rationale__heading {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: var(--ps-space-xs);
}

.simulate-rationale__heading--why {
  color: var(--accent-green);
}

.simulate-rationale__heading--inv {
  color: var(--accent-red);
}

.simulate-rationale__list {
  margin: 0 0 var(--ps-space-sm) 14px;
  padding: 0;
  line-height: 1.45;
}

.simulate-rationale__list--inv {
  margin: 0 0 0 14px;
}

/* Decision stack — risk result line (renderIntentPreview) */
.decision-stack-risk-ok,
.decision-stack-risk-bad {
  font-weight: 700;
}

.decision-stack-risk-ok {
  color: var(--accent-green);
}

.decision-stack-risk-bad {
  color: var(--accent-red);
}

.decision-stack-risk-meta {
  color: var(--text-secondary);
}

/* Live account panel — dynamic status lines */
.decision-stack-live-msg--muted {
  color: var(--text-secondary);
}

.decision-stack-live-msg--err {
  color: var(--accent-red);
}

/* Command view (main cockpit): fills main-content height; inner layers split remaining space.
 * #bottom-dock sits below .cockpit-row (not inside main), so stretching command-view to main height
 * keeps the chart column aligned with the left rail — nothing is “covering” the chart; the center
 * stack was capped short when max-height used a shorter #command-view box than main. */
#command-view {
  flex: 1 1 0%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
  align-self: stretch;
}

main.main-content > #command-view {
  flex: 1 1 0%;
  min-height: 0;
  width: 100%;
  align-self: stretch;
}

/* Viewport-bounded GridStack host: pitstrike-dashboard-command-main-grid.js syncs cellHeight from this box */
#command-main-grid-stack {
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.grid-stack {
  min-height: 0;
}

/* Layout engine: widgets with ids in hiddenWidgets get this class (PitStrikeLayoutEngine.applyHiddenWidgets). */
.pitstrike-widget--layout-hidden {
  display: none !important;
}

#command-view > .layer1 {
  flex-shrink: 0;
}

/* Cockpit stack: GridStack below KPI row (pitstrike-dashboard-command-main-grid.js)
 * responsive: cockpit grid — min-height:0 + overflow keeps layout stable on resize/zoom */
#command-view > .pitstrike-command-main-stack.grid-stack {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  display: block;
  overflow: hidden;
  width: 100%;
}

#command-view > .command-main-layout-toolbar {
  flex-shrink: 0;
}

.pitstrike-command-main-stack__cell {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.pitstrike-command-main-stack__drag-handle {
  flex-shrink: 0;
  height: 0;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.pitstrike-command-main-grid--edit .pitstrike-command-main-stack__drag-handle {
  height: 8px;
  min-height: 8px;
  background: rgba(88, 166, 255, 0.1);
  border-bottom: 1px solid rgba(88, 166, 255, 0.22);
  cursor: grab;
}

.pitstrike-command-main-grid--edit {
  outline: 1px dashed rgba(88, 166, 255, 0.35);
  outline-offset: 2px;
}

.pitstrike-command-main-stack .layer2 {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  align-self: stretch;
  grid-template-rows: minmax(0, 1fr);
}

.pitstrike-command-main-stack .layer3 {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  align-self: stretch;
}

.pitstrike-command-main-stack .layer4 {
  flex: 1 1 auto;
  min-height: 0;
  align-self: stretch;
}

.command-main-layout-toolbar {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding: 8px 12px;
  margin-bottom: 2px;
  border-radius: 8px;
  border: 1px solid var(--panel-border);
  background: rgba(22, 27, 34, 0.95);
  pointer-events: auto;
}

.command-main-layout-toolbar__label {
  font-weight: 600;
  font-size: 12px;
  color: var(--text-primary);
}

.command-main-layout-toolbar__hint {
  font-size: 11px;
  color: var(--text-secondary);
  flex: 1 1 200px;
}

.command-main-layout-toolbar__btn {
  font: inherit;
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.25);
  color: var(--text-primary);
  cursor: pointer;
  position: relative;
  z-index: 2;
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
}

.command-main-layout-toolbar__btn:hover {
  border-color: rgba(88, 166, 255, 0.5);
}

.command-main-layout-toolbar__btn--primary {
  background: rgba(88, 166, 255, 0.2);
  border-color: rgba(88, 166, 255, 0.45);
  color: #c9e4ff;
}

/* Bench collapsed: dashboard.js toggles this on #command-view; equity/activity sliver uses .layer3--bench-collapsed */
#command-view.command-view--bench-collapsed .pitstrike-command-main-stack {
  min-height: 0;
}

#command-view .chart-panel.layer2__chart {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  height: 100%;
  position: relative;
  overflow: hidden;
  align-self: stretch;
  display: flex;
  flex-direction: column;
}

/* Fill the grid cell: without this, #chart-dock-root sizes to content and the main chart stack cannot grow vertically */
#chart-dock-root {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

#chart-dock-chrome {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

#chart-dock-chrome > [id^="chart-"],
#chart-dock-chrome > [id^="api-"],
#chart-dock-chrome > [id^="db-"],
#chart-dock-chrome > [id^="symbol-"] {
  flex-shrink: 0;
}

#chart-dock-render {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* ── Vertical split: price pane / drag handle / lower indicator pane ─────────
   grid-template-rows uses a CSS custom property for the bottom pane height.
   First row minmax(140px,1fr) matches chart-vsplit MIN_PRICE_H: when grid height is indefinite,
   pure minmax(0,1fr) resolves 1fr to 0px and collapses the price pane (embedded chart bug).
   The .pitstrike-no-lower modifier collapses the handle+lower rows when
   no indicators are visible.
   ────────────────────────────────────────────────────────────────────────── */
.chart-dock-chart-stack {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(140px, 1fr) 8px var(--pitstrike-bottom-pane-h, 220px);
  max-height: 100%;
  overflow: hidden;
  align-self: stretch;
}

/* Collapse handle + lower pane when no indicators are active */
.chart-dock-chart-stack.pitstrike-no-lower {
  --pitstrike-bottom-pane-h: 0px;
  grid-template-rows: minmax(140px, 1fr) 0px 0px;
}

.chart-dock-chart-stack > .pitstrike-price-pane,
.chart-dock-chart-stack > .pitstrike-lower-pane {
  min-height: 0;
  min-width: 0;
}

/* Price pane: fills the first grid row; min-height 0 so grid can honor bottom pane height */
.pitstrike-price-pane {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  width: 100%;
}

/* Flex host for #lightweight-chart: consumes 1fr row inside .pitstrike-price-pane (terminal dock layout). */
.pitstrike-chart-body {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  width: 100%;
}

.pitstrike-chart-body #lightweight-chart {
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0;
  border: 0;
}

#lightweight-chart {
  position: relative;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0;
  border: 0;
}

/* Outer vertical split handle */
.pitstrike-chart-vsplit-handle {
  height: 8px;
  cursor: row-resize;
  background: linear-gradient(
    to bottom,
    rgba(20, 26, 38, 0.92),
    rgba(30, 40, 58, 0.95),
    rgba(20, 26, 38, 0.92)
  );
  border-top: 1px solid rgba(120, 140, 180, 0.18);
  border-bottom: 1px solid rgba(120, 140, 180, 0.18);
  user-select: none;
  -webkit-user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, border-color 0.15s ease;
  z-index: 2;
  flex-shrink: 0;
}

.pitstrike-chart-vsplit-handle:hover,
.pitstrike-chart-vsplit-handle.is-dragging {
  background: linear-gradient(
    to bottom,
    rgba(88, 166, 255, 0.14),
    rgba(88, 166, 255, 0.1),
    rgba(88, 166, 255, 0.14)
  );
  border-top-color: rgba(88, 166, 255, 0.45);
  border-bottom-color: rgba(88, 166, 255, 0.45);
}

.pitstrike-chart-vsplit-handle::after {
  content: '';
  width: 32px;
  height: 2px;
  border-radius: 1px;
  background: rgba(120, 140, 180, 0.35);
  pointer-events: none;
}

.pitstrike-chart-vsplit-handle:hover::after,
.pitstrike-chart-vsplit-handle.is-dragging::after {
  background: rgba(88, 166, 255, 0.72);
}

/* Hidden when lower pane is collapsed */
.chart-dock-chart-stack.pitstrike-no-lower .pitstrike-chart-vsplit-handle {
  overflow: hidden;
  pointer-events: none;
}

/* Lower indicator pane: fills the third grid row */
.pitstrike-lower-pane {
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

/* Hidden via grid collapse when no indicators active */
.chart-dock-chart-stack.pitstrike-no-lower .pitstrike-lower-pane {
  display: none;
  overflow: hidden;
  pointer-events: none;
}

/* GridStack: propagate pixel row height into cockpit — item content must flex-fill, not size from content */
#command-main-grid-stack .grid-stack-item {
  min-height: 0;
}

#command-main-grid-stack.grid-stack > .grid-stack-item > .grid-stack-item-content {
  width: 100%;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Main cockpit row (chart + docks): fill GridStack cell; keep layer2 as CSS grid for three columns */
#command-main-grid-stack .grid-stack-item[gs-id='main-cockpit-row'] .grid-stack-item-content,
#command-main-grid-stack .grid-stack-item:first-child .grid-stack-item-content {
  min-height: 0;
}

#command-main-grid-stack #layer2-cockpit.layer2 {
  height: 100%;
  min-height: 0;
  min-width: 0;
  box-sizing: border-box;
}

#command-main-grid-stack #lightweight-chart {
  height: 100%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
}

body:not(.debug-enabled) #debug-hud,
body:not(.debug-enabled) #chart-debug,
body:not(.debug-enabled) #chart-debug-panel,
body:not(.debug-enabled) #pitstrike-dev-reflow-layout {
  display: none !important;
}

/* ProjectX disconnected: notice above chart canvases (--z-chart); card/close keep pointer-events. */
.chart-sim-watermark {
  position: absolute;
  inset: 0;
  z-index: calc(var(--z-chart) + 25);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  padding: 12px;
  box-sizing: border-box;
  background:
    radial-gradient(ellipse 80% 60% at 50% 38%, rgba(88, 166, 255, 0.12) 0%, transparent 55%),
    radial-gradient(ellipse 70% 50% at 80% 70%, rgba(163, 113, 247, 0.1) 0%, transparent 50%),
    radial-gradient(ellipse at center, rgba(13, 17, 23, 0.02) 0%, rgba(13, 17, 23, 0.42) 55%, rgba(13, 17, 23, 0.58) 100%);
}

.chart-sim-watermark__card {
  position: relative;
  max-width: min(440px, 94%);
  padding: 2px;
  border-radius: 14px;
  pointer-events: auto;
  background: linear-gradient(135deg, rgba(88, 166, 255, 0.95), rgba(163, 113, 247, 0.85) 45%, rgba(63, 185, 80, 0.65));
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 12px 40px rgba(0, 0, 0, 0.5);
}

.chart-sim-watermark__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(13, 17, 23, 0.8);
  color: #e6edf3;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  z-index: 3;
}

.chart-sim-watermark__close:hover {
  border-color: rgba(121, 192, 255, 0.55);
  color: #79c0ff;
}

.chart-sim-watermark__inner {
  text-align: center;
  padding: 16px 20px 18px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(22, 27, 34, 0.97) 0%, rgba(13, 17, 23, 0.98) 100%);
  backdrop-filter: blur(8px);
}

.chart-sim-watermark__kicker {
  margin: 0 0 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: linear-gradient(90deg, #58a6ff, #a371f7, #3fb950);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.chart-sim-watermark__title {
  margin: 0 0 10px;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: #e6edf3;
}

.chart-sim-watermark__text {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.chart-sim-watermark__text strong {
  color: #79c0ff;
  font-weight: 600;
}

/* Sub-minute streaming TFs: visible when billing state includes 1s–30s (Pro/Elite or admin override). */
.chart-tf-btn--admin-only {
  display: none;
}

body.pitstrike-chart-subminute-unlocked .chart-tf-btn--admin-only {
  display: inline-flex;
}

.pitstrike-chart-tf-access-badge {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent-blue, #58a6ff);
  margin-left: 6px;
  white-space: nowrap;
}

.pitstrike-chart-tf-plan-hint {
  font-size: 11px;
  line-height: 1.35;
  margin: 4px 0 0;
  max-width: 52ch;
}

.pitstrike-chart-tf-plan-hint a {
  color: var(--accent-blue, #58a6ff);
}

.pitstrike-instrument-rail-btn {
  font-size: 9px;
  padding: 4px 8px;
  background: #21262d;
  border: 1px solid var(--panel-border, #30363d);
  border-radius: 4px;
  color: var(--text-secondary);
  cursor: pointer;
}

.pitstrike-instrument-rail-btn:hover {
  color: var(--text-primary);
  border-color: rgba(88, 166, 255, 0.35);
}

/* Layer 1 legacy fallback (non-GridStack marketing dashboard template) */
.layer1:not(.grid-stack):not(.kpi-rail) {
  grid-area: layer1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) minmax(200px, 1.25fr);
  gap: 10px;
  align-items: stretch;
  overflow: visible;
  z-index: 2;
}

/* ——— Compressed KPI rail (trading HUD) ——— */
.kpi-rail {
  grid-area: layer1;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  max-height: 64px;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(13, 17, 23, 0.96);
  z-index: 2;
}

/* KPI embedded in top bar: flat telemetry strip (readouts, not mini cards) */
.app-top-bar .kpi-rail.kpi-rail--in-header {
  grid-area: unset;
  width: 100%;
  min-width: 0;
  max-height: none;
  border-bottom: none;
  background: transparent;
  box-shadow: none;
  z-index: auto;
}

.app-top-bar .kpi-rail--in-header .kpi-rail__inner {
  width: 100%;
  min-height: 44px;
  max-height: 58px;
  padding: 0 4px;
  gap: 0;
  align-items: stretch;
}

.app-top-bar .kpi-rail--in-header .kpi-rail__body {
  flex: 1 1 auto;
  gap: 0;
  align-items: stretch;
  overflow: hidden;
}

.app-top-bar .kpi-rail--in-header .kpi-rail__cluster {
  flex: 1 1 auto;
  min-width: 0;
  gap: 0;
  align-items: stretch;
}

.app-top-bar .kpi-rail--in-header .kpi-rail__cluster--performance {
  flex: 2 1 auto;
  overflow: hidden;
}

.app-top-bar .kpi-rail--in-header .kpi-rail__divider {
  width: 1px;
  align-self: stretch;
  margin: 4px 2px;
  background: rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}

.app-top-bar .kpi-rail--in-header .kpi-rail__toggle {
  width: 24px;
  height: 24px;
  font-size: 13px;
}

.app-top-bar .kpi-rail--in-header .kpi-rail__cluster .kpi:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.07);
}

.app-top-bar .kpi-rail--in-header .kpi {
  flex: 1 1 0;
  min-width: 68px;
  max-width: none;
  min-height: 44px;
  max-height: none;
  align-self: stretch;
  padding: 4px 14px;
  gap: 2px;
  border-radius: 0;
  border: none;
  border-left: none;
  background: transparent;
  box-shadow: none;
  transition: background 120ms ease;
}

.app-top-bar .kpi-rail--in-header .kpi.kpi--positive,
.app-top-bar .kpi-rail--in-header .kpi.kpi--negative,
.app-top-bar .kpi-rail--in-header .kpi.kpi--neutral {
  border-left: none;
}

.app-top-bar .kpi-rail--in-header .kpi:hover {
  background: rgba(255, 255, 255, 0.04);
}

.app-top-bar .kpi-rail--in-header .kpi__value {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.app-top-bar .kpi-rail--in-header .kpi__label {
  font-size: 10px;
  opacity: 0.55;
  letter-spacing: 0.02em;
}

.app-top-bar .kpi-rail--in-header .kpi__spark-wrap {
  width: 32px;
  height: 13px;
  opacity: 0.85;
}

.app-top-bar .kpi-rail--in-header .kpi__spark-wrap canvas {
  width: 32px !important;
  height: 13px !important;
}

@keyframes pitstrike-kpi-flash-pulse {
  0% {
    filter: brightness(1);
    box-shadow: inset 0 0 0 0 rgba(88, 166, 255, 0);
  }
  40% {
    filter: brightness(1.12);
    box-shadow: inset 0 -2px 0 0 rgba(88, 166, 255, 0.35);
  }
  100% {
    filter: brightness(1);
    box-shadow: inset 0 0 0 0 rgba(88, 166, 255, 0);
  }
}

.app-top-bar .kpi-rail--in-header .kpi.kpi--value-flash {
  animation: pitstrike-kpi-flash-pulse 0.42s ease-out;
  background: linear-gradient(90deg, rgba(88, 166, 255, 0.12), rgba(192, 132, 252, 0.1), rgba(88, 166, 255, 0.12));
}

.app-top-bar .kpi-rail--in-header .kpi.kpi--positive .kpi__value {
  color: #3fb950;
  text-shadow: 0 0 14px rgba(63, 185, 80, 0.35);
}

.app-top-bar .kpi-rail--in-header .kpi.kpi--negative .kpi__value {
  color: #f85149;
  text-shadow: 0 0 14px rgba(248, 81, 73, 0.32);
}

.app-top-bar .kpi-rail--in-header .kpi.kpi--neutral .kpi__value {
  color: rgba(240, 246, 252, 0.92);
}

.app-top-bar .kpi-rail--in-header .kpi.kpi--warn .kpi__value {
  color: #d4a72c;
  text-shadow: 0 0 12px rgba(210, 153, 34, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .app-top-bar .kpi-rail--in-header .kpi.kpi--value-flash {
    animation: none;
  }
}

.kpi-rail--collapsed .kpi-rail__body {
  display: none !important;
}

.kpi-rail--collapsed {
  max-height: none;
}

.kpi-rail__inner {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  max-height: 64px;
  padding: 0 8px 0 12px;
  box-sizing: border-box;
}

.kpi-rail__body {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.kpi-rail__cluster {
  display: flex;
  align-items: stretch;
  gap: 8px;
  flex-wrap: nowrap;
  min-width: 0;
}

.kpi-rail__cluster--performance {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

.kpi-rail__cluster--activity {
  flex: 0 1 auto;
}

.kpi-rail__divider {
  width: 1px;
  align-self: stretch;
  min-height: 28px;
  background: rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}

.kpi-rail__toggle {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  padding: 0;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.28);
  color: var(--text-secondary);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  font-family: inherit;
}

.kpi-rail__toggle:hover {
  border-color: rgba(88, 166, 255, 0.45);
  color: var(--accent-blue);
}

.kpi {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 2px;
  min-width: 72px;
  max-width: 132px;
  padding: 4px 8px 4px 10px;
  border: none;
  border-left: 3px solid rgba(88, 166, 255, 0.35);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.02);
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
  transition: background 0.12s ease, border-color 0.12s ease, opacity 0.12s ease;
}

.kpi:hover {
  background: rgba(88, 166, 255, 0.07);
}

.kpi:focus-visible {
  outline: 2px solid var(--accent-blue);
  outline-offset: 2px;
}

.kpi--positive {
  border-left-color: #22c55e;
}

.kpi--negative {
  border-left-color: #ef4444;
}

.kpi--neutral {
  border-left-color: rgba(210, 153, 34, 0.8);
}

.kpi--muted {
  opacity: 0.42;
}

.kpi__value-row {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
}

.kpi__value {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kpi__value.monospace {
  font-family: var(--monospace, ui-monospace, monospace);
  font-variant-numeric: tabular-nums;
}

.kpi__label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.55;
  line-height: 1.1;
}

.kpi__spark-wrap {
  flex: 0 0 auto;
  width: 48px;
  height: 20px;
  opacity: 0.92;
}

.kpi__spark-wrap canvas {
  display: block;
  width: 48px !important;
  height: 20px !important;
}

/* Setup quality: Strategies dock (right), not KPI rail */
.cockpit-setup-quality-tile {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(48, 54, 61, 0.85);
  background: rgba(0, 0, 0, 0.22);
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: left;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.cockpit-setup-quality-tile:hover {
  border-color: rgba(88, 166, 255, 0.4);
  background: rgba(88, 166, 255, 0.06);
}

.cockpit-setup-quality-tile:focus-visible {
  outline: 2px solid var(--accent-blue);
  outline-offset: 2px;
}

.cockpit-setup-quality-tile__label {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #58a6ff;
  margin-bottom: 4px;
}

.cockpit-setup-quality-tile__score {
  font-size: 14px;
  font-weight: 700;
  color: var(--accent-blue);
}

.cockpit-setup-quality-tile__score.decision-setup-score-tone--bad {
  color: var(--accent-red);
}

.cockpit-setup-quality-tile__score.decision-setup-score-tone--mid {
  color: var(--accent-orange, #d29922);
}

.cockpit-setup-quality-tile__score.decision-setup-score-tone--good {
  color: var(--accent-green);
}

.cockpit-setup-quality-tile__score.decision-opp-score-tone--muted {
  color: var(--text-secondary);
}

.cockpit-setup-quality-tile__breakdown {
  font-size: 9px;
  color: var(--text-secondary);
  margin-top: 4px;
  line-height: 1.35;
}

/* Legacy GridStack KPI row (older shells / Tauri bundle) */
.layer1.pitstrike-layer1-grid.grid-stack {
  grid-area: layer1;
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 0;
  z-index: 2;
}

#layer1-grid-stack .grid-stack-item-content {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

#layer1-grid-stack .grid-stack-item-content > .panel.stat-card {
  flex: 1 1 auto;
  min-height: 0;
}

#layer1-grid-stack .stat-card {
  min-height: 34px;
}

#layer1-grid-stack .stat-card--kpi {
  padding: 4px 6px;
  border-radius: 6px;
}

#layer1-grid-stack .stat-card--kpi:hover {
  transform: translateY(-0.5px);
}

#layer1-grid-stack .stat-label {
  font-size: 8px;
  margin-bottom: 2px;
  letter-spacing: 0.04em;
}

#layer1-grid-stack .stat-value {
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#layer1-grid-stack .stat-sparkline-wrap {
  height: 10px;
  margin-top: 2px;
}

#layer1-grid-stack .stat-setup-breakdown {
  font-size: 7px;
  margin-top: 2px;
  line-height: 1.25;
}

#layer1-grid-stack .ai-confidence-gauge {
  gap: 2px;
}

.pitstrike-kpi-grid--edit {
  outline: 1px dashed rgba(88, 166, 255, 0.45);
  outline-offset: 2px;
}

/* Above GridStack drag layer (~10k), workspace frame (12k), dock/footer modals (~13k) so Save/Cancel receive clicks */
#kpi-layout-edit-toolbar,
#command-main-layout-toolbar {
  position: relative;
  z-index: var(--z-modal);
  isolation: isolate;
}

.kpi-layout-edit-toolbar {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding: 8px 12px;
  margin-bottom: 2px;
  border-radius: 8px;
  border: 1px solid var(--panel-border);
  background: rgba(22, 27, 34, 0.95);
  pointer-events: auto;
}

.kpi-layout-edit-toolbar__label {
  font-weight: 600;
  font-size: 12px;
  color: var(--text-primary);
}

.kpi-layout-edit-toolbar__hint {
  font-size: 11px;
  color: var(--text-secondary);
  flex: 1 1 200px;
}

.kpi-layout-edit-toolbar__btn {
  font: inherit;
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.25);
  color: var(--text-primary);
  cursor: pointer;
  position: relative;
  z-index: 2;
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
}

.kpi-layout-edit-toolbar__btn:hover {
  border-color: rgba(88, 166, 255, 0.5);
}

.kpi-layout-edit-toolbar__btn--primary {
  background: rgba(88, 166, 255, 0.2);
  border-color: rgba(88, 166, 255, 0.45);
  color: #c9e4ff;
}

.stat-card {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 72px;
}

.stat-card--kpi {
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--panel-border);
  border-left-width: 3px;
  background: rgba(0, 0, 0, 0.22);
  transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.12s ease;
}

.stat-card--kpi:hover {
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
  transform: translateY(-1px);
}

.stat-card--pnl { border-left-color: var(--accent-green); }
.stat-card--equity { border-left-color: #58a6ff; }
.stat-card--win { border-left-color: #a371f7; }
.stat-card--pf { border-left-color: #79c0ff; }
.stat-card--avgr { border-left-color: #ffa657; }
.stat-card--dd { border-left-color: var(--accent-red); }
.stat-card--expectancy { border-left-color: #56d364; }
.stat-card--today { border-left-color: #8b949e; }
.stat-card--exposure { border-left-color: #d29922; }
.stat-card--setup { border-left-color: #58a6ff; }

.stat-card[data-stat-tip] {
  cursor: help;
}

.stat-card[data-stat-tip]::after {
  content: attr(data-stat-tip);
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 8px);
  z-index: 100;
  padding: 10px 12px;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--text-primary);
  background: var(--panel-bg);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, visibility 0.15s ease;
  max-width: min(300px, 92vw);
  white-space: normal;
  text-transform: none;
  letter-spacing: normal;
}

.stat-card[data-stat-tip]:hover::after,
.stat-card[data-stat-tip]:focus-within::after {
  opacity: 1;
  visibility: visible;
}

.stat-card[data-stat-tip]:focus-visible {
  outline: 1px solid rgba(88, 166, 255, 0.55);
  outline-offset: 2px;
}

.stat-sparkline-wrap {
  height: 20px;
  width: 100%;
  margin-top: 4px;
}

.stat-setup-breakdown {
  font-size: 9px;
  color: var(--text-secondary);
  line-height: 1.35;
  margin-top: 4px;
}

.stat-label {
  font-size: 10px;
  color: var(--text-secondary);
  text-transform: uppercase;
  margin-bottom: 4px;
  letter-spacing: 0.03em;
}

.stat-value {
  font-size: 18px;
  font-weight: 700;
  font-family: var(--monospace);
}

.ai-confidence-gauge {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  background: rgba(88, 166, 255, 0.07);
  border: 1px solid rgba(88, 166, 255, 0.22);
}

/* Layer 2: Market Intelligence — left dock | chart (1fr) | right dock (px-capped via JS for resize).
 * Right column max is driven by cockpit-split-layout.js (chart-first balance on ultrawide). */
.layer2 {
  grid-area: layer2;
  display: grid;
  grid-template-columns:
    minmax(0, var(--pitstrike-layout-left-px, 0px))
    minmax(320px, 1fr)
    minmax(0, var(--pitstrike-layout-right-px, min(680px, 42vw)));
  gap: 10px;
  align-items: stretch;
  position: relative;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#layer2-cockpit.layer2 {
  --pitstrike-layout-left-px: 0px;
  --pitstrike-layout-right-px: min(440px, 38vw);
  --pitstrike-cockpit-dock-w: min(440px, 38vw);
}

/* Dock column widths: smooth when not actively dragging a resize grip (motion spec). */
#layer2-cockpit.layer2:not(.pitstrike-cockpit--resizing):not(.pitstrike-cockpit--mobile) {
  transition: grid-template-columns var(--ps-motion-duration-medium) var(--ps-motion-easing-standard);
}

@media (prefers-reduced-motion: reduce) {
  #layer2-cockpit.layer2:not(.pitstrike-cockpit--resizing):not(.pitstrike-cockpit--mobile) {
    transition: none;
  }

  .chart-decision-engine__panel {
    transition: none;
  }

  .chart-toolbar__status-pill {
    transition: none;
  }

  .chart-workspace-mode__btn {
    transition: none;
  }

  .chart-toolbar__ghost-btn:hover {
    transform: none;
  }

  .chart-refresh-progress__fill {
    transition: none;
  }
}

.layer2 > .layer2__chart,
.layer2 > .chart-panel.layer2__chart {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}

/* Phone shell grid: max-width must match PITSTRIKE_PHONE_MAX_PX (pitstrike-breakpoints.js / pitstrikeBreakpoints.ts).
 * Left dock visibility on phone is handled in pitstrike-cockpit-resize.css (overlay drawer, not display:none here). */
@media (max-width: 880px) {
  #layer2-cockpit.layer2 {
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(200px, min(58vh, 1fr)) minmax(160px, min(40vh, 380px));
  }

  #layer2-cockpit.layer2.layer2--sides-collapsed {
    grid-template-rows: minmax(200px, min(58vh, 1fr)) minmax(56px, auto);
  }

  #layer2-cockpit.layer2 .layer2__sides.cockpit-right-dock {
    min-height: 0;
    max-height: min(40vh, 380px);
  }

  #layer2-cockpit.layer2.layer2--sides-collapsed .layer2__sides.cockpit-right-dock {
    max-height: none;
  }
}

.mtf-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
}

.mtf-cell {
  background: rgba(255, 255, 255, 0.03);
  padding: 8px;
  text-align: center;
  border-radius: 4px;
}

.execution-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.risk-tag {
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 600;
  border: 1px solid transparent;
}

.risk-tag.green {
  background: rgba(63, 185, 80, 0.1);
  color: var(--accent-green);
  border-color: rgba(63, 185, 80, 0.2);
}

/* Layer 3: unified bench — header, equity chart, activity table (one column, one collapse) */
.layer3 {
  grid-area: layer3;
  display: flex;
  flex-direction: column;
  min-height: 0;
  gap: 0;
}

.layer3-expanded-stack {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
}

#layer3-row.layer3--bench-collapsed .layer3-expanded-stack {
  display: none !important;
}

#layer3-row:not(.layer3--bench-collapsed) #layer3-bench-sliver {
  display: none !important;
}

#layer3-row.layer3--bench-collapsed #layer3-bench-sliver {
  display: flex !important;
}

.layer3-bench-head {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-shrink: 0;
  padding: 6px 12px;
  min-height: 0;
}

.layer3-bench-head-main {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
}

.layer3-bench-head-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.layer3-bench-head-sep {
  color: var(--text-secondary);
  opacity: 0.55;
  user-select: none;
}

.layer3-bench-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.layer3-bench-sliver {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-shrink: 0;
  padding: 4px 12px;
  min-height: 32px;
  border-radius: 6px;
  border: 1px solid rgba(88, 166, 255, 0.14);
  background: linear-gradient(180deg, rgba(13, 17, 23, 0.98), rgba(22, 27, 34, 0.92));
}

.layer3-bench-sliver-text {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.layer3-equity-panel {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
}

.layer3-activity-column {
  display: flex;
  flex-direction: column;
  flex: 0 1 auto;
  min-width: 0;
  min-height: 0;
  max-height: min(36vh, 280px);
  align-self: stretch;
}

.layer3-equity-body {
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.layer3-equity-chart-host {
  flex: 1 1 auto;
  min-height: 120px;
  min-width: 0;
  position: relative;
  width: 100%;
}

.activity-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

#layer3-row .activity-panel {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: hidden;
}

.feed-items.activity-feed-table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.activity-feed-empty {
  padding: 10px 12px;
  font-size: 11px;
  color: var(--text-secondary);
  text-align: center;
}

.activity-feed-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
  table-layout: fixed;
}

.activity-feed-table th,
.activity-feed-table td {
  padding: 5px 8px;
  text-align: left;
  border-bottom: 1px solid var(--panel-border);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-feed-table thead th {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-secondary);
  background: rgba(0, 0, 0, 0.2);
}

.activity-feed-muted {
  color: var(--text-secondary);
  font-size: 10px;
}

.activity-feed-pnl--pos {
  color: var(--accent-green);
  font-family: var(--monospace);
}

.activity-feed-pnl--neg {
  color: var(--accent-red);
  font-family: var(--monospace);
}

.activity-feed-ok {
  color: var(--accent-green);
}

.activity-feed-deny {
  color: var(--accent-red);
}

.activity-feed-reason {
  font-size: 10px;
  color: var(--text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
}

.feed-item {
  padding: 8px;
  border-bottom: 1px solid var(--panel-border);
  font-size: 12px;
}

/* Layer 4: Controls */
.layer4 {
  grid-area: layer4;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
}

.control-group {
  display: flex;
  gap: 8px;
  align-items: center;
}

button {
  padding: 6px 12px;
  border-radius: 4px;
  border: 1px solid var(--panel-border);
  background: #21262d;
  color: var(--text-primary);
  cursor: pointer;
  font-weight: 600;
}

button.primary { background: var(--accent-blue); border: none; color: white; }
button.danger { background: var(--accent-red); border: none; color: white; }

.monospace { font-family: var(--monospace); }
.trend-up { color: var(--accent-green); }
.trend-down { color: var(--accent-red); }
.decision-timeline {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-top: 10px;
}

.timeline-step {
  font-size: 8px;
  color: var(--text-secondary);
  position: relative;
  z-index: 1;
  background: var(--panel-bg);
  padding: 2px 4px;
  border-radius: 2px;
  border: 1px solid var(--panel-border);
}

.timeline-step.active {
  color: var(--accent-blue);
  border-color: var(--accent-blue);
  background: rgba(88, 166, 255, 0.1);
}

.decision-timeline::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--panel-border);
  z-index: 0;
}

.setup-dot {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 800;
  font-family: var(--monospace);
  flex-shrink: 0;
}
.setup-dot.win { background: rgba(63, 185, 80, 0.2); color: var(--accent-green); border: 1px solid rgba(63, 185, 80, 0.3); }
.setup-dot.loss { background: rgba(248, 81, 73, 0.2); color: var(--accent-red); border: 1px solid rgba(248, 81, 73, 0.3); }
.setup-dot.neutral { background: rgba(139, 148, 158, 0.1); color: var(--text-secondary); border: 1px solid var(--panel-border); }

.ai-dial {
  transition: all 0.3s ease;
}

.ai-dial.pulse-glow {
  box-shadow: 0 0 20px var(--accent-green);
}

.tab-btn {
  padding: 2px 8px;
  font-size: 10px;
  background: #21262d;
  border: 1px solid var(--panel-border);
  color: var(--text-secondary);
}

.journal-view-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
  align-items: center;
}

.journal-view-tab.journal-view-tab--active {
  border-color: #58a6ff;
  color: #58a6ff;
  background: rgba(88, 166, 255, 0.12);
}

/* ——— Journal command center (trader memory + audit workspace) ——— */
#analysis-journal.journal-dock-tab--command {
  padding: 0;
  /* Avoid min(72vh,720px): it inflated flex layout and left a large empty band above the feed in dock + modal iframe. */
  min-height: 0;
  max-height: min(78vh, 900px);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.jcc {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  gap: 0;
  background: linear-gradient(165deg, rgba(13, 17, 23, 0.97) 0%, rgba(22, 27, 34, 0.99) 45%, #0d1117 100%);
  border: 1px solid rgba(48, 54, 61, 0.9);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.jcc-header {
  padding: 10px 14px 12px;
  border-bottom: 1px solid rgba(48, 54, 61, 0.85);
  background: linear-gradient(180deg, rgba(88, 166, 255, 0.07) 0%, transparent 100%);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.jcc-header__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.jcc-header__row--top {
  justify-content: space-between;
}

.jcc-header__brand {
  min-width: 0;
}

.jcc-title {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #e6edf3;
  line-height: 1.2;
}

.jcc-subtitle {
  margin: 4px 0 0;
  font-size: 10px;
  color: #8b949e;
  line-height: 1.35;
}

.jcc-header__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.jcc-pill {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(48, 54, 61, 0.95);
  background: rgba(0, 0, 0, 0.25);
  color: #8b949e;
  max-width: min(340px, 52vw);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.jcc-pill--mode {
  border-color: rgba(88, 166, 255, 0.45);
  color: #79c0ff;
  background: rgba(88, 166, 255, 0.1);
}

.jcc-pill--ai {
  border-color: rgba(88, 166, 255, 0.35);
  color: #a5d6ff;
  background: rgba(88, 166, 255, 0.08);
  max-width: min(420px, 58vw);
}

.jcc-header__metrics {
  gap: 12px;
  padding-top: 2px;
  border-top: 1px solid rgba(48, 54, 61, 0.5);
}

.jcc-metric {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 72px;
}

.jcc-metric--grow {
  flex: 1;
  min-width: 140px;
}

.jcc-metric__k {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6e7681;
}

.jcc-metric__hint {
  font-weight: 500;
  opacity: 0.75;
}

.jcc-metric__v {
  font-size: 14px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #f0f6fc;
}

.jcc-metric__v--mono {
  font-size: 11px;
  font-weight: 600;
  word-break: break-all;
}

.jcc-header__actions {
  gap: 8px;
  flex-wrap: wrap;
}

.jcc-btn {
  font-size: 10px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid #30363d;
  background: rgba(22, 27, 34, 0.95);
  color: #c9d1d9;
  cursor: pointer;
  font-family: inherit;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.12s ease;
}

.jcc-btn:hover {
  border-color: rgba(88, 166, 255, 0.45);
  color: #f0f6fc;
}

.jcc-btn:active {
  transform: translateY(1px);
}

.jcc-btn--solid {
  background: rgba(63, 185, 80, 0.18);
  border-color: rgba(63, 185, 80, 0.45);
  color: #3fb950;
}

.jcc-btn--accent {
  background: rgba(88, 166, 255, 0.14);
  border-color: rgba(88, 166, 255, 0.5);
  color: #79c0ff;
}

.jcc-btn--warn {
  border-color: rgba(210, 153, 34, 0.55);
  color: #d29922;
}

.jcc-mode-bar {
  padding: 8px 12px;
  margin: 0;
  border-bottom: 1px solid rgba(48, 54, 61, 0.75);
  background: rgba(0, 0, 0, 0.2);
  gap: 6px;
}

.jcc-mode-btn.journal-view-tab--active {
  box-shadow: 0 0 14px rgba(88, 166, 255, 0.22);
  border-color: rgba(88, 166, 255, 0.55);
}

.jcc-mode-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.jcc-mode-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

.jcc-mode-dot--blend {
  background: linear-gradient(135deg, #58a6ff, #a371f7);
}

.jcc-mode-dot--blue {
  background: #58a6ff;
}

.jcc-mode-dot--violet {
  background: #a371f7;
}

.jcc-mode-dot--cyan {
  background: #39d4d4;
}

.jcc-mode-dot--red {
  background: #f85149;
}

.jcc-mode-dot--amber {
  background: #d29922;
}

.jcc-toolbar {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: 10px;
  padding: 10px 12px;
  align-items: end;
  border-bottom: 1px solid rgba(48, 54, 61, 0.65);
  background: rgba(13, 17, 23, 0.5);
}

@media (max-width: 1100px) {
  .jcc-toolbar {
    grid-template-columns: 1fr;
  }
}

.jcc-toolbar__zone {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.jcc-toolbar__zone--center {
  justify-content: center;
}

.jcc-toolbar__zone--right {
  justify-content: flex-end;
}

.jcc-field-label {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #6e7681;
  margin-right: -4px;
}

.jcc-select,
.jcc-search,
.jcc-input-date {
  font-size: 11px;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid #30363d;
  background: rgba(13, 17, 23, 0.92);
  color: #e6edf3;
  font-family: inherit;
}

.jcc-select--wide {
  min-width: 160px;
  max-width: 220px;
}

.jcc-search {
  min-width: 140px;
  flex: 1;
  max-width: 280px;
}

.jcc-input-date {
  max-width: 132px;
}

.jcc-date-sep {
  font-size: 10px;
  color: #6e7681;
}

.jcc-stats-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(48, 54, 61, 0.55);
}

@media (max-width: 900px) {
  .jcc-stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.jcc-stat-card {
  text-align: left;
  padding: 10px 10px 8px;
  border-radius: 8px;
  border: 1px solid rgba(48, 54, 61, 0.85);
  background: rgba(22, 27, 34, 0.65);
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  font-family: inherit;
}

.jcc-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}

.jcc-stat-card__label {
  display: block;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8b949e;
  margin-bottom: 4px;
}

.jcc-stat-card__val {
  font-size: 18px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #f0f6fc;
}

.jcc-stat-card--ai {
  border-left: 3px solid #58a6ff;
}
.jcc-stat-card--exec {
  border-left: 3px solid #3fb950;
}
.jcc-stat-card--risk {
  border-left: 3px solid #f85149;
}
.jcc-stat-card--story {
  border-left: 3px solid #39d4d4;
}
.jcc-stat-card--thesis {
  border-left: 3px solid #a371f7;
}
.jcc-stat-card--review {
  border-left: 3px solid #d29922;
}

.jcc-footnote {
  margin: 0;
  padding: 6px 12px 8px;
  font-size: 9px;
  color: #6e7681;
  border-bottom: 1px solid rgba(48, 54, 61, 0.45);
}

.jcc-footnote__mono {
  font-family: ui-monospace, monospace;
  color: #8b949e;
}

.jcc-body {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr) 200px;
  gap: 0;
  min-height: 0;
}

/* Journal inside workspace modal iframe: bounded height chain so the center feed scrolls instead of leaving dead space */
html.pitstrike-workspace-embed #bottom-dock .dock-body {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

html.pitstrike-workspace-embed #analysis-journal.journal-dock-tab--command {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: hidden;
}

html.pitstrike-workspace-embed .jcc {
  flex: 1 1 auto;
  min-height: 0;
}

html.pitstrike-workspace-embed .jcc-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  align-items: stretch;
  grid-template-rows: minmax(0, 1fr);
}

html.pitstrike-workspace-embed .jcc-rail {
  min-height: 0;
  overflow-y: auto;
}

html.pitstrike-workspace-embed .jcc-main {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

html.pitstrike-workspace-embed .jcc-feed {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
}

@media (max-width: 1000px) {
  .jcc-body {
    grid-template-columns: 1fr;
  }
  .jcc-rail--left,
  .jcc-rail--intel {
    max-height: 160px;
    overflow-y: auto;
  }
}

.jcc-rail {
  padding: 10px 10px 12px;
  border-right: 1px solid rgba(48, 54, 61, 0.55);
  background: rgba(0, 0, 0, 0.18);
}

.jcc-rail--intel {
  border-right: none;
  border-left: 1px solid rgba(48, 54, 61, 0.55);
}

.jcc-rail__head {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #58a6ff;
  margin: 10px 0 6px;
}

.jcc-rail__head:first-child {
  margin-top: 0;
}

.jcc-rail__body {
  margin: 0;
  font-size: 10px;
  line-height: 1.45;
  color: #8b949e;
}

.jcc-rail-block {
  font-size: 10px;
  line-height: 1.45;
  color: #c9d1d9;
  margin-bottom: 4px;
}

.jcc-rail-block--tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.jcc-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.jcc-chip {
  font-size: 9px;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(210, 153, 34, 0.35);
  background: rgba(210, 153, 34, 0.08);
  color: #d29922;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.12s ease, border-color 0.12s ease;
}

.jcc-chip:hover {
  background: rgba(210, 153, 34, 0.16);
  border-color: rgba(210, 153, 34, 0.55);
}

.jcc-main {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  width: 100%;
  background: linear-gradient(165deg, rgba(18, 22, 28, 0.92) 0%, rgba(13, 17, 23, 0.98) 40%);
}

.jcc-feed {
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 10px 12px 12px;
  min-height: 160px;
  scroll-behavior: smooth;
}

.jcc-feed-empty {
  color: var(--text-secondary);
  font-size: 11px;
  padding: 24px 12px;
  text-align: center;
}

.jcc-feed-empty.ps-empty {
  text-align: left;
  max-width: min(48ch, 100%);
  margin-left: auto;
  margin-right: auto;
}

.jcc-feed-empty.ps-hint {
  text-align: left;
  max-width: min(44ch, 100%);
  margin-left: auto;
  margin-right: auto;
}

/* Command workspace — journal preview column */
.decision-side-journal-teaser {
  font-size: 10px;
  overflow-y: auto;
  max-height: 220px;
  flex: 1;
  margin-top: 6px;
  line-height: 1.35;
}

.decision-side-journal-teaser__row {
  padding: 6px 0;
  border-bottom: 1px solid var(--panel-border);
}

.decision-side-journal-teaser__time {
  font-size: 9px;
  margin-right: 6px;
  font-variant-numeric: tabular-nums;
}

.decision-side-journal-teaser__time--err {
  color: var(--accent-red);
}

.decision-side-journal-teaser__time--warn {
  color: #d29922;
}

.decision-side-journal-teaser__time--def {
  color: var(--text-secondary);
}

.decision-side-journal-teaser__sum {
  color: var(--text-primary);
}

/* Command workspace — decision stack right column: signal / feed / readiness */
.decision-side-stack-panel {
  font-size: 10px;
  line-height: 1.45;
  min-height: 44px;
}

.decision-side-stack-panel--signal {
  min-height: 72px;
}

.decision-side-stack-panel--readiness-slot {
  min-height: 48px;
}

.decision-side-signal-snapshot__meta {
  color: var(--text-secondary);
  font-size: 9px;
  margin-bottom: 4px;
}

.decision-side-signal-snapshot__row {
  color: var(--text-primary);
}

.decision-side-signal-snapshot__row--muted {
  color: var(--text-secondary);
  margin-top: 4px;
}

.decision-side-signal-snapshot__invalidation {
  margin-top: 6px;
  font-size: 9px;
  color: var(--accent-red);
}

.decision-side-signal-snapshot__invalidation div {
  margin-top: 2px;
}

.decision-side-feed-block__line {
  margin-top: 4px;
}

.decision-side-feed-block__line:first-child {
  margin-top: 0;
}

.decision-side-feed-block__k {
  font-weight: 700;
  color: var(--text-primary);
}

.decision-side-feed-block__line--gate {
  margin-top: 6px;
}

.decision-side-feed-block__flag {
  font-weight: 700;
}

.decision-side-feed-block__flag--bad {
  color: var(--accent-red);
}

.decision-side-feed-block__flag--ok {
  color: var(--accent-green);
}

.decision-side-feed-block__flag--warn {
  color: #d29922;
}

.decision-side-readiness-block__state {
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.04em;
}

.decision-side-readiness-block__state--ok {
  color: var(--accent-green);
}

.decision-side-readiness-block__state--warn {
  color: #d29922;
}

.decision-side-readiness-block__state--err {
  color: var(--accent-red);
}

.decision-side-readiness-block__meta {
  color: var(--text-secondary);
  margin-top: 6px;
  font-size: 10px;
}

.decision-side-readiness-block__reason {
  margin-top: 6px;
  color: var(--accent-red);
  font-size: 10px;
}

/* Decision stack — left column (Command workspace) */
.decision-stack-left-col {
  display: flex;
  flex-direction: column;
  gap: var(--ps-space-md);
  min-width: 0;
}

.decision-stack-card--accent {
  padding: var(--ps-space-md);
  border-radius: var(--ps-radius-sm);
  border: 1px solid rgba(88, 166, 255, 0.14);
  background: rgba(88, 166, 255, 0.045);
}

.decision-stack-card__hdr-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--ps-space-sm);
}

.decision-stack-card--accent .decision-stack-card__hdr-row .stat-label {
  color: var(--accent-blue);
}

.decision-stack-opp-score {
  font-size: 14px;
  font-weight: 800;
  color: var(--accent-blue);
  font-variant-numeric: tabular-nums;
}

.decision-stack-opp-score.decision-opp-score-tone--high {
  color: var(--accent-green);
}

.decision-stack-opp-score.decision-opp-score-tone--mid {
  color: var(--accent-blue);
}

.decision-stack-opp-score.decision-opp-score-tone--low {
  color: var(--accent-orange, #d29922);
}

.decision-stack-metric-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}

.decision-stack-metric-row:last-child {
  margin-bottom: 0;
}

.decision-stack-strategy-actions {
  display: flex;
  gap: var(--ps-space-xs);
  margin-top: var(--ps-space-sm);
}

.decision-stack-strategy-actions .primary,
.decision-stack-strategy-actions button {
  flex: 1;
  font-size: 9px;
  padding: 4px;
}

.decision-stack-picks-btn {
  width: 100%;
  margin-top: 6px;
  font-size: 9px;
  padding: 6px;
  border-radius: var(--ps-radius-sm);
  border: 1px solid rgba(88, 166, 255, 0.28);
  background: rgba(88, 166, 255, 0.12);
  color: var(--accent-blue);
  cursor: pointer;
  font-family: inherit;
}

.decision-stack-picks-btn:hover {
  border-color: rgba(88, 166, 255, 0.42);
  background: rgba(88, 166, 255, 0.18);
}

.decision-stack-risk-intel {
  margin-top: 5px;
  padding: var(--ps-space-sm);
  border-radius: var(--ps-radius-sm);
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.18);
  font-size: 10px;
}

.decision-stack-submit-error {
  margin-bottom: var(--ps-space-sm);
  padding: var(--ps-space-md);
  border-radius: var(--ps-radius-sm);
  border: 1px solid rgba(248, 81, 73, 0.45);
  background: rgba(248, 81, 73, 0.1);
  font-size: 10px;
}

.decision-stack-submit-error__code {
  font-weight: 700;
  color: var(--accent-red);
}

.decision-stack-submit-error__reason {
  margin-top: var(--ps-space-xs);
}

.decision-stack-submit-error__what {
  margin-top: var(--ps-space-xs);
  color: var(--text-secondary);
}

.decision-stack-submit-error__fix {
  margin-top: var(--ps-space-sm);
}

/* Decision stack — three-column grid + middle/right */
.decision-stack-layout {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(280px, 1.15fr) minmax(260px, 1fr);
  gap: 14px;
  width: 100%;
  align-items: start;
}

@media (max-width: 1180px) {
  .decision-stack-layout {
    grid-template-columns: 1fr;
  }
}

.decision-stack-mid-col,
.decision-stack-right-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.analysis-tab-content--decision-stack {
  padding: 15px;
  overflow-y: auto;
  width: 100%;
  box-sizing: border-box;
}

.decision-stack-scanner-header {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ps-space-sm);
  margin-bottom: var(--ps-space-sm);
  font-size: 9px;
  color: var(--text-secondary);
}

.decision-stack-row-spread {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.decision-stack-row-spread--flush {
  margin-bottom: 0;
}

.decision-stack-select--dense {
  font-size: 9px;
  padding: 2px 4px;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid var(--panel-border);
  border-radius: var(--ps-radius-sm);
  color: var(--text-primary);
}

.decision-stack-opp-feed {
  margin-top: 5px;
  overflow-x: auto;
  overflow-y: auto;
  max-height: min(280px, 42vh);
}

.decision-stack-placeholder-italic {
  color: var(--text-secondary);
  text-align: center;
  padding: 10px;
  font-style: italic;
}

.decision-stack-section--divider {
  border-top: 1px solid var(--panel-border);
  padding-top: 10px;
}

.decision-stack-refresh-btn {
  font-size: 9px;
  cursor: pointer;
}

.decision-stack-refresh-btn--below-hint {
  margin-bottom: 6px;
}

.decision-stack-strategy-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 6px;
}

.decision-stack-live-account-hint {
  font-size: 9px;
  color: var(--text-secondary);
  margin-bottom: 6px;
  line-height: 1.35;
}

.decision-stack-live-account-body {
  font-size: 10px;
}

.decision-stack-live-account__block-title {
  margin-bottom: 6px;
}

.decision-stack-live-account__block-title--spaced {
  margin: 8px 0 4px 0;
}

.decision-stack-live-scroll {
  max-height: 80px;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.2);
  padding: 6px;
  border-radius: var(--ps-radius-sm);
}

.decision-stack-live-scroll--orders {
  max-height: 60px;
}

.decision-stack-signal-card {
  background: rgba(88, 166, 255, 0.04);
  border: 1px solid rgba(88, 166, 255, 0.15);
  border-radius: var(--ps-radius-sm);
  padding: 10px;
}

.decision-stack-signal-card > .stat-label {
  color: #58a6ff;
  margin-bottom: 6px;
}

.decision-stack-signal-card__hint {
  font-size: 9px;
  color: var(--text-secondary);
  margin-bottom: 6px;
}

.decision-stack-journal-section {
  flex: 1;
  min-height: 120px;
  display: flex;
  flex-direction: column;
}

.decision-stack-secondary-card {
  padding: var(--ps-space-sm);
  border-radius: var(--ps-radius-sm);
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.25);
}

.decision-stack-rec-title {
  font-size: 12px;
  font-weight: 700;
  margin: 4px 0;
  color: var(--text-primary);
}

.decision-stack-rec-logic {
  color: var(--text-secondary);
  font-size: 10px;
  line-height: 1.4;
}

.decision-stack-metric-row__k {
  color: var(--text-secondary);
}

.decision-stack-metric-row__v--accent {
  color: var(--accent-blue);
}

.decision-stack-metric-row__v--bias {
  font-weight: 700;
}

.decision-stack-body-sm {
  font-size: 10px;
  margin-top: 4px;
}

.decision-stack-readiness-badge {
  font-size: 9px;
  font-weight: 700;
  margin: 4px 0;
  padding: 2px 6px;
  border-radius: var(--ps-radius-sm);
  display: inline-block;
}

.decision-stack-readiness-detail {
  font-size: 10px;
  margin-top: 4px;
  color: var(--text-secondary);
}

.decision-stack-fix-row {
  margin-top: 6px;
}

.decision-stack-action-badge {
  font-size: 9px;
  margin-bottom: 6px;
}

.decision-stack-confirm-row {
  display: flex;
  gap: var(--ps-space-xs);
}

.decision-stack-confirm-row .primary,
.decision-stack-confirm-row button {
  flex: 1;
  font-size: 9px;
  padding: 4px;
}

.decision-stack-micro-btn {
  font-size: 9px;
  padding: 4px 8px;
}

.jcc-load-more {
  width: calc(100% - 24px);
  margin: 0 12px 12px;
  padding: 8px;
  font-size: 11px;
  font-weight: 700;
  border-radius: 6px;
  border: 1px dashed #30363d;
  background: rgba(22, 27, 34, 0.6);
  color: #8b949e;
  cursor: pointer;
  font-family: inherit;
}

.jcc-load-more:hover {
  border-color: rgba(88, 166, 255, 0.45);
  color: #79c0ff;
}

.jcc-entries {
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
}

.jcc-entries::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: linear-gradient(180deg, rgba(88, 166, 255, 0.35), rgba(163, 113, 247, 0.15));
  border-radius: 2px;
  pointer-events: none;
}

.jcc-card {
  position: relative;
  margin-left: 28px;
  border-radius: 10px;
  border: 1px solid rgba(48, 54, 61, 0.85);
  background: linear-gradient(145deg, rgba(22, 27, 34, 0.95), rgba(13, 17, 23, 0.98));
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.03);
  transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}

.jcc-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
}

.jcc-card--pulse {
  animation: jcc-card-pulse 2.2s ease-out 1;
}

@keyframes jcc-card-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(88, 166, 255, 0.35);
  }
  100% {
    box-shadow: 0 0 0 12px rgba(88, 166, 255, 0);
  }
}

.jcc-card--intel {
  border-left: 4px solid #58a6ff;
}
.jcc-card--exec {
  border-left: 4px solid #3fb950;
}
.jcc-card--risk {
  border-left: 4px solid #f85149;
}
.jcc-card--thesis {
  border-left: 4px solid #a371f7;
}
.jcc-card--caution {
  border-left: 4px solid #d29922;
}
.jcc-card--story {
  border-left: 4px solid #39d4d4;
}

.jcc-card__inner {
  padding: 12px 14px 12px 10px;
  cursor: pointer;
}

.jcc-card__layout {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.jcc-card__icon-col {
  flex-shrink: 0;
  width: 32px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 2px;
}

.jcc-card__glyph {
  font-size: 18px;
  line-height: 1;
  filter: drop-shadow(0 0 8px rgba(88, 166, 255, 0.25));
}

.jcc-card__body-col {
  flex: 1;
  min-width: 0;
}

.jcc-card__headline {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #e6edf3;
  margin-bottom: 8px;
}

.jcc-card__submeta {
  margin-bottom: 8px;
}

.jcc-card__subline {
  font-size: 10px;
  line-height: 1.45;
  color: #8b949e;
}

.jcc-card__summaryline {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
  color: #c9d1d9;
  margin-bottom: 6px;
}

.jcc-card__metafoot {
  font-size: 9px;
  color: #6e7681;
  margin-bottom: 4px;
}

.jcc-card__row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
}

.jcc-card__time {
  font-size: 10px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #6e7681;
  min-width: 64px;
}

.jcc-card__badge {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 7px;
  border-radius: 4px;
  border: 1px solid rgba(48, 54, 61, 0.9);
  color: #8b949e;
  background: rgba(0, 0, 0, 0.25);
}

.jcc-card__summary {
  flex: 1;
  min-width: 0;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  color: #e6edf3;
}

.jcc-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.jcc-tag {
  font-size: 9px;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid #30363d;
  color: #8b949e;
  background: rgba(13, 17, 23, 0.6);
}

.jcc-tag--sym {
  border-color: rgba(63, 185, 80, 0.4);
  color: #3fb950;
}

.jcc-tag--phase {
  border-color: rgba(210, 153, 34, 0.45);
  color: #d29922;
}

.jcc-tag--link {
  border-color: rgba(88, 166, 255, 0.4);
  color: #79c0ff;
}

.jcc-card__raw {
  margin: 0;
  padding: 0 12px 8px 46px;
  border-top: 1px solid rgba(48, 54, 61, 0.45);
}

.jcc-card__raw > summary {
  cursor: pointer;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6e7681;
  padding: 8px 0 6px;
  list-style: none;
}

.jcc-card__raw > summary::-webkit-details-marker {
  display: none;
}

.jcc-card__detail {
  display: block;
  margin: 0;
  padding: 8px 10px 10px;
  font-size: 9px;
  line-height: 1.45;
  color: #8b949e;
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 220px;
  overflow: auto;
  font-family: ui-monospace, monospace;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  border: 1px solid rgba(48, 54, 61, 0.55);
}

.jcc-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
  opacity: 0;
  transition: opacity 0.18s ease;
}

.jcc-card__actions button {
  font-size: 9px;
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid #30363d;
  background: rgba(22, 27, 34, 0.9);
  color: #c9d1d9;
  cursor: pointer;
  font-family: inherit;
}

.jcc-card__actions button:hover {
  border-color: rgba(88, 166, 255, 0.45);
  color: #79c0ff;
}

.jcc-rail-tag {
  font-size: 9px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid #30363d;
  background: rgba(13, 17, 23, 0.7);
  color: #8b949e;
  cursor: pointer;
  font-family: inherit;
}

.jcc-rail-tag:hover {
  border-color: rgba(63, 185, 80, 0.45);
  color: #3fb950;
}

/* Journal dock: single scroll — only .jcc-feed--scroll scrolls */
#bottom-dock.bottom-dock--journal-focus .dock-body,
html.pitstrike-workspace-embed[data-pitstrike-embed-tab='journal'] #bottom-dock .dock-body {
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  /* basis 0%: otherwise flex-basis:auto sizes to content and the grid never gets a bounded height → no list scrollbar */
  flex: 1 1 0% !important;
  min-height: 0 !important;
  max-height: none !important;
}

#bottom-dock.bottom-dock--journal-focus #analysis-journal.journal-dock-tab--command,
html.pitstrike-workspace-embed[data-pitstrike-embed-tab='journal'] #analysis-journal.journal-dock-tab--command {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: 0 !important;
}

#bottom-dock.bottom-dock--journal-focus #analysis-journal.analysis-tab-content,
html.pitstrike-workspace-embed[data-pitstrike-embed-tab='journal'] #analysis-journal.analysis-tab-content {
  overflow: hidden !important;
}

/*
 * Journal UI (bottom-dock--journal-focus OR workspace iframe tab): bounded flex chain so
 * #journal-list gets a real scrollport. Scrolling is on #journal-list, not .jcc-zone-b.
 */
html.pitstrike-workspace-embed[data-pitstrike-embed-tab='journal'] #bottom-dock {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

#bottom-dock.bottom-dock--journal-focus .jcc,
html.pitstrike-workspace-embed[data-pitstrike-embed-tab='journal'] .jcc {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

#bottom-dock.bottom-dock--journal-focus .jcc-body,
html.pitstrike-workspace-embed[data-pitstrike-embed-tab='journal'] .jcc-body {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  align-items: stretch !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

#bottom-dock.bottom-dock--journal-focus .jcc-main,
html.pitstrike-workspace-embed[data-pitstrike-embed-tab='journal'] .jcc-main {
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

#bottom-dock.bottom-dock--journal-focus .jcc-feed-scroll,
html.pitstrike-workspace-embed[data-pitstrike-embed-tab='journal'] .jcc-feed-scroll {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* pitstrike-verify: journal-iframe-feed-scroll-chain */
#bottom-dock.bottom-dock--journal-focus #journal-list.jcc-feed--scroll,
html.pitstrike-workspace-embed[data-pitstrike-embed-tab='journal'] #journal-list.jcc-feed--scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-gutter: stable !important;
}

.jcc-zone-a {
  flex-shrink: 0;
}

/* Journal modal: command header lives in parent #workspace-frame-chrome-journal; hide iframe duplicate */
html.pitstrike-workspace-embed[data-pitstrike-embed-tab='journal'] .jcc-zone-a {
  display: none !important;
}

#bottom-dock.bottom-dock--journal-focus .jcc-zone-b,
html.pitstrike-workspace-embed[data-pitstrike-embed-tab='journal'] .jcc-zone-b {
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

.jcc-header--command {
  padding: 8px 12px 10px;
  background: linear-gradient(180deg, rgba(5, 8, 12, 0.98) 0%, rgba(13, 17, 23, 0.96) 100%);
  border-bottom: 1px solid rgba(48, 54, 61, 0.9);
}

.jcc-header--command .jcc-title {
  font-size: 13px;
}

.jcc-header--command .jcc-subtitle {
  font-size: 9px;
  opacity: 0.88;
}

.jcc-more-actions {
  position: relative;
  display: inline-block;
}

.jcc-more-actions > summary {
  list-style: none;
  cursor: pointer;
}

.jcc-more-actions > summary::-webkit-details-marker {
  display: none;
}

.jcc-btn--ghost {
  background: transparent;
  border-style: dashed;
}

.jcc-btn--block {
  display: block;
  width: 100%;
  margin-top: 6px;
  text-align: left;
}

.jcc-more-actions__panel {
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 4px;
  min-width: 160px;
  padding: 8px;
  background: rgba(13, 17, 23, 0.98);
  border: 1px solid rgba(88, 166, 255, 0.25);
  border-radius: 8px;
  z-index: 30;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.jcc-zone-b {
  flex-shrink: 0;
  padding: 10px 12px 8px;
  background: linear-gradient(180deg, rgba(22, 27, 34, 0.55) 0%, rgba(13, 17, 23, 0.35) 100%);
  border-bottom: 1px solid rgba(48, 54, 61, 0.65);
}

.jcc-mode-bar--primary {
  margin-bottom: 6px;
  gap: 8px;
}

.jcc-mode-bar--secondary {
  margin-bottom: 10px;
  gap: 6px;
  opacity: 0.92;
}

.jcc-mode-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.jcc-mode-btn--primary {
  padding: 7px 12px;
  font-size: 10px;
  font-weight: 800;
  border-radius: 8px;
}

.jcc-mode-btn--secondary {
  padding: 5px 9px;
  font-size: 9px;
  font-weight: 700;
  border-radius: 6px;
  opacity: 0.95;
}

.jcc-mode-icon {
  font-size: 11px;
  opacity: 0.85;
}

.jcc-mode-badge {
  font-size: 9px;
  font-weight: 800;
  min-width: 1.25rem;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(48, 54, 61, 0.9);
  color: #8b949e;
}

.journal-view-tab--active .jcc-mode-badge {
  border-color: rgba(88, 166, 255, 0.45);
  color: #79c0ff;
}

.journal-view-tab--active.jcc-mode-btn--primary {
  box-shadow: 0 0 0 1px rgba(88, 166, 255, 0.35), 0 0 20px rgba(88, 166, 255, 0.12);
}

.jcc-date-strip {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin-bottom: 8px;
}

.jcc-date-strip__nav {
  display: flex;
  align-items: center;
  gap: 6px;
}

.jcc-date-strip__label {
  font-size: 10px;
  font-weight: 700;
  color: #a5d6ff;
  letter-spacing: 0.04em;
  flex: 1 1 140px;
  min-width: 0;
}

.jcc-btn--icon {
  min-width: 32px;
  padding: 6px 8px;
}

.jcc-btn--calendar {
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 9px;
}

.jcc-date-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
}

.jcc-chip--preset {
  cursor: pointer;
  transition: transform 0.12s ease, border-color 0.15s ease, background 0.15s ease;
}

.jcc-chip--preset:active {
  transform: scale(0.96);
}

.jcc-search--strip {
  flex: 1 1 200px;
  max-width: 320px;
}

.jcc-calendar-popover {
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 6px;
  z-index: 40;
  width: min(320px, 92vw);
  padding: 10px 12px 12px;
  background: rgba(13, 17, 23, 0.98);
  border: 1px solid rgba(88, 166, 255, 0.28);
  border-radius: 12px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
}

.jcc-calendar-popover__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.jcc-calendar-popover__title {
  font-size: 11px;
  font-weight: 800;
  color: #e6edf3;
}

.jcc-calendar-popover__hint {
  margin: 8px 0 0;
  font-size: 8px;
  color: #6e7681;
  line-height: 1.35;
}

.jcc-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.jcc-cal-dow {
  font-size: 8px;
  font-weight: 800;
  text-align: center;
  color: #6e7681;
  text-transform: uppercase;
}

.jcc-cal-cell {
  position: relative;
  min-height: 36px;
  border-radius: 6px;
  border: 1px solid rgba(48, 54, 61, 0.75);
  background: rgba(22, 27, 34, 0.65);
  color: #c9d1d9;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease;
}

.jcc-cal-cell:hover {
  border-color: rgba(88, 166, 255, 0.45);
  transform: translateY(-1px);
}

.jcc-cal-cell--muted {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.jcc-cal-cell--selected {
  border-color: rgba(163, 113, 247, 0.65);
  box-shadow: 0 0 0 1px rgba(163, 113, 247, 0.35);
}

.jcc-cal-cell__heat {
  position: absolute;
  inset: 0;
  border-radius: 5px;
  opacity: 0.35;
  pointer-events: none;
}

.jcc-cal-cell__n {
  position: relative;
  z-index: 1;
  display: block;
  padding: 4px 2px 0;
  text-align: center;
}

.jcc-cal-cell__sub {
  position: relative;
  z-index: 1;
  display: block;
  font-size: 7px;
  font-weight: 700;
  color: #8b949e;
  text-align: center;
}

.jcc-advanced-filters,
.jcc-batch-overview {
  margin-top: 6px;
  border-radius: 8px;
  border: 1px solid rgba(48, 54, 61, 0.55);
  background: rgba(0, 0, 0, 0.15);
  padding: 0 8px;
}

.jcc-advanced-filters > summary,
.jcc-batch-overview > summary {
  cursor: pointer;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8b949e;
  padding: 8px 4px;
  list-style: none;
}

.jcc-advanced-filters > summary::-webkit-details-marker,
.jcc-batch-overview > summary::-webkit-details-marker {
  display: none;
}

.jcc-toolbar--advanced {
  padding-bottom: 10px;
  border-top: 1px solid rgba(48, 54, 61, 0.45);
}

.jcc-feed-chrome {
  flex-shrink: 0;
  padding: 10px 12px 8px;
  background: linear-gradient(180deg, rgba(20, 26, 34, 0.95) 0%, rgba(13, 17, 23, 0.75) 100%);
  border-bottom: 1px solid rgba(48, 54, 61, 0.55);
}

.jcc-session-header__title {
  font-size: 14px;
  font-weight: 800;
  color: #f0f6fc;
  letter-spacing: 0.02em;
}

.jcc-session-header__meta {
  margin-top: 4px;
  font-size: 10px;
  color: #8b949e;
  line-height: 1.45;
}

.jcc-narrative {
  margin-top: 10px;
  padding: var(--ps-space-md) var(--ps-space-lg);
  border-radius: var(--ps-radius-md);
  border: 1px solid var(--ps-empty-dash);
  background: var(--ps-empty-fill);
  box-sizing: border-box;
}

.jcc-narrative__label {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #79c0ff;
  margin-bottom: 6px;
}

.jcc-narrative__body {
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
  color: var(--text-primary);
}

.jcc-narrative__verdict {
  margin: 8px 0 0;
  font-size: 10px;
  font-weight: 700;
  color: #d29922;
}

.jcc-feed-scroll {
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
  overflow: hidden;
  /* Required so #journal-list.jcc-feed--scroll is a bounded flex child and overflow-y: auto scrolls */
  display: flex;
  flex-direction: column;
}

.jcc-feed-scroll::before,
.jcc-feed-scroll::after {
  content: '';
  position: absolute;
  left: 0;
  right: 8px;
  height: 10px;
  z-index: 2;
  pointer-events: none;
}

.jcc-feed-scroll::before {
  top: 0;
  background: linear-gradient(180deg, rgba(13, 17, 23, 0.92), transparent);
}

.jcc-feed-scroll::after {
  bottom: 0;
  background: linear-gradient(0deg, rgba(13, 17, 23, 0.92), transparent);
}

.jcc-feed--scroll {
  position: relative;
  z-index: 1;
  max-height: none !important;
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.jcc-rail--intel {
  opacity: 0.92;
  background: rgba(5, 8, 12, 0.45);
}

.jcc-intel-card {
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(48, 54, 61, 0.45);
}

.jcc-intel-card:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.jcc-intel-card__title {
  margin: 0 0 6px;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #58a6ff;
}

.jcc-intel-card__body {
  font-size: 10px;
  line-height: 1.45;
  color: #c9d1d9;
}

.jcc-intel-card__lead {
  margin: 0 0 8px;
  font-size: 10px;
  line-height: 1.45;
  color: #a5d6ff;
}

.jcc-rail-symbol-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.jcc-rail-details > summary.jcc-rail__head {
  cursor: pointer;
  list-style: none;
}

.jcc-rail-details > summary.jcc-rail__head::-webkit-details-marker {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .jcc-feed--scroll {
    scroll-behavior: auto;
  }
  .jcc-card {
    animation: none !important;
  }
}

@keyframes jcc-card-enter {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.jcc-card.jcc-card--enter {
  animation: jcc-card-enter 0.35s ease forwards;
}

.jcc-feed.jcc-feed--loading {
  min-height: 120px;
  background: linear-gradient(90deg, rgba(22, 27, 34, 0.3) 25%, rgba(48, 54, 61, 0.35) 37%, rgba(22, 27, 34, 0.3) 63%);
  background-size: 400% 100%;
  animation: jcc-shimmer 1.1s ease-in-out infinite;
}

@keyframes jcc-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: 0 0;
  }
}

.jcc-card:hover .jcc-card__actions,
.jcc-card:focus-within .jcc-card__actions {
  opacity: 1;
}

@media (prefers-reduced-motion: no-preference) {
  .jcc-entries::before {
    transition: transform 0.2s ease-out;
  }
}

/* Strategy Studio Dock Redesign */
#analysis-studio.studio-dock-tab {
    padding: 12px 14px;
    width: 100%;
    box-sizing: border-box;
    min-height: 200px;
    max-width: 100%;
    overflow: hidden;
}

#strategy-studio-root {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 100%;
    min-height: 0;
    padding: 20px;
    border-radius: 22px;
    border: 1px solid rgba(90, 140, 255, 0.24);
    background:
        linear-gradient(180deg, rgba(21, 32, 58, 0.92) 0%, rgba(8, 14, 25, 0.96) 100%),
        #0a1120;
    box-shadow:
        0 28px 120px rgba(0, 0, 0, 0.52),
        0 0 0 1px rgba(74, 128, 255, 0.08) inset;
    overflow: hidden;
}

.ss-header,
.ss-status-rail,
.ss-footer {
    flex: 0 0 auto;
    min-width: 0;
}

.ss-header {
    min-height: 72px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.ss-shell-title {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 30px;
    line-height: 34px;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: #e8f0ff;
}

.ss-shell-subtitle {
    margin: 4px 0 0;
    font-size: 13px;
    color: rgba(214, 226, 255, 0.62);
}

.ss-header__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}

.ss-header__symbol {
    color: rgba(214, 226, 255, 0.74);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.ss-env-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(96, 165, 250, 0.34);
    background: rgba(59, 130, 246, 0.16);
    color: #dbeafe;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.ss-env-pill--blocked {
    border-color: rgba(251, 113, 133, 0.34);
    background: rgba(190, 24, 93, 0.18);
    color: #ffd3dc;
}

.ss-env-pill--dirty {
    border-color: rgba(251, 191, 36, 0.34);
    background: rgba(251, 191, 36, 0.12);
    color: #fde68a;
}

.ss-icon-btn,
.ss-secondary-btn,
.ss-primary-btn {
    border: 1px solid rgba(113, 145, 255, 0.18);
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition:
        border-color 140ms ease-out,
        background 140ms ease-out,
        transform 140ms ease-out,
        box-shadow 140ms ease-out;
}

.ss-icon-btn,
.ss-secondary-btn {
    min-height: 36px;
    padding: 0 14px;
    background: rgba(8, 16, 29, 0.88);
    color: #d7e2ff;
}

.ss-icon-btn:hover,
.ss-secondary-btn:hover {
    border-color: rgba(110, 144, 255, 0.34);
    background: rgba(16, 28, 51, 0.96);
}

.ss-primary-btn {
    min-height: 46px;
    padding: 0 18px;
    background: linear-gradient(180deg, #69adff 0%, #4a8dff 100%);
    color: #061121;
    box-shadow: 0 10px 28px rgba(74, 141, 255, 0.28);
}

.ss-primary-btn:disabled {
    cursor: not-allowed;
    opacity: 0.48;
    box-shadow: none;
    background: linear-gradient(180deg, rgba(92, 106, 130, 0.5) 0%, rgba(58, 72, 96, 0.6) 100%);
    color: rgba(228, 236, 255, 0.72);
}

.ss-primary-btn.is-ready {
    box-shadow:
        0 12px 34px rgba(74, 141, 255, 0.28),
        0 0 0 1px rgba(143, 190, 255, 0.18) inset;
}

.ss-status-rail {
    min-height: 104px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(76, 122, 255, 0.18);
    background: linear-gradient(180deg, rgba(10, 21, 40, 0.95) 0%, rgba(12, 18, 32, 0.88) 100%);
}

.ss-status-rail__row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
}

.ss-status-rail__row--chips {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.ss-status-rail__identity,
.ss-status-rail__summary {
    min-width: 0;
}

.ss-status-rail__title {
    font-size: 24px;
    font-weight: 700;
    color: #f4f7ff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ss-status-rail__meta {
    margin-top: 6px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(190, 207, 238, 0.72);
}

.ss-status-rail__summary {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.ss-summary-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 96px;
    text-align: right;
}

.ss-summary-item span {
    font-size: 11px;
    color: rgba(215, 226, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.ss-summary-item strong {
    font-size: 13px;
    color: #e9f1ff;
}

.ss-summary-item__value--warning {
    color: #fbbf24;
}

.ss-chip {
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(10, 19, 34, 0.82);
    border: 1px solid rgba(96, 165, 250, 0.16);
    min-width: 0;
}

.ss-chip__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 14px currentColor;
    flex: 0 0 auto;
}

.ss-chip__copy {
    min-width: 0;
}

.ss-chip__label {
    display: block;
    font-size: 11px;
    color: rgba(215, 226, 255, 0.56);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.ss-chip__value {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    color: inherit;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ss-chip--success {
    color: #34d399;
    border-color: rgba(52, 211, 153, 0.22);
}

.ss-chip--warning {
    color: #fbbf24;
    border-color: rgba(251, 191, 36, 0.22);
}

.ss-chip--danger {
    color: #fb7185;
    border-color: rgba(251, 113, 133, 0.26);
}

.ss-chip--info {
    color: #60a5fa;
    border-color: rgba(96, 165, 250, 0.24);
}

.ss-grid {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
}

.ss-card {
    min-width: 0;
    min-height: 0;
    border-radius: 18px;
    border: 1px solid rgba(110, 144, 255, 0.14);
    background: linear-gradient(180deg, rgba(14, 22, 37, 0.96) 0%, rgba(10, 16, 28, 0.98) 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ss-grid-span-4 {
    grid-column: span 4;
}

.ss-card__head {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ss-card__title {
    margin: 0;
    font-size: 14px;
    line-height: 18px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #57a6ff;
}

.ss-card__subtitle {
    margin: 0;
    font-size: 12px;
    color: rgba(215, 226, 255, 0.58);
    max-width: 56ch;
}

.ss-card__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.ss-form-group,
.ss-param-group,
.ss-brief-meta,
.ss-risk-metrics,
.ss-keyvals,
.ss-kpi-grid,
.ss-card-actions,
.ss-validation-notes {
    min-width: 0;
}

.ss-field-label {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    color: rgba(218, 229, 255, 0.72);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.ss-input {
    width: 100%;
    min-height: 44px;
    background: #060d18;
    border: 1px solid rgba(113, 145, 255, 0.16);
    border-radius: 12px;
    color: #f0f6ff;
    padding: 0 14px;
    font-size: 15px;
    font-weight: 600;
    box-sizing: border-box;
}

.ss-input:focus {
    outline: none;
    border-color: rgba(96, 165, 250, 0.48);
    box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.28);
}

.ss-input--small {
    min-height: 36px;
    font-size: 12px;
}

.ss-input--param {
    min-height: 40px;
    font-size: 14px;
}

.ss-segmented {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 6px;
    border-radius: 14px;
    background: #08101d;
    border: 1px solid rgba(113, 145, 255, 0.12);
}

.ss-segment {
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid transparent;
    background: rgba(255, 255, 255, 0.02);
    color: rgba(215, 226, 255, 0.68);
    font-weight: 800;
    letter-spacing: 0.06em;
    cursor: pointer;
}

.ss-segment.is-active {
    color: #eaf3ff;
    border-color: rgba(105, 173, 255, 0.26);
    background: linear-gradient(180deg, rgba(67, 122, 255, 0.28) 0%, rgba(39, 78, 181, 0.18) 100%);
}

.ss-segment.is-locked {
    border-color: rgba(251, 191, 36, 0.24);
}

.ss-helper {
    margin-top: 8px;
    font-size: 12px;
    color: rgba(215, 226, 255, 0.56);
}

.ss-helper--warning {
    color: #fbbf24;
}

.ss-trade-window {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.ss-trade-window__sep {
    color: rgba(215, 226, 255, 0.54);
    font-size: 12px;
    font-weight: 700;
}

.ss-timezone-pill {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(96, 165, 250, 0.18);
    background: rgba(9, 17, 31, 0.82);
    color: rgba(228, 237, 255, 0.7);
    font-size: 12px;
    font-weight: 700;
}

.ss-session-bar {
    margin-top: 10px;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.ss-session-bar__fill {
    display: block;
    width: 58%;
    height: 100%;
    background: linear-gradient(90deg, rgba(96, 165, 250, 0.78) 0%, rgba(52, 211, 153, 0.74) 100%);
}

.ss-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.ss-preflight-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ss-param-group {
    padding-top: 2px;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.ss-param-group__title {
    margin-bottom: 12px;
    font-size: 12px;
    font-weight: 800;
    color: rgba(219, 230, 255, 0.74);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.ss-param-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) auto minmax(120px, 0.9fr);
    gap: 14px;
    align-items: center;
    min-height: 40px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(8, 14, 24, 0.6);
    border: 1px solid rgba(95, 140, 255, 0.08);
}

.ss-param-row.is-changed::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 999px;
    background: #fbbf24;
}

.ss-param-row.is-invalid {
    border-color: rgba(251, 113, 133, 0.26);
}

.ss-param-row.is-locked {
    background: rgba(19, 22, 32, 0.78);
}

.ss-param-row__meta,
.ss-param-row__control {
    min-width: 0;
}

.ss-param-row__label {
    font-size: 13px;
    font-weight: 700;
    color: #edf4ff;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ss-param-row__help {
    margin-top: 4px;
    font-size: 11px;
    color: rgba(215, 226, 255, 0.54);
}

.ss-param-row__ghost,
.ss-param-row__error {
    margin-top: 4px;
    font-size: 11px;
}

.ss-param-row__ghost {
    color: rgba(155, 193, 255, 0.64);
}

.ss-param-row__error {
    color: #fb7185;
}

.ss-param-row__dot,
.ss-param-row__lock,
.ss-param-group__badge,
.ss-outcomes-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid rgba(110, 144, 255, 0.14);
    background: rgba(11, 20, 33, 0.82);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ss-param-row__dot {
    color: #fbbf24;
}

.ss-param-row__lock {
    color: #fb7185;
}

.ss-param-group__title {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 11px;
    font-weight: 800;
    color: rgba(219, 230, 255, 0.74);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.ss-param-group__collapsed {
    margin-top: 10px;
    padding: 12px;
    border-radius: 12px;
    background: rgba(8, 14, 24, 0.5);
    color: rgba(215, 226, 255, 0.62);
    font-size: 12px;
}

.ss-param-row__value {
    font-size: 13px;
    font-weight: 700;
    color: #9bc1ff;
    white-space: nowrap;
}

.ss-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    font-size: 13px;
    color: #edf4ff;
}

.ss-validation-notes {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ss-validation-note {
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

.ss-validation-note--warning {
    color: #fbbf24;
    background: rgba(251, 191, 36, 0.08);
    border: 1px solid rgba(251, 191, 36, 0.18);
}

.ss-validation-note--danger,
.ss-inline-error {
    color: #fb7185;
    background: rgba(251, 113, 133, 0.08);
    border: 1px solid rgba(251, 113, 133, 0.18);
}

.ss-inline-error {
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
}

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

.ss-keyval {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.ss-keyval span {
    font-size: 12px;
    color: rgba(215, 226, 255, 0.56);
}

.ss-keyval strong {
    font-size: 15px;
    font-weight: 700;
    color: #f8fbff;
    word-break: break-word;
}

.ss-keyval__value--warning {
    color: #fbbf24;
}

.ss-readiness-panel {
    padding: 16px;
    border-radius: 16px;
    border: 1px solid rgba(110, 144, 255, 0.14);
    background: rgba(8, 16, 28, 0.78);
}

.ss-readiness-panel__label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(215, 226, 255, 0.54);
}

.ss-readiness-panel__value {
    margin-top: 8px;
    font-size: 18px;
    font-weight: 800;
    color: #edf4ff;
}

.ss-readiness-panel__detail {
    margin-top: 8px;
    font-size: 12px;
    color: rgba(215, 226, 255, 0.62);
    line-height: 1.45;
}

.ss-diff-list,
.ss-history-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 2px;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.ss-diff-row,
.ss-history-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(8, 14, 24, 0.6);
    border: 1px solid rgba(95, 140, 255, 0.08);
}

.ss-history-row__detail {
    margin-top: 4px;
    font-size: 12px;
    color: rgba(215, 226, 255, 0.56);
}

.ss-brief-body {
    border-left: 3px solid #57a6ff;
    padding-left: 12px;
    font-size: 16px;
    line-height: 1.6;
    color: rgba(237, 244, 255, 0.88);
}

.ss-brief-meta,
.ss-risk-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ss-brief-meta__item,
.ss-risk-metric {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 76px;
    padding: 14px;
    border-radius: 14px;
    background: rgba(6, 12, 22, 0.72);
    border: 1px solid rgba(95, 140, 255, 0.08);
}

.ss-brief-meta__item span,
.ss-risk-metric span {
    font-size: 11px;
    text-transform: uppercase;
    color: rgba(215, 226, 255, 0.5);
}

.ss-brief-meta__item strong,
.ss-risk-metric strong {
    font-size: 14px;
    color: #eef4ff;
}

.ss-risk-bar {
    display: flex;
    height: 52px;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(110, 144, 255, 0.14);
}

.ss-risk-bar__risk,
.ss-risk-bar__reward {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
}

.ss-risk-bar__risk {
    background: rgba(239, 68, 68, 0.36);
    color: #ffd4d7;
}

.ss-risk-bar__reward {
    background: rgba(34, 197, 94, 0.32);
    color: #d6ffe5;
}

.ss-outcomes-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.ss-outcomes-toolbar__controls {
    display: flex;
    gap: 8px;
    align-items: center;
}

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

.ss-kpi-tile {
    min-height: 76px;
    padding: 14px;
    border-radius: 14px;
    background: rgba(6, 12, 22, 0.72);
    border: 1px solid rgba(95, 140, 255, 0.08);
}

.ss-kpi-tile__value {
    font-size: 24px;
    font-weight: 800;
}

.ss-kpi-tile__value--success {
    color: #34d399;
}

.ss-kpi-tile__value--warning {
    color: #fbbf24;
}

.ss-kpi-tile__value--danger {
    color: #fb7185;
}

.ss-kpi-tile__value--neutral {
    color: #eef4ff;
}

.ss-kpi-tile__label {
    margin-top: 6px;
    font-size: 11px;
    text-transform: uppercase;
    color: rgba(215, 226, 255, 0.5);
}

.ss-kpi-tile__detail {
    margin-top: 6px;
    font-size: 12px;
    color: rgba(215, 226, 255, 0.56);
}

.ss-sparkline {
    min-height: 56px;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(95, 140, 255, 0.08);
    background: rgba(6, 12, 22, 0.72);
}

.ss-sparkline svg {
    width: 100%;
    height: 56px;
}

.ss-sparkline path {
    fill: none;
    stroke: #57a6ff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ss-sparkline__empty {
    font-size: 12px;
    color: rgba(215, 226, 255, 0.54);
}

.ss-empty-state {
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 16px;
    border: 1px dashed rgba(95, 140, 255, 0.2);
    background:
        linear-gradient(0deg, rgba(8, 14, 24, 0.92), rgba(8, 14, 24, 0.92)),
        repeating-linear-gradient(
            90deg,
            rgba(95, 140, 255, 0.05) 0,
            rgba(95, 140, 255, 0.05) 1px,
            transparent 1px,
            transparent 24px
        );
    text-align: center;
}

.ss-empty-state__icon {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(87, 166, 255, 0.12);
    color: #57a6ff;
    font-weight: 800;
}

.ss-empty-state__title {
    font-size: 15px;
    font-weight: 700;
    color: #eef4ff;
}

.ss-empty-state__detail {
    max-width: 46ch;
    font-size: 13px;
    color: rgba(215, 226, 255, 0.56);
    line-height: 1.5;
}

.ss-footer {
    position: sticky;
    bottom: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    min-height: 72px;
    padding: 12px 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    background: linear-gradient(180deg, rgba(9, 14, 24, 0.3) 0%, rgba(9, 14, 24, 0.92) 40%, rgba(7, 11, 20, 0.98) 100%);
}

.ss-footer__left,
.ss-footer__right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.ss-footer__center {
    min-width: 0;
    font-size: 13px;
    color: rgba(237, 244, 255, 0.82);
    line-height: 1.45;
}

.ss-footer__subline {
    margin-top: 4px;
    font-size: 12px;
    color: rgba(215, 226, 255, 0.62);
}

.ss-footer__warning {
    margin-top: 6px;
    color: #fbbf24;
    font-size: 12px;
    font-weight: 700;
}

.ss-footer-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(110, 144, 255, 0.14);
    background: rgba(8, 16, 28, 0.82);
    font-size: 12px;
    font-weight: 700;
}

.ss-footer-chip--success {
    color: #34d399;
}

.ss-footer-chip--warning {
    color: #fbbf24;
}

.ss-footer-chip--danger {
    color: #fb7185;
}

.ss-footer-chip--muted {
    color: rgba(215, 226, 255, 0.62);
}

.ss-drawer-host {
    position: absolute;
    top: 24px;
    right: 24px;
    bottom: 96px;
    width: min(420px, calc(100vw - 48px));
    pointer-events: none;
}

.ss-drawer {
    height: 100%;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    border: 1px solid rgba(110, 144, 255, 0.16);
    border-radius: 22px;
    background: rgba(8, 13, 22, 0.96);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.42);
    pointer-events: auto;
}

.ss-drawer__head,
.ss-drawer__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 18px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.ss-drawer__foot {
    border-bottom: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.ss-drawer__head h4 {
    margin: 0;
    font-size: 16px;
    color: #edf4ff;
}

.ss-drawer__head p {
    margin: 6px 0 0;
    font-size: 12px;
    color: rgba(215, 226, 255, 0.6);
}

.ss-drawer__body {
    overflow: auto;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ss-drawer-row,
.ss-drawer-history {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    border-radius: 14px;
    border: 1px solid rgba(110, 144, 255, 0.12);
    background: rgba(10, 16, 28, 0.9);
}

.ss-drawer-row__main,
.ss-drawer-row__values,
.ss-drawer-history__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.ss-drawer-row__main span,
.ss-drawer-history__summary,
.ss-drawer-history__time {
    font-size: 12px;
    color: rgba(215, 226, 255, 0.62);
}

.ss-drawer-row__arrow {
    color: rgba(155, 193, 255, 0.64);
}

.ss-drawer-history__title {
    font-size: 14px;
    font-weight: 700;
    color: #edf4ff;
}

.ss-drawer-empty {
    padding: 18px;
    border-radius: 14px;
    background: rgba(8, 14, 24, 0.5);
    color: rgba(215, 226, 255, 0.62);
    font-size: 13px;
}

@media (max-width: 1180px) {
    .ss-status-rail__row--chips {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ss-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .ss-grid-span-4 {
        grid-column: span 3;
    }
}

@media (max-width: 860px) {
    #strategy-studio-root {
        padding: 16px;
    }

    .ss-header,
    .ss-status-rail__row,
    .ss-footer {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .ss-header__actions,
    .ss-status-rail__summary,
    .ss-footer__left,
    .ss-footer__right {
        justify-content: flex-start;
    }

    .ss-status-rail__row--chips,
    .ss-grid,
    .ss-kpi-grid,
    .ss-keyvals,
    .ss-brief-meta,
    .ss-risk-metrics,
    .ss-trade-window {
        grid-template-columns: 1fr;
    }

    .ss-grid-span-4 {
        grid-column: 1 / -1;
    }

    .ss-drawer-host {
        position: fixed;
        top: 20px;
        left: 20px;
        right: 20px;
        bottom: 20px;
        width: auto;
        z-index: 30;
    }

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

.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--panel-bg);
  border: 1px solid var(--panel-border);
  padding: 20px;
  z-index: 1000;
  border-radius: 8px;
  min-width: 400px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.5);
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.7);
  z-index: 999;
}

/* AI Assistant: floating bubble + right panel (Phase 1) */
.ai-assistant-bubble {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 500;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 2px solid var(--accent-blue);
  background: rgba(88, 166, 255, 0.15);
  color: var(--accent-blue);
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, background 0.2s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.ai-assistant-bubble:hover {
  background: rgba(88, 166, 255, 0.25);
  transform: scale(1.05);
}
.ai-assistant-bubble-icon {
  line-height: 1;
}

.ai-assistant-panel {
  position: fixed;
  top: var(--header-height, 48px);
  right: 0;
  bottom: 0;
  width: 360px;
  max-width: 95vw;
  background: var(--panel-bg);
  border-left: 1px solid var(--panel-border);
  z-index: 501;
  display: flex;
  flex-direction: column;
  box-shadow: -4px 0 20px rgba(0,0,0,0.4);
  transform: translateX(100%);
  transition: transform 0.25s ease;
  /* Memory drawer + profile modal position from panel */
  --copilot-header-h: 52px;
}
.ai-assistant-panel.open {
  transform: translateX(0);
}

.ai-assistant-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--panel-border);
  flex-shrink: 0;
}
.ai-assistant-panel-header h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
}

/* —— PitStrike Copilot (unified surface) —— */
.copilot-header {
  align-items: flex-start;
  gap: 8px;
}
.copilot-header-left {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}
.copilot-ai-orb {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #3b82f6;
  margin-top: 4px;
  flex-shrink: 0;
  box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.5);
  animation: copilot-orb-pulse 1.5s ease-in-out infinite;
}
.copilot-ai-orb--idle {
  background: #3b82f6;
  animation: copilot-orb-pulse 1.5s ease-in-out infinite;
}
.copilot-ai-orb--thinking {
  background: #6366f1;
  animation: copilot-orb-pulse 1s ease-in-out infinite;
}
.copilot-ai-orb--alert {
  background: #22c55e;
  animation: copilot-orb-pulse 2s ease-in-out infinite;
}
.copilot-ai-orb--warning {
  background: #f59e0b;
  animation: copilot-orb-pulse 1.2s ease-in-out infinite;
}
@keyframes copilot-orb-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.45); opacity: 1; }
  50% { box-shadow: 0 0 0 6px rgba(59, 130, 246, 0); opacity: 0.85; }
}
.copilot-applied-prefs {
  font-size: 10px;
  color: var(--text-secondary);
  margin: 8px 0 6px 0;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--panel-border);
  background: rgba(59, 130, 246, 0.06);
}
.copilot-applied-prefs-title {
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--text-primary);
}
.copilot-applied-prefs-list {
  margin: 0;
  padding-left: 18px;
}
.copilot-applied-prefs-list li {
  margin: 2px 0;
}
.copilot-journal-effects {
  font-size: 10px;
  color: var(--text-secondary);
  margin: 8px 0 6px 0;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--panel-border);
  background: rgba(210, 153, 34, 0.08);
}
.copilot-journal-effects-title {
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--text-primary);
}
.copilot-journal-effects-list {
  margin: 0;
  padding-left: 18px;
}
.copilot-journal-effects-li {
  margin: 3px 0;
  line-height: 1.35;
}
.copilot-journal-effects-li--ok {
  color: #3fb950;
}
.copilot-journal-effects-li--err {
  color: var(--accent-red, #f85149);
}
.copilot-feedback-row {
  font-size: 10px;
  color: var(--text-secondary);
  margin: 6px 0 10px 0;
  padding: 6px 0;
  border-top: 1px solid var(--panel-border);
}
.copilot-feedback-row--sent .copilot-feedback-label {
  color: var(--text-primary);
}
.copilot-feedback-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.copilot-feedback-btn {
  font-size: 10px;
  padding: 3px 8px;
  border-radius: 4px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.2);
  color: var(--text-secondary);
  cursor: pointer;
  font-family: inherit;
}
.copilot-feedback-btn:hover:not(:disabled) {
  color: var(--text-primary);
  border-color: rgba(88, 166, 255, 0.35);
}
.copilot-feedback-btn:disabled {
  opacity: 0.5;
  cursor: default;
}
.copilot-header-titles {
  min-width: 0;
}
.copilot-title {
  margin: 0 0 4px 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.02em;
}
.copilot-header-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.copilot-pill {
  font-size: 9px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid var(--panel-border);
  color: var(--text-secondary);
  line-height: 1.3;
}
.copilot-pill--info { color: #3b82f6; border-color: rgba(59, 130, 246, 0.35); background: rgba(59, 130, 246, 0.08); }
.copilot-pill--good { color: #22c55e; border-color: rgba(34, 197, 94, 0.35); background: rgba(34, 197, 94, 0.08); }
.copilot-pill--warn { color: #f59e0b; border-color: rgba(245, 158, 11, 0.35); background: rgba(245, 158, 11, 0.1); }
.copilot-pill--bad { color: #ef4444; border-color: rgba(239, 68, 68, 0.4); background: rgba(239, 68, 68, 0.1); }
.copilot-header-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.copilot-header-btn {
  font-size: 10px;
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.2);
  color: var(--text-secondary);
  cursor: pointer;
  font-family: inherit;
}
.copilot-header-btn:hover {
  color: var(--text-primary);
  border-color: rgba(88, 166, 255, 0.35);
}

.ai-assistant-panel .copilot-good { color: #22c55e; }
.ai-assistant-panel .copilot-warn { color: #f59e0b; }
.ai-assistant-panel .copilot-bad { color: #ef4444; }
.ai-assistant-panel .copilot-info { color: #3b82f6; }

.copilot-panel-body {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}
.copilot-main-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 12px;
}
.copilot-composer {
  flex-shrink: 0;
}

.copilot-execution-banner {
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 10px;
  border: 1px solid rgba(239, 68, 68, 0.45);
  background: rgba(239, 68, 68, 0.12);
  animation: copilot-fade-in-up 0.35s ease;
}
.copilot-execution-banner--hidden {
  display: none;
}

/* Copilot tracked trade (manual plan — not broker fills) */
.copilot-tracked-trade-host {
  margin: 0 0 10px 0;
  flex-shrink: 0;
}
.copilot-tracked-trade-loading,
.copilot-tracked-trade-empty {
  font-size: 10px;
  color: var(--text-secondary);
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.15);
}
.copilot-tracked-trade-err {
  color: #f87171;
  border-color: rgba(248, 113, 113, 0.35);
}
.copilot-tracked-trade-banner-title {
  font-weight: 700;
  font-size: 11px;
  color: var(--text-primary);
  margin-bottom: 4px;
}
.copilot-tracked-trade-hint {
  margin: 0 0 8px 0;
  line-height: 1.4;
}
.copilot-tracked-flat-intel {
  margin: 0 0 10px 0;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.22);
  background: rgba(30, 58, 138, 0.12);
  font-size: 10px;
  line-height: 1.45;
  color: var(--text-secondary);
}
.copilot-tracked-flat-intel--muted {
  border-style: dashed;
  opacity: 0.9;
}
.copilot-tracked-flat-intel-title {
  font-weight: 700;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-primary);
  margin-bottom: 6px;
}
.copilot-tracked-flat-intel-list {
  margin: 0 0 6px 0;
  padding-left: 16px;
}
.copilot-tracked-flat-intel-list li {
  margin-bottom: 3px;
}
.copilot-tracked-flat-k {
  font-weight: 700;
  color: var(--text-primary);
  margin-right: 4px;
}
.copilot-tracked-flat-guidance {
  margin: 0;
  font-size: 10px;
  line-height: 1.4;
  color: var(--text-primary);
}
.copilot-tracked-phase-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.copilot-tracked-phase-label {
  display: flex;
  flex-direction: column;
  font-size: 9px;
  color: var(--text-secondary);
  gap: 2px;
}
.copilot-tracked-phase-select {
  font-size: 11px;
  padding: 4px 6px;
  min-width: 160px;
  border-radius: 4px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.2);
  color: var(--text-primary);
  font-family: inherit;
}
.copilot-tracked-phase-feedback {
  font-size: 9px;
  color: var(--text-secondary);
}
.copilot-tracked-thesis-line.copilot-tracked-thesis-line--hot {
  font-weight: 700;
  font-size: 12px;
  line-height: 1.35;
  color: #fde68a;
  border-left: 3px solid rgba(251, 191, 36, 0.65);
  padding: 6px 0 6px 10px;
  margin: 6px 0 4px;
  background: rgba(251, 191, 36, 0.06);
  border-radius: 0 6px 6px 0;
}
.copilot-tracked-top-card {
  margin: 8px 0 4px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.35);
  background: rgba(30, 58, 138, 0.14);
}
.copilot-tracked-top-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.copilot-tracked-top-card-title {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-secondary);
}
.copilot-tracked-top-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.copilot-tracked-top-card-body {
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-primary);
}
.copilot-tracked-suggest-more-label {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-secondary);
  margin: 6px 0 2px;
}
.copilot-tracked-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.copilot-tracked-decisions-out {
  margin: 6px 0 0;
  padding: 6px 8px;
  max-height: 200px;
  overflow: auto;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.18);
}
.copilot-tracked-decision-empty {
  font-size: 10px;
  line-height: 1.4;
  color: var(--text-secondary);
}
.copilot-tracked-decisions-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.copilot-tracked-decision-row {
  display: grid;
  grid-template-columns: 72px 100px 1fr;
  gap: 8px;
  font-size: 10px;
  line-height: 1.35;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}
.copilot-tracked-decision-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.copilot-tracked-decision-time {
  color: var(--text-secondary);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.copilot-tracked-decision-kind {
  color: #93c5fd;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.copilot-tracked-decision-msg {
  color: var(--text-primary);
  word-break: break-word;
}
.copilot-tracked-telemetry-pre {
  margin: 6px 0 0;
  padding: 8px;
  max-height: 240px;
  overflow: auto;
  font-size: 9px;
  line-height: 1.35;
  white-space: pre-wrap;
  word-break: break-word;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.25);
  color: #cbd5e1;
  font-family: ui-monospace, monospace;
}
.copilot-tracked-flat-subtitle {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-primary);
  margin: 8px 0 4px;
}
.copilot-tracked-flat-lede {
  margin: 0 0 4px;
  font-size: 10px;
  line-height: 1.45;
  color: var(--text-primary);
}
.copilot-post-close {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(34, 197, 94, 0.35);
  background: rgba(34, 197, 94, 0.08);
}
.copilot-post-close-title {
  font-weight: 800;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-primary);
  margin-bottom: 4px;
}
.copilot-post-close-sub {
  font-size: 9px;
  color: var(--text-secondary);
  font-family: ui-monospace, monospace;
  margin-bottom: 8px;
}
.copilot-post-close-status {
  margin: 0 0 8px;
  padding-left: 18px;
  font-size: 10px;
  line-height: 1.45;
  color: var(--text-secondary);
}
.copilot-post-close-li--ok {
  color: #86efac;
}
.copilot-post-close-li--wait {
  color: #fcd34d;
}
.copilot-post-close-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.copilot-post-close-recap-preview {
  margin: 8px 0 0;
  padding: 8px;
  max-height: 160px;
  overflow: auto;
  font-size: 9px;
  line-height: 1.35;
  white-space: pre-wrap;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.22);
  color: var(--text-secondary);
  font-family: ui-monospace, monospace;
}
.copilot-tracked-trade-card {
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(34, 197, 94, 0.35);
  background: rgba(34, 197, 94, 0.06);
}
.copilot-tracked-trade-line {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 8px;
}
.copilot-tracked-close-block {
  margin: 8px 0 6px;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  background: rgba(0, 0, 0, 0.12);
}
.copilot-tracked-close-block-title {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-secondary);
  margin-bottom: 6px;
}
.copilot-tracked-close-label {
  display: flex;
  flex-direction: column;
  font-size: 9px;
  color: var(--text-secondary);
  gap: 2px;
  margin-bottom: 6px;
}
.copilot-tracked-close-label:last-child {
  margin-bottom: 0;
}
.copilot-tracked-close-label input[type='text'],
.copilot-tracked-close-label select {
  font-size: 11px;
  padding: 4px 6px;
  max-width: 240px;
  border-radius: 4px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.2);
  color: var(--text-primary);
  font-family: inherit;
}
.copilot-tracked-trade-edit {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-end;
}
.copilot-tracked-trade-edit label {
  display: flex;
  flex-direction: column;
  font-size: 9px;
  color: var(--text-secondary);
  gap: 2px;
}
.copilot-tracked-trade-edit input {
  font-size: 11px;
  padding: 4px 6px;
  width: 100px;
  border-radius: 4px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.2);
  color: var(--text-primary);
  font-family: inherit;
}
.copilot-tracked-trade-btn {
  font-size: 10px;
  padding: 5px 10px;
  border-radius: 4px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.25);
  color: var(--text-secondary);
  cursor: pointer;
  font-family: inherit;
}
.copilot-tracked-trade-btn:hover {
  color: var(--text-primary);
  border-color: rgba(88, 166, 255, 0.35);
}
.copilot-tracked-trade-btn--danger {
  border-color: rgba(239, 68, 68, 0.45);
  color: #f87171;
}
.copilot-tracked-start-form {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--panel-border);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.copilot-tracked-start-form label {
  display: flex;
  flex-direction: column;
  font-size: 9px;
  color: var(--text-secondary);
  gap: 2px;
}
.copilot-tracked-start-form input[type='text'],
.copilot-tracked-start-form input[type='number'],
.copilot-tracked-start-form select {
  font-size: 11px;
  padding: 4px 6px;
  max-width: 200px;
  border-radius: 4px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.2);
  color: var(--text-primary);
  font-family: inherit;
}
.copilot-tracked-inline {
  flex-direction: row !important;
  align-items: center;
  gap: 6px !important;
}
.copilot-tracked-eval-hint {
  margin: 6px 0 4px;
  font-size: 10px;
  line-height: 1.35;
  color: var(--text-secondary);
}
.copilot-tracked-trade-meta {
  font-size: 10px;
  line-height: 1.35;
  color: var(--text-secondary);
  margin-bottom: 4px;
}
.copilot-tracked-risk-banner {
  margin: 6px 0;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.35;
  color: #fecaca;
  border: 1px solid rgba(239, 68, 68, 0.45);
  background: rgba(239, 68, 68, 0.12);
}
.copilot-tracked-suggest-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 6px 0 4px;
}
.copilot-tracked-suggest-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px 8px;
  font-size: 10px;
  line-height: 1.35;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.18);
}
.copilot-tracked-suggest-sev {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--text-secondary);
}
.copilot-tracked-suggest-sev--critical,
.copilot-tracked-suggest-sev--urgent {
  color: #f87171;
}
.copilot-tracked-suggest-sev--warn {
  color: #fbbf24;
}
.copilot-tracked-suggest-sev--info {
  color: #93c5fd;
}
.copilot-tracked-suggest-text {
  flex: 1 1 140px;
  min-width: 0;
  color: var(--text-primary);
}
.copilot-tracked-suggest-acks {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  width: 100%;
}
.copilot-tracked-suggest-ack {
  font-size: 9px;
  padding: 3px 8px;
  border-radius: 4px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.25);
  color: var(--text-secondary);
  cursor: pointer;
  font-family: inherit;
}
.copilot-tracked-suggest-ack:hover {
  color: var(--text-primary);
  border-color: rgba(88, 166, 255, 0.35);
}
.copilot-execution-banner--blocked .copilot-execution-banner-title {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #ef4444;
  margin-bottom: 6px;
}
.copilot-execution-banner-body {
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-primary);
}

.copilot-know-block {
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 12px;
  background: rgba(59, 130, 246, 0.06);
  animation: copilot-fade-in-up 0.3s ease;
}
.copilot-know-block--empty {
  background: rgba(0, 0, 0, 0.15);
}
.copilot-know-title {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #79c0ff;
  margin-bottom: 8px;
}
.copilot-know-list {
  margin: 0;
  padding-left: 18px;
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-primary);
}
.copilot-know-empty {
  margin: 0;
  font-size: 11px;
  color: var(--text-secondary);
  line-height: 1.45;
}

.copilot-desk-strip {
  margin-bottom: 12px;
}
.copilot-desk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.copilot-desk-refresh {
  font-size: 10px;
  padding: 5px 10px;
  border-radius: 4px;
  border: 1px solid var(--panel-border);
  background: rgba(88, 166, 255, 0.12);
  color: var(--text-primary);
  cursor: pointer;
  font-family: inherit;
}
.copilot-desk-meta {
  font-size: 10px;
  color: var(--text-secondary);
  margin-bottom: 8px;
}
.copilot-desk-cards {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.copilot-desk-card {
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  padding: 10px;
  background: rgba(0, 0, 0, 0.2);
  animation: copilot-fade-in-up 0.3s ease;
}
.copilot-desk-card-label {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-secondary);
  margin-bottom: 4px;
}
.copilot-desk-card-value {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}
.copilot-desk-card-hint {
  font-size: 10px;
  color: var(--text-secondary);
  margin-top: 8px;
  line-height: 1.4;
}
.copilot-desk-session {
  font-size: 10px;
  margin-top: 8px;
  line-height: 1.4;
}
.copilot-desk-loading,
.copilot-feed-loading {
  font-size: 11px;
  color: var(--text-secondary);
  padding: 12px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.copilot-ai-feed {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}
.copilot-feed-card {
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  padding: 10px 12px;
  background: rgba(0, 0, 0, 0.18);
}
.copilot-feed-card--animate {
  animation: copilot-fade-in-up 0.3s ease;
}
@keyframes copilot-fade-in-up {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.copilot-feed-card-head {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
  color: var(--text-secondary);
}
.copilot-feed-icon {
  margin-right: 4px;
}
.copilot-feed-card-body {
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-primary);
  white-space: pre-wrap;
}

.copilot-quick-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}
.copilot-tool-chip {
  font-size: 9px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(88, 166, 255, 0.35);
  background: rgba(88, 166, 255, 0.08);
  color: var(--text-secondary);
  cursor: pointer;
  font-family: inherit;
}
.copilot-tool-chip:hover {
  color: var(--text-primary);
  border-color: rgba(88, 166, 255, 0.55);
}

.copilot-chart-chips {
  margin-top: -4px;
}
.copilot-tool-chip.copilot-tool-chip--chart {
  border-color: rgba(188, 140, 255, 0.4);
  background: rgba(188, 140, 255, 0.07);
}
.copilot-tool-chip.copilot-tool-chip--chart:hover {
  border-color: rgba(188, 140, 255, 0.6);
}

.copilot-stream-block {
  margin-bottom: 8px;
}
.copilot-stream-label {
  font-size: 10px;
  color: var(--text-secondary);
  margin-bottom: 4px;
}
.copilot-stream-dots {
  display: inline-flex;
  margin-top: 2px;
}

.copilot-chat-empty-hint {
  font-size: 10px;
  color: var(--text-secondary);
  line-height: 1.45;
  margin: 0 0 10px 0;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px dashed var(--panel-border);
  background: rgba(0, 0, 0, 0.15);
}

.copilot-thinking-dots {
  display: inline-flex;
  gap: 4px;
  align-items: center;
}
.copilot-thinking-dots span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent-blue);
  animation: copilot-dot-bounce 0.9s ease-in-out infinite;
}
.copilot-thinking-dots span:nth-child(2) { animation-delay: 0.15s; }
.copilot-thinking-dots span:nth-child(3) { animation-delay: 0.3s; }
@keyframes copilot-dot-bounce {
  0%, 80%, 100% { transform: translateY(0); opacity: 0.5; }
  40% { transform: translateY(-4px); opacity: 1; }
}

.ai-assistant-panel.copilot-thinking .copilot-main-scroll {
  position: relative;
}
.ai-assistant-panel.copilot-thinking .copilot-main-scroll::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 48px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(88, 166, 255, 0.06), transparent);
  background-size: 200% 100%;
  animation: copilot-shimmer 1.2s ease-in-out infinite;
}
@keyframes copilot-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

.ai-assistant-panel.copilot-context-loading .copilot-ai-feed {
  opacity: 0.85;
}

/* Memory drawer */
.copilot-memory-drawer {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 20;
  pointer-events: none;
  visibility: hidden;
}
.copilot-memory-drawer.open {
  pointer-events: auto;
  visibility: visible;
}
.copilot-memory-drawer-backdrop {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.42);
  opacity: 0;
  transition: opacity 0.28s ease;
  pointer-events: none;
}
.copilot-memory-drawer.open .copilot-memory-drawer-backdrop {
  opacity: 1;
  pointer-events: auto;
}
.copilot-memory-drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: min(100%, 420px);
  height: 100%;
  background: var(--panel-bg);
  border-left: 1px solid var(--panel-border);
  box-shadow: -6px 0 24px rgba(0,0,0,0.35);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.28s ease;
  overflow: hidden;
}
.copilot-memory-drawer.open .copilot-memory-drawer-panel {
  transform: translateX(0);
}
.copilot-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid var(--panel-border);
  flex-shrink: 0;
}
.copilot-drawer-header h4 {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}
.copilot-drawer-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 12px 14px 16px;
}

/* Profile modal */
.copilot-profile-modal {
  position: absolute;
  inset: 0;
  z-index: 30;
  pointer-events: none;
  visibility: hidden;
}
.copilot-profile-modal.open {
  pointer-events: auto;
  visibility: visible;
}
.copilot-profile-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
}
.copilot-profile-modal-panel {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 92%;
  max-width: 320px;
  max-height: 88%;
  display: flex;
  flex-direction: column;
  background: var(--panel-bg);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.5);
  overflow: hidden;
}
.copilot-profile-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid var(--panel-border);
  flex-shrink: 0;
}
.copilot-profile-modal-header h4 {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}
.copilot-profile-modal-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 12px 14px 16px;
}
.copilot-profile-section-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--accent-blue);
  margin-bottom: 8px;
}
.copilot-profile-advanced {
  margin-top: 12px;
  padding-top: 8px;
  border-top: 1px solid var(--panel-border);
}
.copilot-profile-advanced summary {
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-secondary);
  user-select: none;
  margin-bottom: 8px;
}
.copilot-profile-advanced[open] summary {
  margin-bottom: 10px;
}
.ai-assistant-close {
  background: transparent;
  border: none;
  color: var(--text-secondary);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  padding: 0 4px;
}
.ai-assistant-close:hover {
  color: var(--text-primary);
}

.ai-assistant-tabs {
  display: flex;
  gap: 4px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--panel-border);
  flex-shrink: 0;
}
.ai-assistant-tab {
  flex: 1;
  padding: 5px 6px;
  font-size: 10px;
  background: transparent;
  border: 1px solid transparent;
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: 4px;
}
.ai-assistant-tab:hover {
  color: var(--text-primary);
}
.ai-assistant-tab.active {
  background: rgba(88, 166, 255, 0.1);
  color: var(--accent-blue);
  border-color: rgba(88, 166, 255, 0.3);
}

.ai-assistant-panel-body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}
.ai-assistant-panel-body > .ai-assistant-section {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 12px;
}
.ai-assistant-panel-body > .ai-assistant-section.ai-assistant-chat-layout {
  flex-direction: column;
  padding: 0;
  overflow: hidden;
}
.ai-assistant-chat-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 12px;
}
.ai-assistant-composer {
  flex-shrink: 0;
  padding: 12px;
  border-top: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.25);
}
.ai-assistant-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}
.ai-assistant-chip {
  font-size: 10px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(88, 166, 255, 0.35);
  background: rgba(88, 166, 255, 0.08);
  color: var(--text-secondary);
  cursor: pointer;
  font-family: inherit;
}
.ai-assistant-chip:hover {
  color: var(--text-primary);
  border-color: rgba(88, 166, 255, 0.55);
}
.ai-assistant-suggestions-legend {
  flex-basis: 100%;
  width: 100%;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin: 4px 0 0;
}
.ai-assistant-chip--journal {
  border-color: rgba(63, 185, 80, 0.45);
  background: rgba(63, 185, 80, 0.1);
}
.ai-assistant-chip--journal:hover {
  border-color: rgba(63, 185, 80, 0.65);
}
.ai-assistant-tool-group {
  margin-bottom: 14px;
}
.ai-assistant-tool-group-title {
  margin: 0 0 8px 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent-blue);
}
.ai-assistant-dev-details {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--panel-border);
}
.ai-assistant-dev-details summary {
  cursor: pointer;
  font-size: 10px;
  color: var(--text-secondary);
  user-select: none;
}
.ai-assistant-dev-details[open] summary {
  margin-bottom: 10px;
}

.ai-assistant-memory-add-actions {
  margin-top: 8px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.ai-assistant-memory-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ai-assistant-memory-row {
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  padding: 10px;
  background: rgba(0, 0, 0, 0.2);
}
.ai-assistant-memory-row-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.ai-assistant-memory-kind {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid var(--panel-border);
}
.ai-assistant-memory-kind--user_note {
  color: #79c0ff;
  border-color: rgba(121, 192, 255, 0.4);
  background: rgba(121, 192, 255, 0.08);
}
.ai-assistant-memory-kind--turn_summary {
  color: #d2a8ff;
  border-color: rgba(210, 168, 255, 0.35);
  background: rgba(210, 168, 255, 0.08);
}
.ai-assistant-memory-date {
  font-size: 10px;
  color: var(--text-secondary);
}
.ai-assistant-memory-body {
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-primary);
  white-space: pre-wrap;
  word-break: break-word;
}
.ai-assistant-memory-actions {
  display: flex;
  gap: 6px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.ai-assistant-memory-btn {
  padding: 4px 10px !important;
  font-size: 10px !important;
  min-height: 0 !important;
}
.ai-assistant-memory-edit {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 8px;
  padding: 8px;
  font-size: 12px;
  font-family: inherit;
  background: var(--panel-bg, #0d1117);
  border: 1px solid var(--panel-border);
  color: var(--text-primary);
  border-radius: 4px;
  resize: vertical;
  min-height: 72px;
}
.ai-assistant-memory-edit-actions {
  display: flex;
  gap: 6px;
}
.ai-assistant-context-kpis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}
.ai-assistant-context-kpi {
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  padding: 10px;
}
.ai-assistant-context-kpi--wide {
  grid-column: 1 / -1;
}
.ai-assistant-context-kpi-label {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-secondary);
  margin-bottom: 4px;
}
.ai-assistant-context-kpi-value {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
}
.ai-assistant-context-meter {
  height: 6px;
  border-radius: 3px;
  background: rgba(48, 54, 61, 0.8);
  margin-top: 8px;
  overflow: hidden;
}
.ai-assistant-context-meter-fill {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, rgba(88, 166, 255, 0.9), rgba(63, 185, 80, 0.85));
  transition: width 0.35s ease;
}
.ai-assistant-context-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.ai-assistant-context-actions button {
  font-size: 10px;
  padding: 6px 10px;
  border-radius: 4px;
  border: 1px solid var(--panel-border);
  background: rgba(88, 166, 255, 0.12);
  color: var(--text-primary);
  cursor: pointer;
  font-family: inherit;
}
.ai-assistant-context-actions button:hover {
  border-color: rgba(88, 166, 255, 0.4);
}
.ai-assistant-context-meta {
  font-size: 10px;
  color: var(--text-secondary);
  margin-bottom: 10px;
}
.ai-assistant-profile-form label {
  display: block;
  font-size: 10px;
  color: var(--text-secondary);
  margin-top: 10px;
  margin-bottom: 4px;
}
.ai-assistant-profile-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  cursor: pointer;
  font-size: 11px;
  color: var(--text-primary);
  line-height: 1.35;
}
.ai-assistant-profile-checkbox-label input[type='checkbox'] {
  margin-top: 2px;
  flex-shrink: 0;
}
.ai-assistant-profile-form input[type='text'],
.ai-assistant-profile-form input[type='number'],
.ai-assistant-profile-form select,
.ai-assistant-profile-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 6px 8px;
  font-size: 11px;
  background: #0d1117;
  border: 1px solid var(--panel-border);
  color: var(--text-primary);
  border-radius: 4px;
  font-family: inherit;
}
.ai-assistant-profile-form textarea {
  min-height: 52px;
  resize: vertical;
}
.ai-assistant-profile-actions {
  display: flex;
  gap: 8px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.ai-assistant-profile-status {
  font-size: 10px;
  margin-top: 8px;
  color: var(--text-secondary);
}
.ai-assistant-profile-status.is-error {
  color: #f85149;
}
.ai-assistant-profile-status.is-ok {
  color: var(--accent-green);
}
.ai-assistant-instrument-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 4px;
}
.ai-assistant-instrument-row label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 11px;
  color: var(--text-primary);
  cursor: pointer;
}
.ai-assistant-placeholder {
  font-size: 12px;
  color: var(--text-secondary);
}
.ai-assistant-section {
  font-size: 12px;
}
.ai-assistant-context-card {
  background: rgba(0,0,0,0.2);
  border: 1px solid var(--panel-border);
  border-radius: 4px;
  padding: 10px;
  margin-bottom: 8px;
  font-size: 11px;
}
.ai-assistant-context-card h4 {
  margin: 0 0 6px 0;
  font-size: 10px;
  text-transform: uppercase;
  color: var(--text-secondary);
}
.ai-assistant-tool-btn {
  display: block;
  width: 100%;
  margin-bottom: 6px;
  padding: 8px 12px;
  font-size: 11px;
  background: rgba(88, 166, 255, 0.1);
  border: 1px solid rgba(88, 166, 255, 0.3);
  color: var(--text-primary);
  border-radius: 4px;
  cursor: pointer;
  text-align: left;
}
.ai-assistant-tool-btn:hover {
  background: rgba(88, 166, 255, 0.2);
}
.ai-assistant-thread-msg {
  padding: 8px 10px;
  margin-bottom: 8px;
  border-radius: 4px;
  font-size: 11px;
  line-height: 1.4;
}
.ai-assistant-status {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
  font-size: 10px;
  color: var(--text-secondary);
}
.ai-assistant-status .status-badge {
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(0,0,0,0.2);
  border: 1px solid var(--panel-border);
}
.ai-assistant-status .status-badge.on { color: var(--accent-green); border-color: rgba(63,185,80,0.4); }
.ai-assistant-status .status-badge.off { color: var(--text-secondary); opacity: 0.8; }
.ai-assistant-thread-msg.user { background: rgba(88, 166, 255, 0.1); border-left: 3px solid var(--accent-blue); }
.ai-assistant-thread-msg.assistant { background: rgba(0,0,0,0.2); border-left: 3px solid var(--accent-green); }
.ai-assistant-thread-msg.error { background: rgba(248, 81, 73, 0.1); border-left: 3px solid var(--accent-red); }

.copilot-ai-policy-note {
  margin: 10px 0 4px;
  padding: 8px 10px;
  font-size: 10px;
  line-height: 1.45;
  color: var(--text-secondary);
  border-radius: 6px;
  border: 1px dashed rgba(139, 148, 158, 0.35);
  background: rgba(0, 0, 0, 0.18);
}

.dock-story-ai-policy-note {
  margin: 6px 0 2px;
  max-width: 100%;
  box-sizing: border-box;
}

.copilot-assistant-block {
  background: rgba(0,0,0,0.22);
  border-left: 3px solid var(--accent-green);
  padding: 10px 12px;
  border-radius: 0 6px 6px 0;
}
.copilot-reply-text {
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-primary);
  white-space: pre-wrap;
}
.copilot-confidence-label {
  margin-top: 10px;
  font-size: 10px;
  font-family: ui-monospace, monospace;
  color: var(--text-secondary);
}
.copilot-confidence-meter {
  height: 6px;
  border-radius: 3px;
  background: rgba(48, 54, 61, 0.85);
  margin-top: 4px;
  overflow: hidden;
}
.copilot-confidence-meter-fill {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.9), rgba(34, 197, 94, 0.85));
  transition: width 0.35s ease;
}
.copilot-blocked-note {
  margin-top: 10px;
  font-size: 11px;
  color: #ef4444;
  line-height: 1.45;
}
.copilot-action-card {
  font-size: 10px;
  line-height: 1.45;
  padding: 8px 10px;
  margin-top: 6px;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: rgba(0, 0, 0, 0.25);
  color: var(--text-secondary);
  font-family: ui-monospace, monospace;
}
.copilot-action-card--ok {
  border-color: rgba(34, 197, 94, 0.35);
  color: #86efac;
}
.copilot-action-card--partial {
  border-color: rgba(245, 158, 11, 0.4);
  color: #fcd34d;
}
.ai-assistant-input-wrap {
  display: flex;
  gap: 8px;
  align-items: flex-end;
  margin-top: 0;
  flex-shrink: 0;
}
#ai-assistant-input {
  flex: 1;
  min-height: 44px;
  max-height: 120px;
  resize: vertical;
  padding: 8px 12px;
  background: #0d1117;
  border: 1px solid var(--panel-border);
  color: var(--text-primary);
  border-radius: 4px;
  font-size: 12px;
  font-family: inherit;
}
#ai-assistant-send {
  padding: 8px 16px;
  background: var(--accent-blue);
  border: none;
  color: #0b0f14;
  font-weight: 600;
  border-radius: 4px;
  cursor: pointer;
}

.ai-assistant-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  z-index: 499;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.ai-assistant-backdrop.visible {
  opacity: 1;
  pointer-events: auto;
}

/* ——— Live chart toolbar (grouped, colorful) ——— */
.chart-panel {
  border-radius: 10px;
  overflow: visible;
}

.chart-toolbar {
  /* Single place to tune chart chrome (terminal + popout); override per-skin if needed */
  --chart-chrome-border-strong: rgba(88, 166, 255, 0.14);
  --chart-chrome-grad-a: rgba(88, 166, 255, 0.08);
  --chart-chrome-grad-b: rgba(0, 0, 0, 0.22);
  --chart-chrome-grad-c: rgba(10, 14, 20, 0.97);
  --chart-chrome-outer-shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
  --chart-chrome-inner-rim: 0 0 0 1px rgba(0, 0, 0, 0.35) inset;
  --chart-chrome-inner-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.055);
  --chart-chrome-cluster-surface: rgba(0, 0, 0, 0.22);
  --chart-chrome-cluster-border: rgba(255, 255, 255, 0.055);
  --chart-chrome-cluster-inset: rgba(255, 255, 255, 0.04);
  --chart-chrome-hero-divider: rgba(255, 255, 255, 0.06);

  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 8px;
  padding: 12px 16px 14px;
  border-radius: 10px;
  background: linear-gradient(
    165deg,
    var(--chart-chrome-grad-a) 0%,
    var(--chart-chrome-grad-b) 42%,
    var(--chart-chrome-grad-c) 100%
  );
  border: 1px solid var(--chart-chrome-border-strong);
  box-shadow: var(--chart-chrome-outer-shadow), var(--chart-chrome-inner-rim), var(--chart-chrome-inner-highlight);
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.chart-toolbar__pro {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.chart-toolbar--compact {
  padding: 10px 14px 10px;
  margin-bottom: 4px;
  gap: 0;
}

.chart-toolbar--compact .chart-toolbar__pro {
  display: none;
}

@media (max-width: 520px) {
  /* Mobile-first: keep the chart visible by default.
     The full decision strip + clusters are still accessible via "Open controls". */
  #chart-toolbar .chart-toolbar__pro {
    display: none;
  }

  #chart-toolbar {
    padding: 10px 12px 10px;
    gap: 6px;
    margin-bottom: 4px;
  }

  #chart-toolbar .chart-toolbar__title--command {
    font-size: 14px;
  }

  #chart-toolbar .chart-toolbar__ghost-btn {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.chart-toolbar__hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px 14px;
}

.chart-toolbar__hero--command {
  align-items: center;
  padding-bottom: 8px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--chart-chrome-hero-divider, rgba(255, 255, 255, 0.06));
}

.chart-toolbar__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.chart-toolbar__brand--command {
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  flex-wrap: wrap;
  gap: 6px;
}

/* Thin vertical divider in toolbar brand row */
.chart-toolbar__sep {
  display: inline-block;
  width: 1px;
  height: 18px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 1px;
  flex-shrink: 0;
  margin: 0 2px;
}

/* Inline mode field (no column stacking) */
.chart-toolbar__field--inline {
  flex-direction: row;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
}

/* "Controls" ghost btn accent */
.chart-toolbar__ghost-btn--controls {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-color: rgba(163, 113, 247, 0.4);
  background: rgba(163, 113, 247, 0.08);
  color: #c8a4ff;
}
.chart-toolbar__ghost-btn--controls:hover {
  background: rgba(163, 113, 247, 0.18);
}

/* Slats icon (replaces emoji); inherits `color` from control button */
.chart-toolbar__controls-icon {
  display: block;
  width: 14px;
  height: 11px;
  flex-shrink: 0;
  opacity: 0.92;
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 100% 2px no-repeat,
    linear-gradient(currentColor, currentColor) 0 4.5px / 100% 2px no-repeat,
    linear-gradient(currentColor, currentColor) 0 9px / 72% 2px no-repeat;
}

.chart-toolbar__controls-text {
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* "⊕ Tools" add btn */
.chart-toolbar__ghost-btn--add {
  border-color: rgba(63, 185, 80, 0.35);
  background: rgba(63, 185, 80, 0.07);
  color: rgba(100, 210, 120, 0.9);
  font-size: 10px;
  white-space: nowrap;
  flex-shrink: 0;
}
.chart-toolbar__ghost-btn--add:hover {
  background: rgba(63, 185, 80, 0.16);
}

/* ── Quick tools bar ── */
.chart-toolbar__quick-tools {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  max-width: 600px;
}

/* Individual quick-tool toggle button */
.chart-toolbar__quick-tool-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: 5px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-secondary, #8b949e);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
  white-space: nowrap;
  flex-shrink: 0;
}
.chart-toolbar__quick-tool-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary, #c9d1d9);
}

.chart-toolbar__quick-tool-btn:focus {
  outline: none;
}

.chart-toolbar__quick-tool-btn:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.72);
  outline-offset: 2px;
}
.chart-toolbar__quick-tool-btn[data-active="true"] {
  background: rgba(88, 166, 255, 0.14);
  border-color: rgba(88, 166, 255, 0.45);
  color: #a8d0ff;
}

/* Per-color accent variants */
.chart-toolbar__quick-tool-btn--cyan[data-active="true"] { background: rgba(56, 201, 208, 0.14); border-color: rgba(56, 201, 208, 0.45); color: #7ddce0; }
.chart-toolbar__quick-tool-btn--violet[data-active="true"] { background: rgba(163, 113, 247, 0.14); border-color: rgba(163, 113, 247, 0.45); color: #c8a4ff; }
.chart-toolbar__quick-tool-btn--teal[data-active="true"] { background: rgba(32, 201, 151, 0.14); border-color: rgba(32, 201, 151, 0.45); color: #70e8c2; }
.chart-toolbar__quick-tool-btn--purple[data-active="true"] { background: rgba(130, 80, 255, 0.14); border-color: rgba(130, 80, 255, 0.45); color: #b08dff; }
.chart-toolbar__quick-tool-btn--lime[data-active="true"] { background: rgba(100, 220, 0, 0.12); border-color: rgba(100, 220, 0, 0.4); color: #b8f058; }
.chart-toolbar__quick-tool-btn--orchid[data-active="true"] { background: rgba(218, 112, 214, 0.14); border-color: rgba(218, 112, 214, 0.45); color: #eda8ea; }
.chart-toolbar__quick-tool-btn--blue[data-active="true"] { background: rgba(88, 166, 255, 0.14); border-color: rgba(88, 166, 255, 0.45); color: #a8d0ff; }
.chart-toolbar__quick-tool-btn--amber[data-active="true"] { background: rgba(210, 153, 34, 0.14); border-color: rgba(210, 153, 34, 0.4); color: #f0bc5e; }

.chart-toolbar__title--command {
  margin: 0;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.chart-toolbar__title-meta {
  color: var(--text-secondary);
  font-weight: 600;
  font-size: 13px;
}

.chart-toolbar__tool-passive {
  font-size: 10px;
  font-weight: 600;
  color: var(--text-secondary);
  white-space: nowrap;
  padding: 0 4px;
  flex-shrink: 0;
}

.chart-toolbar__cluster-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: flex-start;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--chart-chrome-cluster-surface, rgba(0, 0, 0, 0.22));
  border: 1px solid var(--chart-chrome-cluster-border, rgba(255, 255, 255, 0.055));
  box-shadow: inset 0 1px 0 var(--chart-chrome-cluster-inset, rgba(255, 255, 255, 0.04));
}

.chart-toolbar__cluster {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  flex: 1 1 160px;
}

.chart-toolbar__cluster-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.chart-toolbar__cluster-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.chart-toolbar__cluster-actions--wrap {
  gap: 8px;
}

/* Workspace layout mode: View / Trade / Analyze (see workspace-layout-mode.js) */
.chart-workspace-mode {
  display: inline-flex;
  border-radius: 8px;
  padding: 2px;
  gap: 2px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}

.chart-workspace-mode__btn {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 5px 10px;
  border-radius: 6px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  transition:
    background var(--ps-motion-duration-fast) var(--ps-motion-easing-standard),
    color var(--ps-motion-duration-fast) var(--ps-motion-easing-standard),
    border-color var(--ps-motion-duration-fast) var(--ps-motion-easing-standard);
}

.chart-workspace-mode__btn:hover {
  color: var(--text-primary);
  background: rgba(88, 166, 255, 0.1);
}

.chart-workspace-mode__btn--active {
  color: #dbefff;
  background: rgba(88, 166, 255, 0.2);
  border-color: rgba(88, 166, 255, 0.42);
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.chart-toolbar__cluster--workspace,
.chart-toolbar__cluster--trading {
  flex: 1 1 220px;
}

.chart-toolbar__cluster-actions--trading {
  justify-content: flex-end;
}

.chart-toolbar__feed-status {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  flex-shrink: 0;
  max-width: 100%;
}

.chart-toolbar__cluster--trading {
  margin-left: auto;
}

@media (max-width: 1100px) {
  .chart-workspace-mode__btn {
    padding: 4px 8px;
    font-size: 9px;
    letter-spacing: 0.02em;
  }

  .chart-toolbar__feed-status .chart-toolbar__status-pill {
    min-height: 28px;
    padding: 2px 7px;
    font-size: 9px;
  }
}

@media (max-width: 720px) {
  .chart-toolbar__cluster-actions--trading {
    justify-content: flex-start;
  }
}

@media (max-width: 960px) {
  .chart-toolbar__session-pill--compact {
    letter-spacing: 0.02em;
    min-width: 0;
  }
}

.chart-toolbar__toggle-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 10px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.chart-toolbar__toggle-inline input {
  margin: 0;
}

.chart-toolbar__status-pill {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  transition:
    border-color var(--ps-motion-duration-fast) var(--ps-motion-easing-standard),
    background-color var(--ps-motion-duration-fast) var(--ps-motion-easing-standard),
    color var(--ps-motion-duration-fast) var(--ps-motion-easing-standard);
}

.chart-toolbar__latency {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 10px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.02);
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.chart-toolbar__latency #latency-val {
  color: var(--accent-green);
}

@media (max-height: 980px) {
  .chart-toolbar {
    gap: 6px;
    margin-bottom: 4px;
    padding: 10px 12px 10px;
  }

  .chart-toolbar__pro {
    gap: 6px;
  }

  .chart-toolbar__cluster-row {
    gap: 8px 10px;
    padding: 6px 10px;
  }

  .chart-toolbar__cluster {
    gap: 4px;
    flex: 0 1 auto;
  }

  .chart-toolbar__cluster--trading {
    flex: 0 1 auto;
    margin-left: auto;
  }

  .chart-decision-engine__chrome {
    padding: 0 10px 4px 12px;
  }

  .chart-decision-strip {
    margin: 4px 10px 6px;
    padding: 8px 10px 10px;
  }
}

/* Collapsible host: toolbar row + panel wrapping #chart-decision-strip */
.chart-decision-engine {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  min-width: 0;
  gap: 0;
}

.chart-decision-engine__chrome {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 2px 10px 6px 12px;
  flex-shrink: 0;
  position: relative;
  z-index: 4;
  pointer-events: auto;
}

.chart-decision-engine--collapsed .chart-decision-engine__chrome {
  border-top: 1px solid rgba(255, 255, 255, 0.045);
  margin-top: 2px;
  padding-top: 6px;
}

.chart-decision-engine-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: none;
}

.chart-decision-engine-toggle__chev {
  display: inline-block;
  font-size: 9px;
  line-height: 1;
  opacity: 0.85;
  transition: transform 0.15s ease;
}

.chart-decision-engine--collapsed .chart-decision-engine-toggle__chev {
  transform: rotate(-90deg);
}

/* Animatable collapse: grid row 0fr ↔ 1fr (motion spec §6); inner clips overflow */
.chart-decision-engine__panel {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows var(--ps-motion-duration-slow) var(--ps-motion-easing-standard);
  min-width: 0;
}

.chart-decision-engine--collapsed .chart-decision-engine__panel {
  grid-template-rows: 0fr;
}

.chart-decision-engine__panel-inner {
  min-height: 0;
  overflow: hidden;
}

.chart-toolbar__status-pill--px-ok {
  border-color: rgba(63, 185, 80, 0.45);
  background-color: rgba(63, 185, 80, 0.1);
  color: rgba(201, 209, 217, 0.95);
}

.chart-toolbar__status-pill--px-idle {
  border-color: rgba(255, 255, 255, 0.08);
  background-color: rgba(255, 255, 255, 0.03);
  color: var(--text-secondary);
}

/* Market session FSM mirror (chart-session-toolbar-pill.js) */
.chart-toolbar__session-pill--idle {
  border-color: rgba(255, 255, 255, 0.08);
  background-color: rgba(255, 255, 255, 0.03);
  color: var(--text-secondary);
}

.chart-toolbar__session-pill--progress {
  border-color: rgba(121, 192, 255, 0.4);
  background-color: rgba(88, 166, 255, 0.08);
  color: rgba(201, 209, 217, 0.95);
}

.chart-toolbar__session-pill--quotes {
  border-color: rgba(63, 185, 80, 0.35);
  background-color: rgba(63, 185, 80, 0.08);
  color: rgba(201, 209, 217, 0.95);
}

.chart-toolbar__session-pill--live {
  border-color: rgba(63, 185, 80, 0.5);
  background-color: rgba(63, 185, 80, 0.12);
  color: rgba(230, 237, 243, 0.98);
}

.chart-toolbar__session-pill--warn {
  border-color: rgba(210, 153, 34, 0.55);
  background-color: rgba(210, 153, 34, 0.1);
  color: rgba(255, 230, 180, 0.95);
}

.chart-toolbar__session-pill--error {
  border-color: rgba(248, 81, 73, 0.55);
  background-color: rgba(248, 81, 73, 0.12);
  color: rgba(255, 210, 210, 0.98);
}

/* Chart decision engine (market state, setup score, strategy modes) */
.chart-decision-strip {
  margin: 8px 12px 10px;
  padding: 10px 12px 12px;
  border-radius: 10px;
  border: 1px solid rgba(88, 166, 255, 0.22);
  background: linear-gradient(145deg, rgba(18, 26, 38, 0.96), rgba(10, 14, 22, 0.92));
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
  /* Reserve vertical space before decision data loads to prevent CLS */
  min-height: 40px;
}
.chart-decision-strip[data-decision-state='trending_up'] {
  border-color: rgba(63, 185, 80, 0.35);
}
.chart-decision-strip[data-decision-state='trending_down'] {
  border-color: rgba(248, 81, 73, 0.35);
}
.chart-decision-strip[data-decision-state='ranging'] {
  border-color: rgba(210, 168, 255, 0.28);
}
.chart-decision-strip[data-decision-freshness='delayed'] {
  border-color: rgba(210, 153, 34, 0.35);
}
.chart-decision-strip[data-decision-freshness='stale'] {
  border-color: rgba(248, 81, 73, 0.32);
}
.chart-decision-strip--skeleton {
  opacity: 0.78;
  animation: chart-decision-pulse 1.4s ease-in-out infinite;
}
@keyframes chart-decision-pulse {
  0%,
  100% {
    opacity: 0.72;
  }
  50% {
    opacity: 0.92;
  }
}
.chart-decision-symbol-class {
  margin-top: 4px;
  font-size: 9px;
  line-height: 1.35;
  color: rgba(139, 148, 158, 0.95);
  font-weight: 600;
}
.chart-decision-secondary-pack {
  margin-top: 10px;
  padding: 8px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.chart-decision-secondary-summary {
  cursor: pointer;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(121, 192, 255, 0.88);
  list-style-position: outside;
  margin-bottom: 8px;
}
.chart-decision-secondary-summary:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.65);
  outline-offset: 2px;
  border-radius: 4px;
}
@media (max-width: 640px) {
  .chart-decision-tier--primary .chart-decision-score-details:not([open]) {
    max-height: none;
  }
  .chart-decision-headline {
    font-size: 11px;
  }
  .chart-decision-scoreline {
    font-size: 17px;
  }
}
.chart-decision-freshness-row {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 10px;
  line-height: 1.45;
  color: rgba(201, 209, 217, 0.82);
}
.chart-decision-freshness-meta {
  display: block;
}
.chart-decision-score-trend {
  margin-top: 6px;
  font-size: 10px;
  line-height: 1.4;
  color: rgba(121, 192, 255, 0.92);
}
.chart-decision-score-details {
  margin-top: 6px;
}
.chart-decision-score-summary {
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  color: #79c0ff;
  list-style-position: outside;
}
.chart-decision-score-summary:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.65);
  outline-offset: 2px;
  border-radius: 4px;
}
.chart-decision-provenance-body {
  margin-top: 6px;
  padding: 8px 10px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(88, 166, 255, 0.15);
  font-size: 9px;
  line-height: 1.45;
  color: rgba(201, 209, 217, 0.92);
}
.chart-decision-prov-line + .chart-decision-prov-line {
  margin-top: 4px;
}
.chart-decision-invalidation {
  margin: 8px 0 0;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid rgba(248, 81, 73, 0.55);
  background: rgba(248, 81, 73, 0.12);
  font-size: 12px;
  line-height: 1.35;
  color: var(--text-primary, #e6edf3);
}

.chart-decision-invalidation[hidden] {
  display: none !important;
}

.chart-decision-invalidation-title {
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.06em;
  margin-bottom: 4px;
}

.chart-decision-invalidation-list {
  margin: 0;
  padding-left: 18px;
}

.chart-decision-invalidation-list li {
  margin: 2px 0;
}

.chart-decision-timing-window {
  margin: 6px 0 0;
  font-size: 11px;
  line-height: 1.35;
  color: var(--accent-blue, #58a6ff);
}

.chart-decision-calibration-note {
  margin: 6px 0 0;
  font-size: 10px;
  line-height: 1.35;
  color: var(--text-secondary, #8b949e);
}

.chart-decision-strip--invalidated .chart-decision-headline {
  color: var(--accent-red, #f85149);
}

.chart-decision-strip--score-hot .chart-decision-scoreline {
  animation: chart-decision-score-hot-pulse 2.2s ease-in-out infinite;
}

@keyframes chart-decision-score-hot-pulse {
  0%,
  100% {
    opacity: 1;
    filter: brightness(1);
  }
  50% {
    opacity: 0.92;
    filter: brightness(1.15);
  }
}

.chart-decision-secondary-pack.chart-decision-secondary-pack--dim .chart-decision-provenance-body,
.chart-decision-secondary-pack.chart-decision-secondary-pack--dim .chart-decision-freshness-meta {
  opacity: 0.72;
}

.chart-decision-signal-lifecycle {
  display: inline-block;
  margin-right: 6px;
  padding: 1px 5px;
  border-radius: 4px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  vertical-align: middle;
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-secondary, #8b949e);
}

.chart-decision-signal-lifecycle--detected {
  color: var(--accent-orange, #d29922);
}

.chart-decision-signal-lifecycle--active {
  color: var(--accent-blue, #58a6ff);
}

.chart-decision-signal-lifecycle--confirmed {
  color: var(--accent-green, #3fb950);
}

.chart-decision-signal-lifecycle--expired {
  color: var(--text-secondary, #6e7681);
}

@keyframes chart-decision-signal-pulse {
  0%,
  100% {
    box-shadow: inset 3px 0 0 rgba(63, 185, 80, 0.35);
    background-color: transparent;
  }
  50% {
    box-shadow: inset 3px 0 0 rgba(63, 185, 80, 0.85);
    background-color: rgba(63, 185, 80, 0.06);
  }
}

.chart-decision-signal-row--pulse {
  animation: chart-decision-signal-pulse 1.25s ease-in-out 2;
}

.chart-decision-outcome-summary {
  margin: 8px 0 0;
  font-size: 10px;
  line-height: 1.45;
  color: rgba(163, 209, 255, 0.92);
  font-weight: 500;
}

.chart-decision-outcome-summary:empty {
  display: none;
}

.chart-decision-conflicts {
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(248, 81, 73, 0.28);
  background: rgba(248, 81, 73, 0.06);
}
.chart-decision-conflicts-title {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ffb1ab;
  margin-bottom: 6px;
}
.chart-decision-conflicts-list {
  margin: 0;
  padding-left: 18px;
  font-size: 10px;
  line-height: 1.45;
  color: #f0f6fc;
}
.chart-decision-kicker--sub {
  margin-top: 8px;
  margin-bottom: 2px;
}
.chart-decision-mode-integrity {
  display: inline-flex;
  align-items: center;
  align-self: center;
  margin-right: 10px;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(201, 209, 217, 0.92);
  background: rgba(139, 148, 158, 0.12);
  border: 1px solid rgba(139, 148, 158, 0.28);
  max-width: 220px;
}
.chart-decision-mode-integrity[data-integrity='modified'] {
  border-color: rgba(210, 153, 34, 0.45);
  color: #e3b341;
  background: rgba(210, 153, 34, 0.08);
}
.chart-decision-mode-integrity[data-integrity='pure'] {
  border-color: rgba(63, 185, 80, 0.35);
  color: #aff5c4;
  background: rgba(63, 185, 80, 0.08);
}
.chart-decision-signal-pri {
  display: inline-block;
  min-width: 2.5em;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(210, 168, 255, 0.95);
}
.chart-decision-signal-row--major {
  border-left-color: rgba(63, 185, 80, 0.65);
}
.chart-decision-signal-row--low {
  border-left-color: rgba(139, 148, 158, 0.45);
}
.chart-decision-ai-rail {
  margin: 2px 0 0;
  font-size: 9px;
  line-height: 1.4;
  color: rgba(163, 113, 247, 0.75);
  font-weight: 500;
}
.chart-decision-ai--stale {
  border-color: rgba(210, 153, 34, 0.45);
  background: rgba(210, 153, 34, 0.05);
}
.chart-decision-exec-source {
  font-size: 9px;
  line-height: 1.4;
  color: rgba(139, 148, 158, 0.95);
  margin-bottom: 6px;
}
.chart-decision-exec-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 0;
}
.chart-decision-mode-btn:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.75);
  outline-offset: 2px;
}
.chart-decision-tier--primary {
  display: grid;
  grid-template-columns: 1.25fr 0.95fr 1fr;
  gap: 12px 14px;
  align-items: start;
}
@media (max-width: 1100px) {
  .chart-decision-tier--primary {
    grid-template-columns: 1fr;
  }
}
.chart-decision-kicker {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(139, 148, 158, 0.95);
  margin-bottom: 4px;
}
.chart-decision-kicker--inline {
  display: block;
  margin-bottom: 6px;
}
.chart-decision-headline {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #f0f6fc;
  line-height: 1.25;
}
.chart-decision-subrow {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: 6px;
  font-size: 10px;
  color: rgba(201, 209, 217, 0.88);
}
.chart-decision-dot {
  opacity: 0.45;
}
.chart-decision-scoreline {
  font-size: 20px;
  font-weight: 800;
  color: #58a6ff;
  letter-spacing: -0.02em;
}
.chart-decision-breakdown {
  margin-top: 6px;
  font-size: 10px;
  line-height: 1.45;
  color: rgba(139, 148, 158, 0.95);
}
.chart-decision-bias-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  background: rgba(139, 148, 158, 0.15);
  color: #c9d1d9;
  border: 1px solid rgba(139, 148, 158, 0.35);
}
.chart-decision-bias-pill--bull {
  background: rgba(63, 185, 80, 0.12);
  color: #aff5c4;
  border-color: rgba(63, 185, 80, 0.4);
}
.chart-decision-bias-pill--bear {
  background: rgba(248, 81, 73, 0.12);
  color: #ffb1ab;
  border-color: rgba(248, 81, 73, 0.4);
}
.chart-decision-readout {
  margin-top: 8px;
  font-size: 10px;
  line-height: 1.45;
  color: rgba(201, 209, 217, 0.92);
}
.chart-decision-tier--modes {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.chart-decision-mode-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.chart-decision-mode-btn {
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
}
.chart-decision-mode-btn--active {
  border-color: rgba(63, 185, 80, 0.55) !important;
  background: rgba(63, 185, 80, 0.14) !important;
  color: #aff5c4 !important;
  box-shadow: 0 0 10px rgba(63, 185, 80, 0.2);
}
.chart-decision-auto-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  font-size: 10px;
  font-weight: 600;
  color: rgba(139, 148, 158, 0.95);
  cursor: pointer;
  user-select: none;
}
.chart-decision-auto-label input {
  accent-color: #58a6ff;
}
.chart-decision-ai {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(163, 113, 247, 0.28);
  background: rgba(163, 113, 247, 0.06);
}
.chart-decision-ai-body {
  margin: 4px 0 0;
  font-size: 10px;
  line-height: 1.5;
  color: #e6edf3;
  font-weight: 500;
}
.chart-decision-ai-meta {
  margin: 6px 0 0;
  font-size: 9px;
  line-height: 1.4;
  color: rgba(210, 168, 255, 0.85);
}
.chart-decision-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
  font-size: 0.92em;
  color: rgba(201, 209, 217, 0.95);
}
.chart-decision-ai[data-ai-state='loading'] {
  border-color: rgba(88, 166, 255, 0.35);
}
.chart-decision-ai-skeleton {
  margin: 8px 0 4px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.chart-decision-ai-skel-line {
  height: 8px;
  border-radius: 4px;
  background: linear-gradient(
    90deg,
    rgba(139, 148, 158, 0.15) 0%,
    rgba(163, 113, 247, 0.22) 50%,
    rgba(139, 148, 158, 0.15) 100%
  );
  background-size: 200% 100%;
  animation: chart-decision-ai-shimmer 1.1s ease-in-out infinite;
}
.chart-decision-ai-skel-line--mid {
  width: 92%;
}
.chart-decision-ai-skel-line--short {
  width: 55%;
}
@keyframes chart-decision-ai-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}
.chart-decision-signals {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px dashed rgba(88, 166, 255, 0.2);
}
.chart-decision-signals-title {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #d29922;
  margin-bottom: 6px;
}
.chart-decision-signal-row {
  font-size: 10px;
  color: #f0f6fc;
  padding: 3px 0;
  border-left: 2px solid rgba(210, 168, 255, 0.5);
  padding-left: 8px;
  margin-bottom: 4px;
}
.chart-decision-execution {
  margin-top: 8px;
  font-size: 10px;
  line-height: 1.5;
  color: rgba(201, 209, 217, 0.95);
}
.chart-decision-exec-title {
  font-weight: 800;
  color: #79c0ff;
  margin-right: 6px;
}
.chart-decision-exec-chip {
  display: inline-block;
  margin-right: 8px;
  padding: 2px 8px;
  border-radius: 6px;
  background: rgba(88, 166, 255, 0.1);
  border: 1px solid rgba(88, 166, 255, 0.25);
}
.chart-decision-exec-muted {
  color: rgba(139, 148, 158, 0.9);
  font-size: 10px;
}

.chart-toolbar__ind-insight {
  flex: 1 1 160px;
  min-width: 120px;
  max-width: 420px;
  font-size: 9px;
  line-height: 1.35;
  color: rgba(201, 209, 217, 0.9);
  font-weight: 500;
}
.chart-toolbar__ind-insight--wide {
  flex: 1 1 220px;
  max-width: 520px;
}

.chart-toolbar__indicators-tray .chart-toolbar__indicators-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

.chart-toolbar__indicators-summary-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.chart-toolbar__indicators-count {
  font-size: 10px;
  font-weight: 700;
  color: var(--accent-blue);
}

.chart-toolbar__indicators-preview {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.chart-toolbar__ind-preview-chip {
  display: inline-block;
  font-size: 9px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(63, 185, 80, 0.35);
  background: rgba(63, 185, 80, 0.1);
  color: #aff5c4;
}

.chart-toolbar__ind-preview-more {
  font-size: 9px;
  font-weight: 700;
  color: var(--text-secondary);
  padding: 2px 4px;
}

.chart-toolbar__indicators-categories {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
  padding-top: 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.chart-toolbar__indicators-cat-label {
  display: block;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

.chart-toolbar__ind-cat-hint {
  margin: 0 0 8px;
  font-size: 10px;
  line-height: 1.4;
  color: rgba(139, 148, 158, 0.95);
  max-width: 52rem;
}

.chart-toolbar__ind-chiprow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  width: 100%;
  margin-bottom: 4px;
}

.chart-toolbar__ind-spark {
  flex: 1 1 100px;
  max-width: 140px;
  height: 28px;
  border-radius: 4px;
  background: rgba(13, 17, 23, 0.65);
  border: 1px solid rgba(48, 54, 61, 0.85);
  vertical-align: middle;
}

.chart-toolbar__live-pill {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  padding: 4px 9px;
  border-radius: 6px;
  background: linear-gradient(135deg, rgba(63, 185, 80, 0.28), rgba(88, 166, 255, 0.18));
  border: 1px solid rgba(63, 185, 80, 0.4);
  color: #b6f0c8;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2) inset;
}

@media (prefers-reduced-motion: no-preference) {
  .chart-toolbar__live-pill {
    animation: chart-live-pulse 3.6s ease-in-out infinite;
  }
}

@media (prefers-reduced-motion: reduce) {
  .chart-toolbar__live-pill {
    box-shadow:
      0 0 0 1px rgba(0, 0, 0, 0.25) inset,
      0 0 0 1px rgba(63, 185, 80, 0.22);
  }
}

@keyframes chart-live-pulse {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(0, 0, 0, 0.2) inset,
      0 0 0 0 rgba(63, 185, 80, 0.15);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(0, 0, 0, 0.2) inset,
      0 0 12px 1px rgba(63, 185, 80, 0.18);
  }
}

.chart-toolbar__title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--text-primary);
}

.chart-toolbar__title-muted {
  color: var(--text-secondary);
  font-weight: 600;
}

.chart-toolbar__title-symbol {
  background: linear-gradient(92deg, #6eb8ff 0%, #9ed2ff 38%, #b8a0ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.chart-toolbar__ghost-btn {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid rgba(88, 166, 255, 0.35);
  background: rgba(88, 166, 255, 0.08);
  color: var(--accent-blue);
  cursor: pointer;
  transition:
    background var(--ps-motion-duration-fast) var(--ps-motion-easing-standard),
    border-color var(--ps-motion-duration-fast) var(--ps-motion-easing-standard),
    transform var(--ps-motion-duration-fast) var(--ps-motion-easing-standard);
}
.chart-toolbar__ghost-btn:hover {
  background: rgba(88, 166, 255, 0.18);
  transform: translateY(-1px);
}

.chart-toolbar__ghost-btn:focus {
  outline: none;
}

.chart-toolbar__ghost-btn:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.75);
  outline-offset: 2px;
}

.chart-toolbar__ghost-btn--controls:focus-visible {
  outline-color: rgba(200, 168, 255, 0.95);
}

.chart-toolbar__tf-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
}

.chart-tf-seg {
  display: inline-flex;
  border-radius: 8px;
  padding: 3px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.06);
  gap: 2px;
}

.chart-tf-seg .tab-btn,
.chart-range-seg .tab-btn {
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.chart-tf-seg .tab-btn:hover,
.chart-range-seg .tab-btn:hover {
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.04);
}
.chart-tf-seg .tab-btn.active,
.chart-range-seg .tab-btn.active {
  color: #0a0e14;
  background: linear-gradient(180deg, #6eb8ff, #2f8ff7);
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.45),
    0 2px 10px rgba(88, 166, 255, 0.28);
}

.chart-tf-seg .tab-btn:focus-visible,
.chart-range-seg .tab-btn:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.85);
  outline-offset: 2px;
}

.chart-toolbar__field {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.chart-toolbar__field-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-secondary);
}
.chart-toolbar__select {
  background: rgba(0, 0, 0, 0.35);
  color: var(--text-primary);
  border: 1px solid rgba(88, 166, 255, 0.35);
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 600;
  min-width: 120px;
  cursor: pointer;
}
.chart-toolbar__select:focus {
  outline: none;
  border-color: rgba(88, 166, 255, 0.65);
  box-shadow: 0 0 0 2px rgba(88, 166, 255, 0.15);
}

.chart-toolbar__select:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.65);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(88, 166, 255, 0.12);
}

.chart-toolbar__pod {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.chart-toolbar__pod-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-secondary);
}
.chart-toolbar__pod-label--ai {
  background: linear-gradient(90deg, #a371f7, #58a6ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.chart-toolbar__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.chart-toolbar__chips--wrap {
  max-height: 72px;
  overflow-y: auto;
  padding-right: 4px;
}

.chart-toggle-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
}
.chart-toggle-chip input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.chart-toggle-chip span {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(88, 166, 255, 0.2);
  background: rgba(88, 166, 255, 0.06);
  color: var(--text-secondary);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.chart-toggle-chip input:checked + span {
  border-color: rgba(63, 185, 80, 0.55);
  background: linear-gradient(180deg, rgba(63, 185, 80, 0.35), rgba(63, 185, 80, 0.12));
  color: #aff5c4;
  box-shadow: 0 0 12px rgba(63, 185, 80, 0.15);
}
.chart-toggle-chip:hover span {
  border-color: rgba(88, 166, 255, 0.45);
  color: var(--text-primary);
}

.chart-toggle-chip input:focus-visible + span {
  outline: 2px solid rgba(88, 166, 255, 0.75);
  outline-offset: 2px;
}
.chart-toggle-chip--cyan span { border-color: rgba(88, 166, 255, 0.35); }
.chart-toggle-chip--purple span { border-color: rgba(156, 39, 176, 0.35); }
.chart-toggle-chip--violet span { border-color: rgba(210, 168, 255, 0.35); }
.chart-toggle-chip--amber span { border-color: rgba(210, 153, 34, 0.4); }
.chart-toggle-chip--lime span { border-color: rgba(63, 185, 80, 0.35); }
.chart-toggle-chip--teal span { border-color: rgba(0, 188, 212, 0.38); }
.chart-toggle-chip--slate span { border-color: rgba(139, 148, 158, 0.4); }
.chart-toggle-chip--blue span { border-color: rgba(88, 166, 255, 0.38); }
.chart-toggle-chip--orchid span { border-color: rgba(167, 139, 250, 0.42); }

.chart-toolbar__pod--nav {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}
.chart-toolbar__nav-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.chart-toolbar__btn {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-primary);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}
.chart-toolbar__btn:hover {
  background: rgba(88, 166, 255, 0.12);
  border-color: rgba(88, 166, 255, 0.25);
}
.chart-toolbar__btn--accent {
  background: linear-gradient(180deg, rgba(88, 166, 255, 0.35), rgba(88, 166, 255, 0.12));
  border-color: rgba(88, 166, 255, 0.45);
  color: #e6edf3;
}

.chart-toolbar__btn--warn {
  border-color: rgba(210, 153, 34, 0.4);
  background: rgba(210, 153, 34, 0.14);
  color: #f2cc60;
}

.chart-toolbar__btn--warn:hover {
  background: rgba(210, 153, 34, 0.22);
  border-color: rgba(210, 153, 34, 0.58);
}

.chart-toolbar__btn--danger {
  border-color: rgba(248, 81, 73, 0.45);
  background: rgba(248, 81, 73, 0.1);
  color: #ffa198;
}
.chart-toolbar__btn--danger:hover {
  background: rgba(248, 81, 73, 0.2);
}

.chart-toolbar__btn--danger-strong {
  border-color: rgba(248, 81, 73, 0.72);
  background: linear-gradient(180deg, rgba(248, 81, 73, 0.42), rgba(139, 26, 26, 0.9));
  color: #fff5f5;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.chart-toolbar__btn--danger-strong:hover {
  background: linear-gradient(180deg, rgba(248, 81, 73, 0.55), rgba(139, 26, 26, 1));
}

.chart-toolbar__btn:focus {
  outline: none;
}

.chart-toolbar__btn:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.8);
  outline-offset: 2px;
}

.chart-toolbar__btn--accent:focus-visible {
  outline-color: rgba(147, 197, 253, 0.95);
}

.chart-toolbar__btn--warn:focus-visible {
  outline-color: rgba(242, 204, 96, 0.95);
}

.chart-toolbar__btn--danger:focus-visible,
.chart-toolbar__btn--danger-strong:focus-visible {
  outline-color: rgba(255, 161, 152, 0.95);
}

.chart-workspace-mode__btn:focus {
  outline: none;
}

.chart-workspace-mode__btn:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.75);
  outline-offset: 2px;
}

.chart-toolbar__latency,
.chart-toolbar__status-pill,
.chart-toolbar__session-pill {
  font-variant-numeric: tabular-nums;
}

.chart-range-seg {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 2px;
  padding: 3px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.chart-toolbar__history-status {
  font-size: 10px;
  color: var(--text-secondary);
  margin-left: auto;
}

.chart-toolbar__side-hint {
  width: 100%;
  flex-basis: 100%;
  margin: 0;
  font-size: 10px;
  line-height: 1.35;
  color: var(--text-secondary);
  opacity: 0.9;
}

.chart-range-seg--scroll {
  max-width: 100%;
  overflow-x: auto;
  flex-wrap: nowrap;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.chart-range-seg--scroll .tab-btn {
  flex-shrink: 0;
}

.chart-refresh-progress {
  width: 100%;
  padding: 0 2px 6px;
  box-sizing: border-box;
}

.chart-refresh-progress__track {
  height: 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  overflow: hidden;
}

.chart-refresh-progress__fill {
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(88, 166, 255, 0.95), rgba(63, 185, 80, 0.9));
  transition: width 0.22s ease-out;
}

.chart-refresh-progress__label {
  display: block;
  font-size: 9px;
  color: var(--text-secondary);
  margin-top: 3px;
  padding: 0 2px;
}

.chart-toolbar__ai-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
  gap: 8px;
}

.chart-toolbar__ai-btn {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.15s ease;
}
.chart-toolbar__ai-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
.chart-toolbar__ai-btn--assistant {
  background: linear-gradient(135deg, rgba(88, 166, 255, 0.35), rgba(163, 113, 247, 0.35));
  border-color: rgba(88, 166, 255, 0.45);
  color: #e6edf3;
}
.chart-toolbar__ai-btn--picks {
  background: linear-gradient(135deg, rgba(63, 185, 80, 0.35), rgba(88, 166, 255, 0.2));
  border-color: rgba(63, 185, 80, 0.45);
  color: #e6edf3;
}
.chart-toolbar__ai-btn--prefs {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
  color: var(--text-primary);
}
.chart-toolbar__ai-btn--stack {
  background: linear-gradient(135deg, rgba(210, 153, 34, 0.4), rgba(248, 81, 73, 0.15));
  border-color: rgba(210, 153, 34, 0.45);
  color: #ffdf9a;
}
.chart-toolbar__ai-btn--regime {
  background: rgba(163, 113, 247, 0.2);
  border-color: rgba(163, 113, 247, 0.45);
  color: #d2b8ff;
}
.chart-toolbar__ai-btn--explain {
  background: rgba(88, 166, 255, 0.15);
  border-color: rgba(88, 166, 255, 0.4);
  color: #79c0ff;
}

.chart-toolbar__quote-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding: 10px 12px;
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.35), rgba(88, 166, 255, 0.06));
  border: 1px solid rgba(88, 166, 255, 0.12);
  font-size: 11px;
  color: var(--text-secondary);
}

.chart-toolbar__quote-sym {
  font-weight: 800;
  color: var(--text-primary);
  font-size: 12px;
}

.chart-toolbar__quote-chg {
  font-weight: 700;
}

.chart-toolbar__feed-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 3px 8px;
  border-radius: 4px;
}

.chart-toolbar__tick-age {
  font-size: 9px;
  font-weight: 600;
  color: var(--text-secondary);
}

.chart-toolbar__pod--draw {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  border-color: rgba(163, 113, 247, 0.15);
  background: linear-gradient(90deg, rgba(163, 113, 247, 0.06), rgba(0, 0, 0, 0.2));
}

.chart-draw-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  flex: 1;
  min-width: 0;
}

.chart-draw-btn.chart-tool-btn {
  width: 34px;
  height: 32px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  border-radius: 4px;
  border: 1px solid rgba(88, 166, 255, 0.12);
  background: rgba(0, 0, 0, 0.2);
  color: var(--text-primary);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.chart-draw-btn.chart-tool-btn:hover {
  border-color: rgba(88, 166, 255, 0.45);
  background: rgba(88, 166, 255, 0.1);
}
.chart-draw-btn.chart-tool-btn.active {
  border-color: rgba(88, 166, 255, 0.65);
  background: linear-gradient(180deg, rgba(88, 166, 255, 0.35), rgba(88, 166, 255, 0.12));
  box-shadow: 0 0 12px rgba(88, 166, 255, 0.25);
}

.chart-draw-clear {
  margin-left: 4px;
}

.chart-tool-status-pill {
  font-size: 10px;
  font-weight: 600;
  margin-left: auto;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: var(--accent-blue);
  max-width: min(100%, 280px);
  text-align: right;
}

.chart-tool-status-pill--compact {
  margin-left: 0;
  padding: 5px 10px;
  max-width: none;
  text-align: left;
  font-size: 10px;
}

.chart-toolbar__details {
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.chart-toolbar__details-summary {
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-secondary);
  list-style: none;
}
.chart-toolbar__details-summary::-webkit-details-marker { display: none; }
.chart-toolbar__details-summary::before {
  content: '▸';
  display: inline-block;
  margin-right: 6px;
  transition: transform 0.15s ease;
  color: var(--accent-blue);
}
.chart-toolbar__details[open] .chart-toolbar__details-summary::before {
  transform: rotate(90deg);
}

.chart-toolbar__details-meta {
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: var(--text-secondary);
  opacity: 0.85;
  font-size: 9px;
  margin-left: 6px;
}

.chart-toolbar__details .chart-toolbar__chips {
  margin-top: 10px;
}

@media (max-width: 768px) {
  .ai-assistant-panel {
    width: 100%;
    max-width: 100%;
  }
  .ai-assistant-bubble {
    bottom: 16px;
    right: 16px;
  }
  .chart-toolbar__pod--nav {
    flex-direction: column;
    align-items: stretch;
  }
  .chart-toolbar__history-status {
    margin-left: 0;
  }
}

/* Right rail width is applied via --pitstrike-layout-right-px from cockpit-split-layout.js (56px in rail mode). */

.layer2__left-sides.cockpit-left-dock {
  position: relative;
  z-index: var(--z-dock);
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  align-self: stretch;
  overflow: visible;
  border-radius: 12px;
  border: 1px solid rgba(88, 166, 255, 0.14);
  background: linear-gradient(165deg, rgba(13, 17, 23, 0.98), rgba(22, 27, 34, 0.94));
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.cockpit-left-dock__surface {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  border-radius: 12px;
}

.cockpit-left-dock__header {
  justify-content: space-between;
  gap: 6px;
}

.cockpit-left-dock__title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-secondary);
}
.cockpit-left-dock__rail {
  display: none;
  flex-direction: column;
  flex-shrink: 0;
  width: 56px;
  border-left: 1px solid rgba(88, 166, 255, 0.12);
  background: linear-gradient(180deg, rgba(13, 17, 23, 0.98), rgba(22, 27, 34, 0.92));
}

#layer2-cockpit[data-pitstrike-left='rail'] .cockpit-left-dock__rail {
  display: flex;
}

#layer2-cockpit[data-pitstrike-left='rail'] .cockpit-left-dock__surface,
#layer2-cockpit[data-pitstrike-left='rail'] .cockpit-left-dock__resize-grip {
  display: none !important;
}

#layer2-cockpit[data-pitstrike-left='closed'] .cockpit-left-dock__surface,
#layer2-cockpit[data-pitstrike-left='closed'] .cockpit-left-dock__resize-grip,
#layer2-cockpit[data-pitstrike-left='closed'] .cockpit-left-dock__rail {
  display: none !important;
}

#layer2-cockpit[data-pitstrike-left!='expanded'] .cockpit-left-dock__resize-grip {
  display: none !important;
}

#layer2-cockpit[data-pitstrike-right='closed'] .cockpit-right-dock__surface,
#layer2-cockpit[data-pitstrike-right='closed'] .cockpit-right-dock__resize-grip,
#layer2-cockpit[data-pitstrike-right='closed'] .cockpit-right-dock__rail {
  display: none !important;
}

.cockpit-dock-header-trail {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.cockpit-dock-aux-btn {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.2);
  color: var(--text-primary);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.cockpit-dock-aux-btn:hover {
  background: rgba(88, 166, 255, 0.12);
  border-color: rgba(88, 166, 255, 0.35);
}

.cockpit-split-restore-fab {
  position: absolute;
  z-index: 4;
  top: 50%;
  transform: translateY(-50%);
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(88, 166, 255, 0.45);
  background: rgba(13, 17, 23, 0.92);
  color: #79c0ff;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
}

.cockpit-split-restore-fab--left {
  left: 6px;
}

.cockpit-split-restore-fab--right {
  right: 6px;
}

.chart-toolbar__left-toggle.chart-toolbar__side-toggle {
  border-color: rgba(210, 168, 255, 0.45) !important;
  background: rgba(210, 168, 255, 0.1) !important;
  color: #e6d2ff !important;
}

/* During drag, disable transitions on cockpit panes so resize stays smooth */
.pitstrike-cockpit--resizing .cockpit-left-dock,
.pitstrike-cockpit--resizing .cockpit-right-dock,
.pitstrike-cockpit--resizing .layer2__chart {
  transition: none !important;
}

.layer2__sides.cockpit-right-dock {
  position: relative;
  z-index: var(--z-dock); /* 20000 — beats all chart layers, below nav (30000) */
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  align-self: stretch;
  overflow: visible; /* allow internal dropdowns/popovers to escape dock bounds */
  border-radius: 12px;
  border: 1px solid rgba(88, 166, 255, 0.14);
  background: linear-gradient(165deg, rgba(13, 17, 23, 0.98), rgba(22, 27, 34, 0.94));
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

/* Drag between chart and dock to change dock width (Trading / Strategies / News). */
.cockpit-right-dock__resize-grip {
  flex: 0 0 auto;
  width: 10px;
  margin-left: -5px;
  margin-right: -5px;
  z-index: 3;
  cursor: ew-resize;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  align-self: stretch;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(88, 166, 255, 0.12) 35%,
    rgba(121, 192, 255, 0.35) 50%,
    rgba(88, 166, 255, 0.12) 65%,
    transparent 100%
  );
  box-shadow: inset 0 0 0 1px rgba(88, 166, 255, 0.08);
}

.cockpit-right-dock__resize-grip:hover,
.cockpit-right-dock__resize-grip:focus-visible {
  outline: none;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(88, 166, 255, 0.2) 30%,
    rgba(121, 192, 255, 0.55) 50%,
    rgba(88, 166, 255, 0.2) 70%,
    transparent 100%
  );
  box-shadow:
    inset 0 0 0 1px rgba(121, 192, 255, 0.35),
    0 0 14px rgba(56, 139, 253, 0.25);
}

.cockpit-right-dock__resize-grip--active {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(121, 192, 255, 0.35) 45%,
    rgba(255, 255, 255, 0.5) 50%,
    rgba(121, 192, 255, 0.35) 55%,
    transparent 100%
  );
}

.layer2--sides-collapsed .cockpit-right-dock__resize-grip {
  display: none !important;
}

body.chart-popout-active .cockpit-right-dock__resize-grip {
  display: none !important;
}

@media (max-width: 880px) {
  .cockpit-right-dock__resize-grip {
    display: none !important;
  }
}

.cockpit-right-dock__surface {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;   /* clips content to the dock surface; keeps radius clean */
  border-radius: 12px;
}

.layer2--sides-collapsed .cockpit-right-dock__surface {
  display: none !important;
}

.cockpit-dock-header {
  position: relative;
  z-index: var(--z-overlay); /* floats above dock body + chart so its own popovers escape */
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(88, 166, 255, 0.12);
  background: linear-gradient(180deg, rgba(88, 166, 255, 0.08), rgba(88, 166, 255, 0.02));
}

.cockpit-dock-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.06);
  flex: 1;
  min-width: 0;
  flex-wrap: wrap;
}

.cockpit-dock-tab {
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.cockpit-dock-tab:hover {
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.04);
}

.cockpit-dock-tab.is-active {
  color: #0b0f14;
  background: linear-gradient(180deg, #79c0ff, #58a6ff);
  box-shadow: 0 2px 10px rgba(88, 166, 255, 0.35);
}

.cockpit-dock-collapse {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.2);
  color: var(--text-primary);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.cockpit-dock-collapse:hover {
  background: rgba(88, 166, 255, 0.12);
  border-color: rgba(88, 166, 255, 0.35);
}

.cockpit-dock-body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.cockpit-dock-tabpanel {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.cockpit-dock-tabpanel[hidden] {
  display: none !important;
}

.panel.cockpit-panel-inner {
  border: none;
  background: transparent;
  box-shadow: none;
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.cockpit-right-dock__rail {
  display: none;
  flex-direction: column;
  flex-shrink: 0;
  width: 56px;
  border-left: 1px solid rgba(88, 166, 255, 0.12);
  background: linear-gradient(180deg, rgba(13, 17, 23, 0.98), rgba(22, 27, 34, 0.92));
}

.layer2--sides-collapsed .cockpit-right-dock__rail {
  display: flex;
}

.cockpit-rail-btn {
  flex: 1;
  min-height: 0;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background: transparent;
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.cockpit-rail-btn:last-child {
  border-bottom: none;
}

.cockpit-rail-btn:hover {
  color: var(--text-primary);
  background: rgba(88, 166, 255, 0.08);
}

.cockpit-rail-btn.cockpit-rail-btn--active {
  color: #79c0ff;
  background: rgba(88, 166, 255, 0.12);
  box-shadow: inset 3px 0 0 #58a6ff;
}

.chart-toolbar__side-toggle {
  border-color: rgba(63, 185, 80, 0.45) !important;
  background: rgba(63, 185, 80, 0.12) !important;
  color: #aff5c4 !important;
}

.layer2--sides-collapsed .chart-toolbar__side-toggle {
  border-color: rgba(88, 166, 255, 0.55) !important;
  background: rgba(88, 166, 255, 0.18) !important;
  color: #79c0ff !important;
}

/* --- Footer intelligence rail (bottom dock) --- */
.dock-intelligence {
  flex: 0 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 5px 8px 4px;
  background: linear-gradient(180deg, rgba(22, 27, 34, 0.98), rgba(13, 17, 23, 0.96));
  border-bottom: 1px solid rgba(88, 166, 255, 0.15);
  transition: border-bottom-color 0.2s ease;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Feed visibility toggles: multi-select; each enabled feed is its own row below */
.dock-intel-feed-toggles {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  padding: 4px 2px 8px;
  margin: 0 0 2px;
  border-bottom: 1px solid rgba(88, 166, 255, 0.12);
}

.dock-intel-feed-toggles__label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin-right: 2px;
}

.dock-intel-feed-toggle {
  font: inherit;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(88, 166, 255, 0.22);
  background: rgba(0, 0, 0, 0.25);
  color: var(--text-secondary);
  cursor: pointer;
  flex: 0 0 auto;
}

.dock-intel-feed-toggle:hover {
  color: var(--text-primary);
  border-color: rgba(88, 166, 255, 0.4);
}

.dock-intel-feed-toggle.is-on {
  color: #0b0f14;
  background: linear-gradient(180deg, #79c0ff, #58a6ff);
  border-color: rgba(88, 166, 255, 0.55);
  box-shadow: 0 2px 8px rgba(88, 166, 255, 0.25);
}

.dock-intel-feed-toggle:not(.is-on) {
  opacity: 0.72;
}

/* Stacked feeds: one full-width row per visible section */
.dock-intel-rails.dock-intel-rails--stacked {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  min-height: 0;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

.dock-intel-rails--stacked .dock-intel-section {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* Legacy horizontal rails (embeds / older HTML) */
.dock-intel-rails:not(.dock-intel-rails--stacked) {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 6px;
  min-height: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.dock-intel-rails:not(.dock-intel-rails--stacked) .dock-intel-section {
  flex: 1 1 0;
  min-width: 132px;
  max-width: none;
  min-height: 0;
}

/** After a successful GET /api/footer/health probe (see footer-intelligence.js). */
html[data-footer-health-ok='1'] .dock-intelligence {
  border-bottom-color: rgba(63, 185, 80, 0.28);
}

.dock-intel-head-stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 6px;
}

.dock-intel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.dock-intel-head__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  max-width: min(920px, 100%);
}

.dock-hub-desk-meters {
  font-size: 9px;
  line-height: 1.35;
  color: var(--text-secondary, #8b949e);
  padding: 4px 2px 2px;
  border-top: 1px solid rgba(48, 54, 61, 0.55);
}
.dock-hub-desk-meters[aria-busy='true'] {
  opacity: 0.72;
}
.dock-hub-desk-meters__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}
.dock-hub-desk-meters__inner--fallback {
  gap: 6px 8px;
}
.dock-hub-desk-meters__label {
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #79b8ff;
  margin-right: 2px;
}
.dock-hub-desk-meters__chip {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(88, 166, 255, 0.28);
  background: rgba(88, 166, 255, 0.08);
  color: var(--text-primary, #e6edf3);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
.dock-hub-desk-meters__link {
  font-weight: 700;
  color: #79b8ff;
  text-decoration: none;
  margin-left: auto;
}
.dock-hub-desk-meters__link:hover {
  color: #fff;
  text-decoration: underline;
}
.dock-hub-desk-meters__hint {
  opacity: 0.85;
}
.dock-hub-desk-meters__warn {
  color: #f85149;
  font-weight: 600;
  max-width: 36ch;
}
.dock-hub-desk-meters__partial {
  display: block;
  width: 100%;
  font-size: 9px;
  color: #d29922;
  font-weight: 650;
  margin-bottom: 2px;
}

.dock-hub-desk-meters__legend {
  flex-basis: 100%;
  width: 100%;
  margin-top: 2px;
}

.dock-intel-meta-block {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  max-width: min(360px, 48vw);
  text-align: right;
}

.dock-intel-feed-meta {
  font-size: 9px;
  color: var(--text-secondary);
  line-height: 1.35;
  text-align: right;
  max-width: min(360px, 48vw);
}

.dock-intel-feed-meta--db {
  color: #c9d1d9;
  font-weight: 600;
}

.dock-intel-feed-meta--stories {
  color: #8b949e;
}

.dock-intel-feed-meta--warn {
  color: #f0883e;
}

.dock-intel-preset-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}

.dock-intel-preset-label {
  font-size: 8px;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-right: 2px;
}

.dock-intel-preset-btn {
  font-size: 9px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 5px;
  border: 1px solid #30363d;
  background: rgba(13, 17, 23, 0.85);
  color: #8b949e;
  cursor: pointer;
  font-family: inherit;
}

.dock-intel-preset-btn:hover {
  border-color: rgba(88, 166, 255, 0.45);
  color: #c9d1d9;
}

.dock-intel-preset-btn.is-active {
  border-color: rgba(63, 185, 80, 0.55);
  color: #3fb950;
  background: rgba(63, 185, 80, 0.12);
}

.dock-intel-refresh-btn {
  font-size: 10px;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid rgba(63, 185, 80, 0.4);
  background: rgba(63, 185, 80, 0.1);
  color: #3fb950;
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
}

.dock-intel-refresh-btn:hover:not(:disabled) {
  background: rgba(63, 185, 80, 0.2);
}

.dock-intel-refresh-btn:disabled {
  opacity: 0.65;
  cursor: wait;
}

.dock-intel-auto-refresh-label {
  font-size: 9px;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.dock-intel-auto-refresh {
  font-size: 9px;
  padding: 3px 6px;
  border-radius: 6px;
  border: 1px solid #30363d;
  background: rgba(13, 17, 23, 0.9);
  color: #8b949e;
  font-family: inherit;
  cursor: pointer;
  max-width: 80px;
}

.dock-intel-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #79c0ff;
  text-shadow: 0 0 14px rgba(88, 166, 255, 0.25);
}

.dock-intel-settings-btn {
  font-size: 10px;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid rgba(88, 166, 255, 0.35);
  background: rgba(88, 166, 255, 0.08);
  color: #c9d1d9;
  cursor: pointer;
}

.dock-intel-settings-btn:hover {
  background: rgba(88, 166, 255, 0.16);
}

.dock-intel-popout-btn {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid rgba(121, 192, 255, 0.35);
  background: rgba(121, 192, 255, 0.12);
  color: #79c0ff;
  cursor: pointer;
}

.dock-intel-popout-btn:hover {
  background: rgba(121, 192, 255, 0.2);
}

.dock-intel-ai-hub-btn {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid rgba(188, 140, 255, 0.45);
  background: rgba(188, 140, 255, 0.14);
  color: #d2b8ff;
  cursor: pointer;
  font-family: inherit;
}

.dock-intel-ai-hub-btn:hover {
  background: rgba(188, 140, 255, 0.24);
  border-color: rgba(188, 140, 255, 0.55);
}

/* AI Hub — right command drawer (Phase 1 shell) */
.ai-hub-drawer {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  pointer-events: none;
}

.ai-hub-drawer[hidden] {
  display: none !important;
}

.ai-hub-drawer:not([hidden]) {
  pointer-events: auto;
}

body.ai-hub-drawer-open {
  overflow: hidden;
}

.ai-hub-drawer__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(0, 0, 0, 0.45);
  pointer-events: auto;
}

.ai-hub-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: min(420px, 100vw);
  height: 100%;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  border-left: 1px solid rgba(88, 166, 255, 0.28);
  background: rgba(13, 17, 23, 0.98);
  box-shadow: -12px 0 48px rgba(0, 0, 0, 0.55);
  pointer-events: auto;
}

.ai-hub-drawer__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(88, 166, 255, 0.2);
  background: rgba(0, 0, 0, 0.28);
}

.ai-hub-drawer__title {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #d2b8ff;
}

.ai-hub-drawer__close {
  font-size: 12px;
  font-weight: 700;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.4);
  background: rgba(88, 166, 255, 0.1);
  color: var(--accent-blue);
  cursor: pointer;
  font-family: inherit;
}

.ai-hub-drawer__close:hover {
  background: rgba(88, 166, 255, 0.2);
}

.ai-hub-drawer__body {
  flex: 1 1 auto;
  overflow: auto;
  padding: 16px;
  color: var(--text-primary);
}

.ai-hub-drawer__lead {
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-secondary);
}

.ai-hub-drawer__list {
  margin: 0 0 18px;
  padding-left: 18px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.ai-hub-drawer__list li {
  margin-bottom: 6px;
}

.ai-hub-drawer__cta {
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  width: 100%;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid rgba(188, 140, 255, 0.45);
  background: rgba(188, 140, 255, 0.16);
  color: #e6d9ff;
  cursor: pointer;
  margin-bottom: 10px;
}

.ai-hub-drawer__cta:hover {
  background: rgba(188, 140, 255, 0.26);
}

.ai-hub-drawer__secondary {
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.35);
  background: rgba(88, 166, 255, 0.08);
  color: var(--accent-blue);
  cursor: pointer;
}

.ai-hub-drawer__secondary:hover {
  background: rgba(88, 166, 255, 0.16);
}

.ai-hub-drawer__status {
  margin: 0 0 8px;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-secondary);
}

.ai-hub-drawer__meta {
  margin: 0 0 10px;
  font-size: 10px;
  color: var(--text-secondary);
  opacity: 0.9;
}

.ai-hub-drawer__briefs {
  margin-bottom: 14px;
  max-height: min(52vh, 480px);
  overflow: auto;
  padding-right: 4px;
}

.ai-hub-drawer__desk-slot {
  margin-bottom: 10px;
}

.ai-hub-drawer-hero {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(88, 166, 255, 0.22);
  background: rgba(12, 16, 24, 0.55);
}

.ai-hub-drawer-hero--empty {
  border-style: dashed;
  border-color: rgba(48, 54, 61, 0.65);
  background: rgba(13, 17, 23, 0.35);
}

.ai-hub-drawer-hero__k {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #79b8ff;
  margin-bottom: 6px;
}

.ai-hub-drawer-hero__v {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-primary, #e6edf3);
}

.ai-hub-drawer__detail-slot {
  max-height: min(42vh, 380px);
  overflow: auto;
  padding-right: 4px;
  margin-bottom: 12px;
}

.ai-hub-drawer__muted {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-secondary);
}

.ai-hub-drawer-detail__inner .ai-hub-brief-card {
  margin-top: 0;
}

.ai-hub-drawer-signal-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ai-hub-cmd-strip--drawer {
  margin-bottom: 8px;
  padding: 10px 12px;
}

.ai-hub-cmd-strip--drawer .ai-hub-cmd-strip__primary {
  margin-bottom: 10px;
}

.ai-hub-cmd-strip--drawer .ai-hub-cmd-strip__meters {
  grid-template-columns: 1fr;
  gap: 8px;
}

.ai-hub-cmd-strip--drawer .ai-hub-cmd-meter__lbl {
  font-size: 10px;
}

.ai-hub-change-lane--drawer {
  margin-bottom: 8px;
  padding: 10px 12px;
}

.ai-hub-change-lane--drawer .ai-hub-change-lane__title {
  font-size: 11px;
  margin-bottom: 6px;
}

.ai-hub-exec-summary {
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.22);
  background: rgba(0, 0, 0, 0.2);
}

.ai-hub-exec-summary__title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #79c0ff;
  margin-bottom: 8px;
}

.ai-hub-exec-row {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 8px;
  font-size: 11px;
  line-height: 1.45;
  margin-bottom: 6px;
}

.ai-hub-exec-row:last-child {
  margin-bottom: 0;
}

.ai-hub-exec-row__k {
  color: var(--text-secondary);
  font-weight: 600;
}

.ai-hub-exec-row__v {
  color: var(--text-primary);
}

.ai-hub-brief-card-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ai-hub-brief-card {
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(48, 54, 61, 0.95);
  background: rgba(13, 17, 23, 0.65);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ai-hub-brief-card--rank-1 {
  padding: 14px 16px;
  border-color: rgba(88, 166, 255, 0.42);
  box-shadow: 0 0 0 1px rgba(88, 166, 255, 0.12), 0 10px 32px rgba(0, 0, 0, 0.38);
}

@media (prefers-reduced-motion: no-preference) {
  .ai-hub-brief-card--rank-1 {
    animation: ai-hub-leader-pulse 5s ease-in-out infinite;
  }
}

@keyframes ai-hub-leader-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 1px rgba(88, 166, 255, 0.12), 0 10px 32px rgba(0, 0, 0, 0.38);
  }
  50% {
    box-shadow: 0 0 0 1px rgba(88, 166, 255, 0.35), 0 12px 36px rgba(88, 166, 255, 0.12);
  }
}

.ai-hub-brief-card--rank-tier2 .ai-hub-brief-card__title {
  font-size: 12.5px;
}

.ai-hub-brief-story-theme {
  margin: 0 0 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #79c0ff;
}

.ai-hub-brief-thread-strip {
  margin: 0 0 10px;
  padding: 7px 10px 8px;
  border-radius: 8px;
  border: 1px solid rgba(63, 185, 80, 0.22);
  background: rgba(63, 185, 80, 0.06);
}

.ai-hub-brief-thread-strip__lbl {
  display: block;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #56d364;
  margin-bottom: 4px;
}

.ai-hub-brief-thread-strip__a {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  color: #58a6ff;
  text-decoration: none;
}

.ai-hub-brief-thread-strip__a:hover {
  text-decoration: underline;
}

.ai-hub-brief-thread-strip__meta {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  line-height: 1.35;
  color: var(--text-secondary);
  opacity: 0.9;
}

.ai-hub-brief-thread-strip__a:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.75);
  outline-offset: 2px;
  border-radius: 4px;
}

.ai-hub-signal-strength {
  margin: 6px 0 10px;
}

.ai-hub-signal-strength__label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-secondary, #8b949e);
  margin-bottom: 4px;
}

.ai-hub-signal-strength__track {
  height: 7px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  overflow: hidden;
}

.ai-hub-ai-take {
  margin: 10px 0 8px;
  padding: 8px 10px 8px 12px;
  border-radius: 8px;
  border: 1px solid rgba(163, 113, 247, 0.28);
  background: rgba(163, 113, 247, 0.08);
}

.ai-hub-ai-take__lbl {
  display: block;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #d2a8ff;
  margin-bottom: 4px;
}

.ai-hub-ai-take__body {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(230, 237, 243, 0.92);
}

.ai-hub-exec-summary--rich .ai-hub-exec-row__v {
  line-height: 1.5;
}

.ai-hub-exec-row--lead {
  padding-bottom: 8px;
  margin-bottom: 4px;
  border-bottom: 1px solid rgba(48, 54, 61, 0.65);
}

.ai-hub-exec-row--lead .ai-hub-exec-row__v {
  font-weight: 500;
  color: rgba(230, 237, 243, 0.95);
}

.ai-hub-brief-card__hdr {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

.ai-hub-brief-card__emoji {
  font-size: 14px;
  line-height: 1;
}

.ai-hub-brief-card__rank {
  font-size: 10px;
  font-weight: 800;
  color: var(--text-secondary);
}

.ai-hub-tag {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 4px;
  border: 1px solid transparent;
}

.ai-hub-tag--risk {
  border-color: rgba(248, 81, 73, 0.45);
  color: #f85149;
  background: rgba(248, 81, 73, 0.1);
}

.ai-hub-tag--amber {
  border-color: rgba(210, 153, 34, 0.45);
  color: #d29922;
  background: rgba(210, 153, 34, 0.12);
}

.ai-hub-tag--blue {
  border-color: rgba(88, 166, 255, 0.4);
  color: #58a6ff;
  background: rgba(88, 166, 255, 0.1);
}

.ai-hub-tag--muted {
  border-color: rgba(139, 148, 158, 0.35);
  color: #8b949e;
  background: rgba(139, 148, 158, 0.08);
}

.ai-hub-time-pill {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 2px 6px;
  border-radius: 4px;
}

.ai-hub-time--urgent {
  background: rgba(248, 81, 73, 0.12);
  color: #ff7b72;
}

.ai-hub-time--session {
  background: rgba(210, 153, 34, 0.14);
  color: #e3b341;
}

.ai-hub-time--bg {
  background: rgba(139, 148, 158, 0.12);
  color: #8b949e;
}

.ai-hub-impact {
  margin-left: auto;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.ai-hub-impact--high {
  color: #f85149;
}

.ai-hub-impact--medium {
  color: #d29922;
}

.ai-hub-impact--low {
  color: #8b949e;
}

.ai-hub-brief-card__title {
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--text-primary);
}

.ai-hub-brief-card__summary {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.ai-hub-brief-card__tickers {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 8px;
}

.ai-hub-ticker-pill {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
  background: rgba(63, 185, 80, 0.12);
  color: #3fb950;
  border: 1px solid rgba(63, 185, 80, 0.25);
}

.ai-hub-brief-card__why {
  margin: 0 0 8px;
  padding-left: 16px;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-secondary);
}

.ai-hub-brief-card__unc {
  margin: 0 0 6px;
  font-size: 11px;
  line-height: 1.45;
  color: #d29922;
}

.ai-hub-brief-card__meta {
  font-size: 10px;
  color: var(--text-secondary);
  opacity: 0.85;
}

.ai-hub-drawer__threads {
  margin-bottom: 14px;
  max-height: min(38vh, 320px);
  overflow: auto;
  padding-top: 8px;
  border-top: 1px solid rgba(48, 54, 61, 0.9);
}

.ai-hub-drawer-threads-hdr {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #79c0ff;
  margin-bottom: 6px;
}

.ai-hub-drawer__threads-note {
  margin: 0 0 8px;
  font-size: 10px;
  line-height: 1.4;
  color: var(--text-secondary);
}

.ai-hub-drawer__scrapbook {
  margin-bottom: 14px;
  max-height: min(24vh, 220px);
  overflow: auto;
  padding-top: 8px;
  border-top: 1px solid rgba(48, 54, 61, 0.9);
}

.ai-hub-drawer-scrapbook-hdr {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #79c0ff;
  margin-bottom: 6px;
}

.ai-hub-drawer-scrapbook-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ai-hub-drawer-scrapbook-row {
  font-size: 12px;
  line-height: 1.35;
  color: var(--text-primary);
  padding: 6px 0;
  border-bottom: 1px solid rgba(48, 54, 61, 0.55);
}

.ai-hub-drawer-scrapbook-row:last-child {
  border-bottom: none;
}

.ai-hub-drawer-scrapbook-kind {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-secondary);
  margin-right: 6px;
}

.ai-hub-drawer-scrapbook-foot {
  margin: 8px 0 0;
  font-size: 11px;
}

.ai-hub-drawer-scrapbook-foot a {
  color: #58a6ff;
  font-weight: 600;
}

.ai-hub-drawer__archive-note {
  margin: 0 0 12px;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-secondary);
}

/* AI Hub full page — locked daily archive */
.ai-hub-archive-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 16px;
}
.ai-hub-archive-capture-btn {
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  padding: 9px 16px;
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.45);
  background: rgba(88, 166, 255, 0.14);
  color: #58a6ff;
  cursor: pointer;
}
.ai-hub-archive-capture-btn:hover {
  border-color: rgba(88, 166, 255, 0.65);
  color: #fff;
}
.ai-hub-archive-list {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  max-width: 520px;
}
.ai-hub-archive-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 14px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(48, 54, 61, 0.55);
}
.ai-hub-archive-day-btn {
  font: inherit;
  font-size: 14px;
  font-weight: 650;
  padding: 0;
  border: none;
  background: none;
  color: #58a6ff;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ai-hub-archive-row-meta {
  font-size: 12px;
  color: var(--text-secondary, #8b949e);
}
.ai-hub-archive-detail {
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(48, 54, 61, 0.75);
}
.ai-hub-archive-detail-meta {
  margin: 0 0 12px;
  font-size: 12px;
  color: var(--text-secondary, #8b949e);
}

.ai-hub-archive-elite {
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(88, 166, 255, 0.22);
  background: rgba(88, 166, 255, 0.06);
}

.ai-hub-archive-elite__title {
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 10px;
  color: #58a6ff;
}

.ai-hub-archive-elite__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}

.ai-hub-archive-elite__h {
  margin: 0 0 6px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #8b949e;
}

.ai-hub-archive-elite__p {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-primary, #e6edf3);
}

.ai-hub-archive-elite__ul {
  margin: 0;
  padding-left: 1.1rem;
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-primary, #e6edf3);
}

.ai-hub-archive-elite__conf {
  margin: 8px 0 0;
  font-size: 12px;
  color: #79c0ff;
}

.ai-hub-archive-elite__weekly {
  margin: 10px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-secondary, #8b949e);
}

.ai-hub-scrapbook-pin {
  display: block;
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #d29922;
}

.ai-hub-archive-brief-ol {
  margin: 0;
  padding-left: 1.2rem;
}
.ai-hub-archive-brief-line {
  margin-bottom: 8px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--text-primary, #e6edf3);
}
.ai-hub-archive-brief-rank {
  font-weight: 700;
  color: var(--text-secondary, #8b949e);
  margin-right: 4px;
}

.ai-hub-timeline-list,
.ai-hub-history-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 480px;
}

.ai-hub-timeline-row,
.ai-hub-history-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 14px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(48, 54, 61, 0.45);
}

.ai-hub-timeline-open-btn,
.ai-hub-history-open-btn {
  font: inherit;
  font-size: 14px;
  font-weight: 650;
  padding: 0;
  border: none;
  background: none;
  color: #58a6ff;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ai-hub-timeline-row-meta,
.ai-hub-history-row-meta {
  font-size: 12px;
  color: var(--text-secondary, #8b949e);
}

/* Scrapbook clipping desk: rail + feed + inspector */
.ai-hub-clip-desk {
  display: grid;
  grid-template-columns: minmax(140px, 180px) minmax(0, 1fr) minmax(220px, 320px);
  gap: 14px 16px;
  align-items: start;
  margin: 0 0 20px;
  max-width: 1200px;
}

@media (max-width: 900px) {
  .ai-hub-clip-desk {
    grid-template-columns: 1fr;
  }
}

.ai-hub-clip-desk__rail-hdr {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-secondary, #8b949e);
  margin-bottom: 8px;
}

.ai-hub-clip-desk__rail-note {
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-secondary, #8b949e);
  margin: 0 0 12px;
}

.ai-hub-clip-desk__filter-label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-secondary, #8b949e);
  margin-bottom: 4px;
}

.ai-hub-clip-desk__select {
  width: 100%;
  box-sizing: border-box;
  font: inherit;
  font-size: 12px;
  padding: 6px 8px;
  margin-bottom: 10px;
  border-radius: 6px;
  border: 1px solid rgba(48, 54, 61, 0.85);
  background: rgba(1, 4, 9, 0.5);
  color: var(--text-primary, #e6edf3);
}

.ai-hub-clip-desk__new-board {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-bottom: 12px;
}

.ai-hub-clip-desk__input {
  flex: 1 1 100px;
  min-width: 0;
  font: inherit;
  font-size: 12px;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid rgba(48, 54, 61, 0.85);
  background: rgba(1, 4, 9, 0.5);
  color: var(--text-primary, #e6edf3);
}

.ai-hub-clip-desk__meta {
  font-size: 11px;
  line-height: 1.4;
  color: var(--text-secondary, #8b949e);
  margin: 10px 0 0;
}

.ai-hub-clip-desk__feed {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: min(62vh, 520px);
  overflow-y: auto;
  padding: 2px 4px 2px 0;
}

.ai-hub-feed-card {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
  width: 100%;
  text-align: left;
  font: inherit;
  font-size: 13px;
  line-height: 1.35;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(48, 54, 61, 0.65);
  background: rgba(13, 17, 23, 0.45);
  color: var(--text-primary, #e6edf3);
  cursor: pointer;
}

.ai-hub-feed-card:hover {
  border-color: rgba(88, 166, 255, 0.35);
}

.ai-hub-feed-card--selected {
  border-color: rgba(88, 166, 255, 0.55);
  background: rgba(88, 166, 255, 0.1);
}

.ai-hub-feed-card__rank {
  font-weight: 700;
  font-size: 11px;
  color: var(--text-secondary, #8b949e);
  flex-shrink: 0;
}

.ai-hub-feed-card__title {
  flex: 1 1 140px;
  min-width: 0;
  font-weight: 600;
}

.ai-hub-feed-card__clipped {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(46, 160, 67, 0.2);
  color: #3fb950;
  flex-shrink: 0;
}

.ai-hub-feed-card__tickers {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  width: 100%;
  margin-top: 2px;
}

.ai-hub-feed-card__sym {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid rgba(139, 148, 158, 0.35);
  color: var(--text-secondary, #8b949e);
}

.ai-hub-clip-desk__inspector {
  font-size: 13px;
  line-height: 1.45;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(48, 54, 61, 0.85);
  background: rgba(13, 17, 23, 0.55);
  max-height: min(62vh, 520px);
  overflow-y: auto;
}

.ai-hub-inspector__empty {
  font-size: 13px;
  color: var(--text-secondary, #8b949e);
  line-height: 1.5;
}

.ai-hub-inspector__hdr {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  align-items: baseline;
  margin-bottom: 8px;
}

.ai-hub-inspector__emoji {
  font-size: 18px;
  line-height: 1;
}

.ai-hub-inspector__title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}

.ai-hub-inspector__meta,
.ai-hub-inspector__tickline {
  margin: 0 0 10px;
  font-size: 11px;
  color: var(--text-secondary, #8b949e);
}

.ai-hub-inspector__section {
  margin-bottom: 12px;
}

.ai-hub-inspector__sec-h {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-secondary, #8b949e);
  margin-bottom: 4px;
}

.ai-hub-inspector__p {
  margin: 0;
  font-size: 13px;
  color: var(--text-primary, #e6edf3);
}

.ai-hub-inspector__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.ai-hub-inspector__actions--top {
  margin-top: 0;
  margin-bottom: 12px;
}

.ai-hub-inspector__enrich {
  padding-top: 8px;
  border-top: 1px solid rgba(48, 54, 61, 0.55);
}

.ai-hub-inspector__label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-secondary, #8b949e);
  margin-bottom: 10px;
}

.ai-hub-inspector__textarea,
.ai-hub-inspector__input,
.ai-hub-inspector__select {
  display: block;
  width: 100%;
  margin-top: 4px;
  box-sizing: border-box;
  font: inherit;
  font-size: 13px;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid rgba(48, 54, 61, 0.85);
  background: rgba(1, 4, 9, 0.5);
  color: var(--text-primary, #e6edf3);
}

.ai-hub-scrapbook-card__board {
  color: #a371f7;
  font-weight: 600;
}

.ai-hub-activity-stream {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  max-width: 720px;
}

.ai-hub-activity-row {
  display: grid;
  grid-template-columns: minmax(120px, 150px) minmax(90px, 110px) 1fr;
  gap: 8px 12px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(48, 54, 61, 0.45);
  font-size: 13px;
  line-height: 1.35;
  align-items: baseline;
}

@media (max-width: 560px) {
  .ai-hub-activity-row {
    grid-template-columns: 1fr;
  }
}

.ai-hub-activity-row__at {
  font-size: 11px;
  color: var(--text-secondary, #8b949e);
}

.ai-hub-activity-row__type {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #58a6ff;
}

.ai-hub-activity-row__msg {
  color: var(--text-primary, #e6edf3);
}

.ai-hub-scrapbook-quickadd {
  margin: 0 0 16px;
  max-width: 640px;
}

.ai-hub-scrapbook-quickadd__summary {
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  color: #58a6ff;
}

.ai-hub-brief-card__actions {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(48, 54, 61, 0.45);
}

.ai-hub-brief-card__scrapbook {
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid rgba(88, 166, 255, 0.35);
  background: rgba(88, 166, 255, 0.08);
  color: #58a6ff;
  cursor: pointer;
}

.ai-hub-brief-card__scrapbook:hover:not(:disabled) {
  border-color: rgba(88, 166, 255, 0.55);
  color: #fff;
}

.ai-hub-brief-card__scrapbook:disabled {
  opacity: 0.65;
  cursor: wait;
}

@keyframes ai-hub-chip-shimmer {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(88, 166, 255, 0);
  }
  50% {
    box-shadow: 0 0 20px rgba(88, 166, 255, 0.12);
  }
}

.ai-hub-context-bar {
  margin: 0 0 22px;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid rgba(88, 166, 255, 0.14);
  background: rgba(12, 16, 24, 0.65);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.ai-hub-context-bar__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
}

.ai-hub-context-chip {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-primary, #e6edf3);
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(88, 166, 255, 0.28);
  background: rgba(88, 166, 255, 0.08);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

@media (prefers-reduced-motion: no-preference) {
  .ai-hub-context-chip {
    animation: ai-hub-chip-shimmer 5s ease-in-out infinite;
  }
  .ai-hub-context-chip:nth-child(2) {
    animation-delay: 0.4s;
  }
  .ai-hub-context-chip:nth-child(3) {
    animation-delay: 0.8s;
  }
}

.ai-hub-context-chip--muted {
  opacity: 0.8;
  border-color: rgba(139, 148, 158, 0.35);
  background: rgba(139, 148, 158, 0.06);
}

.ai-hub-context-bar__hint {
  margin: 10px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-secondary, #8b949e);
  max-width: 52ch;
}

.ai-hub-context-chip--mode {
  border-color: rgba(163, 113, 247, 0.5);
  background: linear-gradient(135deg, rgba(163, 113, 247, 0.18) 0%, rgba(219, 97, 162, 0.08) 100%);
  color: #e6d9ff;
}

.ai-hub-context-chip--watch {
  border-color: rgba(56, 189, 248, 0.45);
  background: rgba(56, 189, 248, 0.1);
  color: #c8ecf8;
}

.ai-hub-context-chip--noise {
  border-color: rgba(210, 153, 34, 0.45);
  background: rgba(210, 153, 34, 0.1);
  color: #f0d08a;
}

@media (prefers-reduced-motion: reduce) {
  .ai-hub-context-chip {
    animation: none;
  }
}

.ai-hub-score-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 700;
  color: #79c0ff;
}

.ai-hub-score {
  letter-spacing: 0.02em;
}

.ai-hub-why-matters {
  margin: 0 0 10px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(40, 50, 68, 0.85);
  background: rgba(8, 12, 18, 0.55);
}

.ai-hub-why-matters__title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #d29922;
  margin-bottom: 6px;
}

.ai-hub-why-matters__list {
  margin: 0;
  padding-left: 0;
  list-style: none;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-secondary, #8b949e);
}

.ai-hub-why-matters__list li {
  margin-bottom: 6px;
}

.ai-hub-why-k {
  display: inline-block;
  min-width: 92px;
  font-weight: 700;
  color: var(--text-primary, #e6edf3);
}

.ai-hub-signal {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 4px;
  border: 1px solid rgba(139, 148, 158, 0.35);
  color: #8b949e;
}

.ai-hub-signal--escalating {
  border-color: rgba(248, 81, 73, 0.45);
  color: #ff7b72;
  background: rgba(248, 81, 73, 0.08);
}

.ai-hub-signal--confirmed {
  border-color: rgba(88, 166, 255, 0.45);
  color: #58a6ff;
}

.ai-hub-signal--developing {
  border-color: rgba(210, 153, 34, 0.4);
  color: #e3b341;
}

.ai-hub-signal--fading {
  border-color: rgba(139, 148, 158, 0.3);
  color: #6e7681;
}

.ai-hub-save-nudge {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 600;
  color: #a371f7;
}

.ai-hub-since-update {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(63, 185, 80, 0.28);
  background: rgba(63, 185, 80, 0.06);
}

.ai-hub-since-update--quiet {
  border-color: rgba(48, 54, 61, 0.85);
  background: rgba(13, 17, 23, 0.45);
}

.ai-hub-since-update__title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #3fb950;
  margin-bottom: 6px;
}

.ai-hub-since-update__list {
  margin: 0;
  padding-left: 1.1rem;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-primary, #e6edf3);
}

.ai-hub-since-update__empty {
  margin: 0;
  font-size: 12px;
  color: var(--text-secondary, #8b949e);
}

.ai-hub-prefs-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 520px;
  margin-top: 8px;
  padding: 16px 18px;
  border-radius: 10px;
  border: 1px solid rgba(40, 50, 68, 0.9);
  background: rgba(10, 14, 20, 0.55);
}

.ai-hub-prefs-form label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary, #8b949e);
}

.ai-hub-prefs-form input[type='text'],
.ai-hub-prefs-form input[type='number'],
.ai-hub-prefs-form select {
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid rgba(40, 50, 68, 0.95);
  background: rgba(18, 24, 34, 0.9);
  color: var(--text-primary, #e6edf3);
}

.ai-hub-prefs-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.ai-hub-prefs-form__btn {
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  padding: 9px 16px;
  border-radius: 7px;
  border: 1px solid rgba(88, 166, 255, 0.45);
  background: rgba(88, 166, 255, 0.14);
  color: #58a6ff;
  cursor: pointer;
}

.ai-hub-prefs-form__btn:hover {
  border-color: rgba(88, 166, 255, 0.65);
  color: #fff;
}

.ai-hub-prefs-form__btn--muted {
  border-color: rgba(48, 54, 61, 0.95);
  background: rgba(18, 24, 34, 0.65);
  color: var(--text-secondary, #8b949e);
}

.ai-hub-prefs-form__btn--muted:hover {
  color: var(--text-primary, #e6edf3);
  border-color: rgba(88, 166, 255, 0.35);
}

.ai-hub-thread-drawer-list .ai-hub-thread-card {
  padding: 8px 10px;
  margin-bottom: 8px;
}

.ai-hub-thread-page-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ai-hub-thread-card {
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px solid rgba(48, 54, 61, 0.95);
  background: rgba(13, 17, 23, 0.72);
  scroll-margin-top: 20px;
}

@keyframes ai-hub-thread-deep-link-ring {
  from {
    box-shadow: 0 0 0 0 rgba(88, 166, 255, 0.45);
  }
  to {
    box-shadow: 0 0 0 10px rgba(88, 166, 255, 0);
  }
}

.ai-hub-thread-card--deep-linked {
  outline: 2px solid rgba(88, 166, 255, 0.65);
  outline-offset: 3px;
  animation: ai-hub-thread-deep-link-ring 1.1s ease-out 2;
}

@media (prefers-reduced-motion: reduce) {
  .ai-hub-thread-card--deep-linked {
    animation: none;
    outline-width: 3px;
  }
}

.ai-hub-deep-link-miss {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 8px;
  border-left: 3px solid rgba(210, 153, 34, 0.9);
  background: rgba(210, 153, 34, 0.08);
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-primary, #e6edf3);
}

.ai-hub-deep-link-hit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin: 0 0 14px;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.38);
  background: rgba(88, 166, 255, 0.09);
}

.ai-hub-deep-link-hit__chip {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #79c0ff;
}

.ai-hub-deep-link-hit__detail {
  font-size: 11px;
  line-height: 1.35;
  color: var(--text-secondary, #8b949e);
}

.ai-hub-diag {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(48, 54, 61, 0.95);
  background: rgba(13, 17, 23, 0.55);
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-secondary, #8b949e);
}

.ai-hub-diag__line + .ai-hub-diag__line {
  margin-top: 6px;
}

.ai-hub-empty-state {
  margin: var(--ps-space-md) 0;
  padding: var(--ps-space-lg) var(--ps-space-lg);
  border-radius: var(--ps-radius-md);
  border: 1px solid var(--ps-border-subtle);
  background: var(--ps-surface-raised);
  box-shadow: var(--ps-shadow-panel);
  max-width: 72ch;
}

.ai-hub-empty-state--error {
  border-color: rgba(248, 81, 73, 0.35);
  background: rgba(248, 81, 73, 0.06);
}

.ai-hub-empty-state__title {
  font-size: 13px;
  font-weight: 750;
  letter-spacing: -0.015em;
  color: var(--text-primary, #e6edf3);
  margin: 0 0 var(--ps-space-sm);
}

.ai-hub-empty-state__msg {
  margin: 0 0 var(--ps-space-md);
  font-size: 12px;
  line-height: 1.55;
  color: var(--text-secondary, #8b949e);
}

.ai-hub-empty-state__list {
  margin: 0 0 var(--ps-space-md);
  padding-left: 18px;
  font-size: 12px;
  line-height: 1.55;
  color: var(--text-secondary, #8b949e);
}

.ai-hub-empty-state__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.ai-hub-thread--high {
  border-color: rgba(248, 81, 73, 0.28);
}

.ai-hub-thread--med {
  border-color: rgba(210, 153, 34, 0.28);
}

.ai-hub-thread-card__hdr {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.ai-hub-thread-card__count {
  font-size: 10px;
  font-weight: 700;
  color: var(--text-secondary);
}

.ai-hub-thread-card__title {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.3;
  color: var(--text-primary);
}

.ai-hub-thread-card__summary {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.ai-hub-thread-timeline {
  margin: 0;
  padding-left: 18px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-secondary);
}

.ai-hub-thread-timeline__item {
  margin-bottom: 6px;
}

.ai-hub-thread-timeline__kind {
  display: inline-block;
  min-width: 72px;
  font-weight: 700;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #58a6ff;
}

.ai-hub-thread-timeline__at {
  display: inline-block;
  min-width: 88px;
  font-size: 10px;
  color: var(--text-secondary);
  margin-right: 6px;
}

.ai-hub-thread-timeline__title {
  color: var(--text-primary);
}

.ai-hub-thread-timeline__src {
  font-size: 9px;
  font-weight: 700;
  color: var(--text-secondary);
  margin-left: 4px;
}

.ai-hub-thread-story-hdr {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #79c0ff;
  margin-bottom: 6px;
}

.ai-hub-thread-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-secondary, #8b949e);
}

.ai-hub-thread-latest-hdr,
.ai-hub-thread-timeline-hdr {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8b949e;
  margin: 8px 0 4px;
}

.ai-hub-thread-latest {
  margin: 0 0 10px;
  padding-left: 1.1rem;
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-primary, #e6edf3);
}

/* AI Hub full page — scrapbook (Phase 4) */
.ai-hub-scrapbook-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 560px;
  margin-bottom: 20px;
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px solid rgba(40, 50, 68, 0.9);
  background: rgba(10, 14, 20, 0.55);
}
.ai-hub-scrapbook-form label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary, #8b949e);
}
.ai-hub-scrapbook-form input[type='text'],
.ai-hub-scrapbook-form select,
.ai-hub-scrapbook-form textarea {
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid rgba(40, 50, 68, 0.95);
  background: rgba(18, 24, 34, 0.9);
  color: var(--text-primary, #e6edf3);
}
.ai-hub-scrapbook-form textarea {
  min-height: 72px;
  resize: vertical;
}
.ai-hub-scrapbook-form__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-primary, #e6edf3);
}
.ai-hub-scrapbook-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.ai-hub-scrapbook-form__btn {
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 7px;
  border: 1px solid rgba(88, 166, 255, 0.45);
  background: rgba(88, 166, 255, 0.14);
  color: #58a6ff;
  cursor: pointer;
}
.ai-hub-scrapbook-form__btn:hover {
  border-color: rgba(88, 166, 255, 0.65);
  color: #fff;
}
.ai-hub-scrapbook-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ai-hub-scrapbook-card {
  border-radius: 10px;
  border: 1px solid rgba(40, 50, 68, 0.95);
  background: rgba(18, 24, 34, 0.65);
  padding: 12px 14px;
}
.ai-hub-scrapbook-card__hdr {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.ai-hub-scrapbook-card__lead {
  flex: 1;
  min-width: 0;
}
.ai-hub-scrapbook-card__title {
  margin: 0;
  font-size: 15px;
  font-weight: 650;
  color: var(--text-primary, #e6edf3);
}
.ai-hub-scrapbook-card__meta {
  font-size: 11px;
  color: var(--text-secondary, #8b949e);
  margin: 0 0 8px;
}
.ai-hub-scrapbook-card__body {
  font-size: 13px;
  line-height: 1.45;
  color: rgba(230, 237, 243, 0.88);
  margin: 0 0 10px;
  white-space: pre-wrap;
}
.ai-hub-scrapbook-card__del {
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid rgba(248, 81, 73, 0.45);
  background: rgba(248, 81, 73, 0.1);
  color: #f85149;
  cursor: pointer;
}
.ai-hub-scrapbook-card__del:hover {
  color: #fff;
  border-color: rgba(248, 81, 73, 0.65);
}

/* Chart popout: hide chart column entirely so the cockpit dock fills row height (no empty grid cell) */
.chart-popout-workspace {
  display: none;
  flex-shrink: 0;
}

body.chart-popout-active .chart-popout-workspace {
  display: block;
}

.chart-popout-workspace__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.28);
  background: linear-gradient(180deg, rgba(13, 17, 23, 0.98), rgba(22, 27, 34, 0.92));
}

.chart-popout-workspace__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.chart-popout-workspace__badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #79c0ff;
}

.chart-popout-workspace__sym {
  font-size: 14px;
  font-weight: 800;
  font-family: var(--monospace);
  color: var(--text-primary);
}

.chart-popout-workspace__modes {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.chart-popout-workspace__mode {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.2);
  color: var(--text-secondary);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.chart-popout-workspace__mode:hover {
  color: var(--text-primary);
  border-color: rgba(88, 166, 255, 0.35);
}

.chart-popout-workspace__mode.is-active {
  color: #0b0f14;
  background: linear-gradient(180deg, #79c0ff, #58a6ff);
  border-color: rgba(88, 166, 255, 0.65);
}

.chart-popout-workspace__dock {
  font-size: 11px;
  font-weight: 700;
  padding: 8px 14px;
  border-radius: 8px;
  border: 1px solid rgba(121, 192, 255, 0.45);
  background: rgba(121, 192, 255, 0.14);
  color: #79c0ff;
  cursor: pointer;
}

.chart-popout-workspace__dock:hover {
  background: rgba(121, 192, 255, 0.22);
}

body.chart-popout-active .layer2__chart {
  display: none !important;
}

body.chart-popout-active #layer2-cockpit .layer2__left-sides {
  display: none !important;
}

body.chart-popout-active #layer2-cockpit.layer2 {
  grid-template-columns: minmax(0, 1fr);
}

body.chart-popout-active #layer2-cockpit.layer2.layer2--sides-collapsed {
  grid-template-columns: minmax(0, 1fr);
}

body.chart-popout-active.chart-popout-workspace--split .cockpit-dock-tabs {
  display: none;
}

body.chart-popout-active.chart-popout-workspace--split .cockpit-dock-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
  min-height: 0;
}

body.chart-popout-active.chart-popout-workspace--split .cockpit-dock-tabpanel {
  min-height: 0;
  overflow: auto;
}

body.chart-popout-active.chart-popout-workspace--split #news-panel-right {
  min-height: 0 !important;
}

@media (max-width: 900px) {
  body.chart-popout-active.chart-popout-workspace--split .cockpit-dock-body {
    grid-template-columns: minmax(0, 1fr);
  }
}

.chart-popout-placeholder {
  display: none !important;
}

body.chart-popout-active .chart-popout-placeholder.pitstrike-chart-slot--visible {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 100px;
  padding: 14px 16px;
  margin-bottom: 8px;
  border: 1px dashed rgba(88, 166, 255, 0.38);
  border-radius: 8px;
  background: rgba(88, 166, 255, 0.06);
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
  box-sizing: border-box;
}

.chart-popout-placeholder__title {
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-size: 10px;
}

.chart-popout-placeholder__sub {
  max-width: 420px;
}

/* Only hide the in-shell footer deck (see terminal #bottom-dock). Popout has its own #dock-intelligence. */
body.intel-popout-active #bottom-dock #dock-intelligence {
  display: none;
}

body.intel-popout-active #cockpit-tab-btn-news,
body.intel-popout-active #cockpit-rail-news {
  display: none;
}

.dock-story-strip {
  overflow: hidden;
  min-height: var(--dock-story-strip-min-h, 28px);
  border-radius: 6px;
  border: 1px solid rgba(163, 113, 247, 0.22);
  background: rgba(0, 0, 0, 0.18);
}

.dock-story-marquee {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.dock-story-marquee:hover .dock-story-track {
  animation-play-state: paused;
}

.dock-story-track {
  display: flex;
  flex-direction: row;
  width: max-content;
  animation: dock-story-marquee-scroll var(--dock-story-marquee-sec, 96s) linear infinite;
  will-change: transform;
  backface-visibility: hidden;
}

@keyframes dock-story-marquee-scroll {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dock-story-track {
    animation: none !important;
  }
}

.dock-story-seg {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  align-items: stretch;
  gap: 5px;
  padding: 4px 7px;
}

.dock-marquee-pad {
  align-self: stretch;
  flex-shrink: 0;
  pointer-events: none;
}

.dock-story-strip[aria-busy='true'],
.dock-story-strip.dock-story-strip--loading {
  opacity: 0.88;
  transition: opacity 0.12s ease;
}

/** Narrative text from server TTL cache (order still market-ranked). Subtle cue for dev / theming. */
.dock-story-strip[data-narrative-cached='true'] {
  box-shadow: inset 0 1px 0 rgba(88, 166, 255, 0.18);
}

/* Intel dock rails: left quick-action column (journal / feedback / hide) + main card button */
.dock-story-card-wrap,
.dock-geo-card-wrap,
.dock-news-card-wrap {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex: 0 0 auto;
  gap: 2px;
  width: var(--dock-story-card-w, 150px);
  max-width: var(--dock-story-card-w, 150px);
}

.dock-geo-card-wrap {
  width: var(--dock-geo-card-w, 150px);
  max-width: var(--dock-geo-card-w, 150px);
}

.dock-news-card-wrap {
  width: var(--dock-news-card-w, 158px);
  max-width: var(--dock-news-card-w, 158px);
}

.dock-card-quick-actions {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex-shrink: 0;
  width: 20px;
  gap: 2px;
  padding: 2px 0;
  box-sizing: border-box;
}

.dock-card-quick-actions--mirror {
  pointer-events: none;
}

.dock-card-qa-btn {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 1px 0;
  width: 100%;
  min-height: 15px;
  border-radius: 3px;
  border: 1px solid rgba(139, 148, 158, 0.38);
  background: rgba(13, 17, 23, 0.92);
  color: #8b949e;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.1;
  cursor: pointer;
  font-family: inherit;
  transition:
    border-color 0.12s ease,
    color 0.12s ease,
    background 0.12s ease;
}

.dock-card-qa-btn:hover {
  border-color: rgba(88, 166, 255, 0.55);
  color: #58a6ff;
  background: rgba(22, 27, 34, 0.95);
}

.dock-card-qa-btn:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.65);
  outline-offset: 1px;
}

.dock-story-card-wrap .dock-story-card--main,
.dock-geo-card-wrap .dock-geo-card--main,
.dock-news-card-wrap .dock-news-card--main {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  max-width: none;
}

.dock-story-card {
  flex: 0 0 auto;
  width: var(--dock-story-card-w, 150px);
  max-width: var(--dock-story-card-w, 150px);
  min-height: 54px;
  display: flex;
  gap: 4px;
  padding: 4px 6px;
  border-radius: 6px;
  background: linear-gradient(145deg, rgba(36, 24, 52, 0.45), rgba(22, 27, 34, 0.9));
  border: 1px solid rgba(163, 113, 247, 0.35);
  box-shadow: 0 0 10px rgba(163, 113, 247, 0.08);
  cursor: pointer;
  transition: transform 0.12s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  text-align: left;
  position: relative;
  overflow: hidden;
}

.dock-story-card:hover {
  transform: translateY(-0.5px);
  border-color: rgba(187, 134, 252, 0.55);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
}

.dock-story-card--med {
  border-color: rgba(163, 113, 247, 0.32);
}

.dock-story-card--high {
  border-color: rgba(248, 81, 73, 0.5);
  background: linear-gradient(145deg, rgba(48, 20, 24, 0.55), rgba(22, 27, 34, 0.92));
  box-shadow: 0 0 18px rgba(248, 81, 73, 0.15);
}

.dock-story-card--high::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, #ff7b72, #da3633);
  border-radius: 6px 0 0 6px;
}

.dock-story-card--med::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, #bb9dff, #8957e5);
  border-radius: 6px 0 0 6px;
}

.dock-story-card--low::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, #8b949e, #484f58);
  border-radius: 6px 0 0 6px;
}

.dock-story-card--low {
  border-color: rgba(110, 118, 129, 0.45);
  background: linear-gradient(145deg, rgba(22, 27, 34, 0.9), rgba(13, 17, 23, 0.88));
}

.dock-story-emoji {
  font-size: 12px;
  line-height: 1.2;
}

.dock-story-text {
  flex: 1;
  min-width: 0;
  padding-left: 4px;
}

.dock-story-time {
  font-size: 8px;
  font-weight: 700;
  color: #8b949e;
  letter-spacing: 0.03em;
  margin-top: 2px;
}

.dock-story-kicker {
  margin-bottom: 2px;
}

.dock-story-kicker__txt {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #c9a8ff;
}

.dock-story-card--high .dock-story-kicker__txt {
  color: #ff9b94;
}

.dock-story-card--low .dock-story-kicker__txt {
  color: #8b949e;
}

.dock-story-title {
  font-size: 8px;
  font-weight: 700;
  color: #e6edf3;
}

.dock-story-body {
  margin-top: 3px;
}

.dock-story-lead {
  font-size: 8px;
  font-weight: 600;
  color: #f0f6fc;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}

.dock-story-lead--solo {
  color: #d8dee4;
  font-weight: 500;
}

.dock-story-detail {
  font-size: 7px;
  color: #9da7b3;
  line-height: 1.35;
  margin-top: 2px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.dock-story-sub {
  font-size: 7px;
  color: var(--text-secondary);
  margin-top: 1px;
  line-height: 1.3;
}

.dock-story-empty {
  font-size: 10px;
  color: var(--text-secondary);
  padding: 6px;
}

.dock-story-fetch-error,
.dock-news-fetch-error,
.dock-ticker-fetch-error {
  font-size: 10px;
  font-weight: 600;
  color: #f85149;
  padding: 6px 8px;
  margin-bottom: 6px;
  border-radius: 6px;
  background: rgba(248, 81, 73, 0.1);
  border: 1px solid rgba(248, 81, 73, 0.35);
}

.dock-geopolitics-strip {
  overflow: hidden;
  border-radius: 6px;
  border: 1px solid rgba(210, 168, 255, 0.28);
  background: rgba(20, 12, 32, 0.35);
  min-height: var(--dock-geo-strip-min-h, 30px);
}

.dock-geo-inner {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.dock-geo-head {
  display: flex;
  align-items: center;
  padding: 4px 10px 2px;
  border-bottom: 1px solid rgba(210, 168, 255, 0.12);
  background: rgba(0, 0, 0, 0.2);
}

.dock-geo-head__title {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #d2a8ff;
}

.dock-geo-marquee {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.dock-geo-marquee:hover .dock-geo-track {
  animation-play-state: paused;
}

.dock-geo-track {
  display: flex;
  flex-direction: row;
  width: max-content;
  animation: dock-geo-marquee-scroll var(--dock-geo-marquee-sec, 100s) linear infinite;
  will-change: transform;
  backface-visibility: hidden;
}

@keyframes dock-geo-marquee-scroll {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dock-geo-track {
    animation: none !important;
  }
}

.dock-geo-seg {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  align-items: stretch;
  gap: 5px;
  padding: 3px 6px 4px;
}

.dock-geo-card {
  flex: 0 0 auto;
  width: var(--dock-geo-card-w, 150px);
  max-width: var(--dock-geo-card-w, 150px);
  min-width: min(100px, var(--dock-geo-card-w, 150px));
  text-align: left;
  padding: 3px 5px;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 4px;
  border: 1px solid rgba(139, 148, 158, 0.35);
  background: linear-gradient(160deg, rgba(30, 22, 40, 0.95), rgba(13, 17, 23, 0.92));
  transition: transform 0.12s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.dock-geo-card:hover {
  transform: translateY(-0.5px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.dock-geo-card__emoji {
  font-size: 12px;
  line-height: 1;
  flex-shrink: 0;
}

.dock-geo-card__body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.dock-geo-card__label {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.dock-geo-card__title {
  font-size: 8px;
  font-weight: 700;
  color: #f0f6fc;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dock-geo-card__time {
  font-size: 8px;
  font-weight: 700;
  color: #8b949e;
  letter-spacing: 0.03em;
}

.dock-geo-card__line {
  font-size: 7px;
  color: var(--text-secondary);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dock-geo-card__lead {
  font-size: 8px;
  font-weight: 600;
  color: #e6edf3;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  margin-top: 1px;
}

.dock-geo-card__detail {
  font-size: 7px;
  color: #9da7b3;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  margin-top: 2px;
}

.dock-geo-card--trump {
  border-color: rgba(255, 176, 32, 0.45);
  background: linear-gradient(155deg, rgba(48, 36, 12, 0.55), rgba(13, 17, 23, 0.92));
}

.dock-geo-card--trump .dock-geo-card__label {
  color: #f0b030;
}

.dock-geo-card--war {
  border-color: rgba(248, 81, 73, 0.4);
  background: linear-gradient(155deg, rgba(48, 18, 20, 0.55), rgba(13, 17, 23, 0.92));
}

.dock-geo-card--war .dock-geo-card__label {
  color: #ff7b72;
}

.dock-geo-card--both {
  border-color: rgba(187, 134, 252, 0.5);
  background: linear-gradient(155deg, rgba(48, 22, 52, 0.6), rgba(13, 17, 23, 0.92));
}

.dock-geo-card--both .dock-geo-card__label {
  color: #d2a8ff;
}

.dock-geo-card--geo {
  border-color: rgba(88, 166, 255, 0.35);
}

.dock-geo-card--geo .dock-geo-card__label {
  color: #79c0ff;
}

.dock-geo-empty {
  font-size: 10px;
  color: var(--text-secondary);
  padding: 10px 12px;
}

.footer-geo-modal__chips {
  margin-bottom: 6px;
}

.footer-geo-modal__chip {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(210, 168, 255, 0.18);
  color: #e6edf3;
}

.dock-ticker-strip {
  overflow: hidden;
  border-radius: 6px;
  border: 1px solid rgba(88, 166, 255, 0.2);
  background: rgba(0, 0, 0, 0.25);
  min-height: var(--dock-ticker-strip-min-h, 28px);
}

.dock-ticker-marquee {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

.dock-ticker-marquee:hover .dock-ticker-track {
  animation-play-state: paused;
}

.dock-ticker-track {
  display: flex;
  flex-direction: row;
  width: max-content;
  animation: dock-ticker-marquee 42s linear infinite;
  will-change: transform;
  backface-visibility: hidden;
}

@keyframes dock-ticker-marquee {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dock-ticker-track {
    animation: none !important;
  }
}

.dock-ticker-seg {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  align-items: center;
  gap: 5px;
  padding: 3px 7px;
}

.dock-ticker-pill {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 5px;
  border-radius: 999px;
  font-size: 8px;
  font-family: var(--monospace);
  background: rgba(22, 27, 34, 0.9);
  border: 1px solid rgba(48, 54, 61, 0.9);
  white-space: nowrap;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dock-ticker-pill--up {
  color: #3fb950;
  border-color: rgba(63, 185, 80, 0.45);
}

.dock-ticker-pill--down {
  color: #f85149;
  border-color: rgba(248, 81, 73, 0.45);
}

.dock-ticker-pill--stale {
  opacity: 0.72;
}

.dock-ticker-pill--pulse {
  box-shadow: 0 0 12px rgba(248, 81, 73, 0.35);
  animation: dock-ticker-pulse 1.2s ease-in-out infinite;
}

@keyframes dock-ticker-pulse {
  0%,
  100% {
    box-shadow: 0 0 8px rgba(248, 81, 73, 0.25);
  }
  50% {
    box-shadow: 0 0 16px rgba(255, 170, 80, 0.45);
  }
}

.dock-ticker-sym {
  font-weight: 800;
}

.dock-ticker-live {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #3fb950;
  box-shadow: 0 0 4px #3fb950;
}

.dock-ticker-nofeed {
  font-size: 9px;
  color: var(--text-secondary);
}

.dock-ticker-ch {
  font-size: 7px;
  opacity: 0.9;
}

.dock-news-strip {
  overflow: hidden;
  border-radius: 6px;
  border: 1px solid rgba(63, 185, 80, 0.15);
  background: rgba(0, 0, 0, 0.2);
  padding-bottom: 0;
  min-height: var(--dock-news-strip-min-h, 40px);
}

.dock-news-marquee {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.dock-news-marquee:hover .dock-news-track {
  animation-play-state: paused;
}

.dock-news-track {
  display: flex;
  flex-direction: row;
  width: max-content;
  animation: dock-news-marquee-scroll var(--dock-news-marquee-sec, 88s) linear infinite;
  will-change: transform;
  backface-visibility: hidden;
}

@keyframes dock-news-marquee-scroll {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dock-news-track {
    animation: none !important;
  }
}

.dock-news-seg {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  align-items: stretch;
  gap: 5px;
  padding: 4px 7px;
}

.dock-news-inner {
  display: flex;
  flex-direction: row;
  gap: 4px;
  min-height: 24px;
  align-items: stretch;
}

.dock-news-card {
  flex: 0 0 auto;
  width: var(--dock-news-card-w, 158px);
  max-width: var(--dock-news-card-w, 158px);
  min-width: min(94px, var(--dock-news-card-w, 158px));
  min-height: 52px;
  text-align: left;
  padding: 4px 5px 4px 7px;
  border-radius: 6px;
  border: 1px solid rgba(88, 166, 255, 0.28);
  background: linear-gradient(145deg, rgba(20, 28, 40, 0.95), rgba(13, 17, 23, 0.92));
  cursor: pointer;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 4px;
  transition: transform 0.12s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  position: relative;
  overflow: hidden;
}

.dock-news-card__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  position: relative;
  padding-left: 2px;
}

.dock-news-card__ribbon {
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 2px;
  background: linear-gradient(180deg, #58a6ff, #388bfd);
}

.dock-news-card--high .dock-news-card__ribbon {
  background: linear-gradient(180deg, #ff7b72, #da3633);
}

.dock-news-card--earnings .dock-news-card__ribbon {
  background: linear-gradient(180deg, #d2a8ff, #8957e5);
}

.dock-news-card--med .dock-news-card__ribbon {
  background: linear-gradient(180deg, #79c0ff, #388bfd);
}

.dock-news-card__emoji {
  font-size: 11px;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 1px;
}

.dock-news-card__badge {
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(139, 148, 158, 0.95);
  align-self: flex-start;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(88, 166, 255, 0.12);
}

.dock-news-card:hover {
  transform: translateY(-0.5px);
  border-color: rgba(88, 166, 255, 0.55);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.dock-news-card--high {
  border-color: rgba(248, 81, 73, 0.45);
  background: linear-gradient(145deg, rgba(40, 18, 22, 0.5), rgba(13, 17, 23, 0.92));
}

.dock-news-card--high .dock-news-card__badge {
  background: rgba(248, 81, 73, 0.2);
  color: #ff7b72;
}

.dock-news-card--earnings {
  border-color: rgba(210, 168, 255, 0.4);
  background: linear-gradient(145deg, rgba(32, 22, 48, 0.55), rgba(13, 17, 23, 0.92));
}

.dock-news-card--earnings .dock-news-card__badge {
  background: rgba(210, 168, 255, 0.18);
  color: #d2a8ff;
}

.dock-news-card__time {
  font-size: 8px;
  font-weight: 700;
  color: #8b949e;
  letter-spacing: 0.03em;
}

.dock-news-card__kicker {
  font-size: 9px;
  font-weight: 700;
  color: #8b949e;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dock-news-card__line {
  font-size: 7px;
  color: #e6edf3;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dock-news-card__lead {
  font-size: 8px;
  font-weight: 600;
  color: #f0f6fc;
  line-height: 1.35;
  display: block;
}

.dock-news-card__detail {
  font-size: 7px;
  color: #9da7b3;
  line-height: 1.35;
  display: block;
  margin-top: 2px;
}

.dock-footer-hover-tip {
  pointer-events: none;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(88, 166, 255, 0.35);
  background: rgba(13, 17, 23, 0.98);
  box-shadow: 0 14px 42px rgba(0, 0, 0, 0.55);
  font-size: 11px;
  line-height: 1.45;
  color: #e6edf3;
}

.dock-footer-hover-tip--story {
  border-color: rgba(187, 134, 252, 0.4);
  background: linear-gradient(165deg, rgba(28, 20, 40, 0.98), rgba(13, 17, 23, 0.98));
}

.dock-footer-hover-tip--news {
  border-color: rgba(63, 185, 80, 0.35);
}

.dock-footer-hover-tip--geo {
  border-color: rgba(210, 168, 255, 0.42);
  background: linear-gradient(165deg, rgba(28, 18, 38, 0.98), rgba(13, 17, 23, 0.98));
}

.dock-footer-hover-tip__hdr {
  font-size: 10px;
  font-weight: 600;
  color: #8b949e;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.dock-footer-hover-tip__emoji {
  font-size: 16px;
}

.dock-footer-hover-tip__sev {
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dock-footer-hover-tip__title {
  font-weight: 700;
  font-size: 12px;
  color: #f0f6fc;
  margin-bottom: 8px;
  line-height: 1.3;
}

.dock-footer-hover-tip__body {
  color: #c9d1d9;
  font-size: 11px;
  margin-bottom: 4px;
}

.dock-footer-hover-tip__body--rest {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(163, 113, 247, 0.28);
}

.dock-footer-hover-tip__body--rest strong {
  color: #d2a8ff;
  display: block;
  margin-bottom: 4px;
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.dock-footer-hover-tip__muted {
  font-size: 10px;
  color: #8b949e;
  line-height: 1.45;
  margin-top: 6px;
}

.dock-footer-hover-tip__extra {
  margin-top: 10px;
  font-size: 10px;
  color: #e6edf3;
  line-height: 1.4;
}

.dock-footer-hover-tip__extra strong {
  color: #79c0ff;
  font-weight: 600;
}

.dock-footer-hover-tip__extra--why {
  border-left: 3px solid #3fb950;
  padding: 6px 8px 6px 10px;
  border-radius: 6px;
  background: rgba(63, 185, 80, 0.08);
}

.dock-footer-hover-tip__extra--why strong {
  color: #56d364;
}

.dock-footer-hover-tip__extra--watch {
  border-left: 3px solid #58a6ff;
  padding: 6px 8px 6px 10px;
  border-radius: 6px;
  background: rgba(88, 166, 255, 0.08);
}

.dock-footer-hover-tip__extra--watch strong {
  color: #79c0ff;
}

.dock-footer-hover-tip__extra--desk {
  border-left: 3px solid #d2a8ff;
  padding: 6px 8px 6px 10px;
  border-radius: 6px;
  background: rgba(210, 168, 255, 0.07);
}

.dock-footer-hover-tip__extra--desk strong {
  color: #e6c8ff;
}

.dock-footer-hover-tip__loading {
  font-size: 10px;
  color: #58a6ff;
  margin-top: 8px;
}

.dock-footer-hover-tip__hint {
  font-size: 9px;
  color: var(--text-secondary);
  margin-top: 10px;
  opacity: 0.9;
}

.dock-intel--hide-story .dock-intel-section--story {
  display: none !important;
}

.dock-intel--hide-ticker .dock-intel-section--ticker {
  display: none !important;
}

.dock-intel--hide-geo .dock-intel-section--geo {
  display: none !important;
}

.dock-intel--hide-news .dock-intel-section--news {
  display: none !important;
}

.dock-intel--hide-story #dock-story-strip {
  display: none !important;
}

.dock-intel--hide-ticker #dock-ticker-strip {
  display: none !important;
}

.dock-intel--hide-geo #dock-geopolitics-strip {
  display: none !important;
}

.dock-intel--hide-news #dock-news-strip {
  display: none !important;
}

.dock-intel-section {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dock-intel-section__bar {
  display: flex;
  align-items: center;
  min-height: 18px;
}

.dock-intel-section__bar--split {
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}

.dock-intel-section__hub-links {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

a.dock-intel-overview-link {
  display: inline-flex;
  align-items: center;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #79b8ff;
  text-decoration: none;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid rgba(88, 166, 255, 0.5);
  background: rgba(88, 166, 255, 0.12);
  white-space: nowrap;
}

a.dock-intel-overview-link:hover {
  color: #fff;
  border-color: rgba(121, 184, 255, 0.85);
  background: rgba(88, 166, 255, 0.2);
}

a.dock-intel-scrapbook-link {
  display: inline-flex;
  align-items: center;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #d2a8ff;
  text-decoration: none;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid rgba(163, 113, 247, 0.5);
  background: rgba(163, 113, 247, 0.14);
  white-space: nowrap;
}

a.dock-intel-scrapbook-link:hover {
  color: #fff;
  border-color: rgba(188, 140, 255, 0.75);
  background: rgba(163, 113, 247, 0.22);
}

.dock-intel-section__toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  color: #8b949e;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  padding: 4px 2px;
  font-family: inherit;
}

.dock-intel-section__toggle:hover {
  color: #c9d1d9;
}

.dock-intel-section__chev {
  display: inline-block;
  transition: transform 0.15s ease;
  font-size: 8px;
  color: #79c0ff;
  line-height: 1;
}

.dock-intel-section--collapsed .dock-intel-section__chev {
  transform: rotate(-90deg);
}

.dock-intel-section--collapsed .dock-intel-section__panel {
  display: none !important;
}

.dock-footer-feed-control-modal,
.chart-indicators-modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  pointer-events: none;
}

.dock-footer-feed-control-modal[hidden],
.chart-indicators-modal[hidden] {
  display: none;
}

.dock-footer-feed-control-modal__backdrop,
.chart-indicators-modal__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(0, 0, 0, 0.55);
  pointer-events: auto;
}

.dock-footer-feed-control-modal__sheet,
.chart-indicators-modal__sheet {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: calc(100vw - 16px);
  height: calc(100vh - 16px);
  max-height: calc(100vh - 16px);
  margin: auto;
  border-radius: 12px;
  border: 1px solid rgba(88, 166, 255, 0.35);
  background: rgba(13, 17, 23, 0.98);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.65);
  overflow: hidden;
  pointer-events: auto;
}

.dock-footer-feed-control-modal__bar,
.chart-indicators-modal__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 18px;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(88, 166, 255, 0.2);
  background: rgba(0, 0, 0, 0.25);
}

.dock-footer-feed-control-modal__title,
.chart-indicators-modal__title {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--text-primary);
}

.dock-footer-feed-control-modal__close,
.chart-indicators-modal__close {
  font-size: 12px;
  font-weight: 700;
  padding: 8px 14px;
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.4);
  background: rgba(88, 166, 255, 0.1);
  color: var(--accent-blue);
  cursor: pointer;
}

.dock-footer-feed-control-modal__close:hover,
.chart-indicators-modal__close:hover {
  background: rgba(88, 166, 255, 0.2);
}

.dock-footer-feed-control-modal__iframe,
.chart-indicators-modal__iframe {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  border: none;
  background: #0d1117;
}

body.footer-feed-control-open,
body.chart-indicators-modal-open {
  overflow: hidden;
}

/* KPI row: click-through drill-down (Supabase-backed detail in iframe) */
.stat-card--kpi-drilldown {
  cursor: pointer;
}

.stat-card--kpi-drilldown:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.85);
  outline-offset: 2px;
}

.kpi-explorer-app-modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  pointer-events: none;
}

.kpi-explorer-app-modal[hidden] {
  display: none;
}

.kpi-explorer-app-modal__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(0, 0, 0, 0.55);
  pointer-events: auto;
}

.kpi-explorer-app-modal__sheet {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: calc(100vw - 16px);
  height: calc(100vh - 16px);
  max-height: calc(100vh - 16px);
  margin: auto;
  border-radius: 12px;
  border: 1px solid rgba(88, 166, 255, 0.35);
  background: rgba(13, 17, 23, 0.98);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.65);
  overflow: hidden;
  pointer-events: auto;
}

.kpi-explorer-app-modal__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 18px;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(88, 166, 255, 0.2);
  background: rgba(0, 0, 0, 0.25);
}

.kpi-explorer-app-modal__title {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--text-primary);
}

.kpi-explorer-app-modal__close {
  font-size: 12px;
  font-weight: 700;
  padding: 8px 14px;
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.4);
  background: rgba(88, 166, 255, 0.1);
  color: var(--accent-blue);
  cursor: pointer;
}

.kpi-explorer-app-modal__close:hover {
  background: rgba(88, 166, 255, 0.2);
}

.kpi-explorer-app-modal__iframe {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  border: none;
  background: #0d1117;
}

body.kpi-explorer-app-open {
  overflow: hidden;
}

.dock-footer-settings {
  border: 1px solid rgba(88, 166, 255, 0.25);
  border-radius: 8px;
  padding: 8px;
  background: rgba(13, 17, 23, 0.95);
}

.dock-footer-settings__inner {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 420px;
}

.dock-footer-input {
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: #0d1117;
  color: var(--text-primary);
  font-size: 11px;
}

.dock-footer-check {
  font-size: 11px;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  gap: 6px;
}

.dock-footer-api-status {
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(88, 166, 255, 0.15);
}

.dock-footer-api-status__hdr {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

.dock-footer-api-status__line {
  font-size: 10px;
  margin: 2px 0;
  line-height: 1.35;
  color: var(--text-primary);
}

.dock-footer-api-status__details {
  margin-top: 6px;
}

.dock-footer-api-status__details summary {
  font-size: 10px;
  cursor: pointer;
  color: var(--text-secondary);
  list-style: none;
}

.dock-footer-api-status__details summary::-webkit-details-marker {
  display: none;
}

.dock-footer-api-status__pre {
  font-size: 9px;
  line-height: 1.35;
  margin: 6px 0 0;
  padding: 6px 8px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--panel-border);
  overflow: auto;
  max-height: 140px;
  white-space: pre-wrap;
  word-break: break-all;
}

.dock-footer-api-status__btn {
  font-size: 10px;
  margin-top: 8px;
  padding: 4px 10px;
  cursor: pointer;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: #21262d;
  color: var(--text-primary);
}

.dock-footer-api-status__btn:hover {
  border-color: rgba(88, 166, 255, 0.45);
}

.footer-news-modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-news-modal[hidden] {
  display: none;
}

.footer-news-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
}

.footer-news-modal__panel {
  position: relative;
  z-index: 1;
  width: 92%;
  max-width: 520px;
  max-height: 80vh;
  overflow: auto;
  background: #0d1117;
  border: 1px solid rgba(88, 166, 255, 0.35);
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

.footer-news-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--panel-border);
  background: #161b22;
}

.footer-news-modal__h {
  margin: 0;
  font-size: 13px;
}

.footer-news-modal__close {
  font-size: 11px;
  padding: 4px 10px;
  cursor: pointer;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  background: #21262d;
  color: var(--text-primary);
}

.footer-news-modal__body {
  padding: 14px 16px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-primary);
}

.footer-news-modal__body p {
  margin: 0 0 12px 0;
}

.footer-news-meta {
  font-size: 10px;
  color: var(--text-secondary);
  margin-bottom: 10px;
}

.footer-news-symbols {
  font-size: 11px;
  margin-bottom: 10px;
  color: var(--accent-blue);
}

/* Tab hidden: pause ticker marquee (saves CPU) */
html.footer-intel-tab-hidden .dock-ticker-track {
  animation-play-state: paused !important;
}

.dock-sse-status {
  font-size: 7px;
  padding: 1px 5px 2px;
  color: var(--text-secondary);
}

.dock-sse-status--ok {
  color: #3fb950;
}

.dock-sse-status--warn {
  color: #d29922;
}

.dock-ticker-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  flex-shrink: 0;
}

.dock-ticker-dot--fresh {
  background: #3fb950;
  box-shadow: 0 0 6px rgba(63, 185, 80, 0.7);
}

.dock-ticker-dot--delayed {
  background: #d29922;
  box-shadow: 0 0 5px rgba(210, 153, 34, 0.5);
}

.dock-ticker-dot--stale {
  background: #8b949e;
}

.dock-ticker-dot--snap {
  background: #58a6ff;
  opacity: 0.85;
}

.dock-ticker-dot--none {
  background: transparent;
  border: 1px dashed var(--text-secondary);
  box-sizing: border-box;
}

.dock-ticker-pill--nofeed {
  opacity: 0.65;
}

.dock-ticker-pill--snapshot {
  border-style: dashed;
}

.dock-ticker-pill--fresh {
  border-color: rgba(63, 185, 80, 0.35);
}

.dock-ticker-pill--delayed {
  border-color: rgba(210, 153, 34, 0.45);
}

.dock-ticker-pill--stale-age {
  border-color: rgba(139, 148, 158, 0.4);
}

.dock-story-symbols {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 4px 0 2px;
}

.dock-story-chip {
  font-size: 9px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 4px;
  background: rgba(88, 166, 255, 0.12);
  border: 1px solid rgba(88, 166, 255, 0.28);
  color: #79c0ff;
  font-family: var(--monospace);
}

.dock-story-emoji:empty {
  display: none;
}

/* --- Footer intelligence: responsive (Phase 1) --- */
/* Breakpoints: phone ≤479px, tablet 480–767px, desktop ≥768px */

.dock-footer-settings__title {
  display: none;
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--panel-border);
  color: #e6edf3;
}

.dock-footer-settings-backdrop {
  display: none;
}

body.footer-settings-sheet-open {
  overflow: hidden;
}

@media (max-width: 767px) {
  .dock-intel-rails:not(.dock-intel-rails--stacked) {
    flex-direction: column;
    flex-wrap: nowrap;
    overflow-x: hidden;
    overflow-y: visible;
    gap: 4px;
  }

  .dock-intel-rails:not(.dock-intel-rails--stacked) .dock-intel-section {
    flex: 1 1 auto;
    min-width: 0;
  }

  .dock-intel-feed-toggle {
    padding: 8px 10px;
    min-height: 36px;
    font-size: 10px;
  }

  .dock-intelligence {
    gap: 4px;
    padding: 6px 8px 4px;
    max-height: var(--dock-intel-max-h, min(36vh, 320px));
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .dock-intel-title {
    font-size: 9px;
    letter-spacing: 0.1em;
  }

  .dock-intel-settings-btn {
    padding: 6px 10px;
    min-height: 36px;
    font-size: 11px;
  }

  .dock-story-strip {
    max-height: none;
    overflow: hidden;
  }

  .dock-story-seg {
    padding: 6px 10px;
    gap: 8px;
  }

  .dock-story-card-wrap {
    width: min(var(--dock-story-card-w, 150px), 78vw);
    max-width: min(var(--dock-story-card-w, 150px), 85vw);
  }

  .dock-story-card {
    flex: 0 0 auto;
    width: min(var(--dock-story-card-w, 150px), 78vw);
    max-width: min(var(--dock-story-card-w, 150px), 85vw);
    min-width: 0;
    padding: 6px 8px;
    gap: 6px;
  }

  .dock-story-text {
    min-width: 0;
  }

  .dock-story-title {
    font-size: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .dock-story-sub {
    font-size: 9px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .dock-story-emoji {
    font-size: 16px;
  }

  .dock-ticker-strip .dock-sse-status {
    font-size: 8px;
    padding: 2px 6px;
  }

  .dock-ticker-seg {
    gap: 6px;
    padding: 4px 8px;
  }

  .dock-ticker-pill {
    font-size: 9px;
    padding: 3px 6px;
    gap: 4px;
  }

  .dock-ticker-dot {
    width: 6px;
    height: 6px;
  }

  .dock-news-inner {
    min-height: 40px;
    gap: 6px;
  }

  .dock-news-card-wrap {
    width: min(var(--dock-news-card-w, 158px), 72vw);
    max-width: min(var(--dock-news-card-w, 158px), 85vw);
  }

  .dock-news-card {
    width: min(var(--dock-news-card-w, 158px), 72vw);
    min-width: min(var(--dock-news-card-w, 158px), 72vw);
    max-width: min(var(--dock-news-card-w, 158px), 85vw);
    padding: 5px 8px;
  }

  .dock-news-card__kicker {
    font-size: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .dock-news-card__line {
    font-size: 9px;
    -webkit-line-clamp: 2;
  }

  .dock-footer-settings__title {
    display: block;
  }

  .dock-footer-settings-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: calc(var(--z-modal) - 10);
    background: rgba(0, 0, 0, 0.6);
    border: none;
    padding: 0;
    margin: 0;
  }

  .dock-footer-settings-backdrop[hidden] {
    display: none !important;
  }

  .dock-footer-settings:not([hidden]) {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: var(--z-modal);
    max-height: min(88vh, 640px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0;
    padding: 12px 14px calc(20px + env(safe-area-inset-bottom, 0px));
    border-radius: 14px 14px 0 0;
    border: 1px solid rgba(88, 166, 255, 0.4);
    border-bottom: none;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.45);
  }

  .dock-footer-settings__inner {
    max-width: none;
  }

  .dock-footer-input {
    font-size: 16px;
    min-height: 40px;
  }

  .footer-news-modal {
    align-items: flex-end;
    justify-content: stretch;
  }

  .footer-news-modal__panel {
    width: 100%;
    max-width: none;
    min-height: 40vh;
    max-height: min(92vh, 900px);
    border-radius: 14px 14px 0 0;
    margin: 0;
    align-self: flex-end;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .footer-news-modal__h {
    font-size: 12px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding-right: 8px;
  }

  .footer-news-modal__body {
    padding: 12px 14px 20px;
    font-size: 13px;
  }
}

@media (min-width: 768px) {
  .dock-footer-settings:not([hidden]) {
    position: relative;
  }
}

@media (max-width: 479px) {
  .dock-story-strip {
    max-height: min(20vh, 180px);
  }

  .dock-ticker-pill {
    font-size: 8px;
    padding: 2px 5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dock-ticker-track {
    animation-duration: 120s !important;
    animation-timing-function: linear;
  }

  .dock-news-card:hover {
    transform: none;
  }

  .dock-story-strip[aria-busy='true'],
  .dock-story-strip.dock-story-strip--loading {
    transition: none;
    opacity: 1;
  }

  .dock-story-strip[data-narrative-cached='true'] {
    box-shadow: none;
  }

  .dock-intelligence {
    transition: none;
  }
}

/* Story cards as buttons (Phase 2 detail). Do not set width:100% — it overrides .dock-story-card
   fixed widths and causes horizontal flex cards to overlap in the marquee. */
button.dock-story-card {
  font: inherit;
  color: var(--text-primary);
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

button.dock-geo-card,
button.dock-news-card {
  font: inherit;
  color: var(--text-primary);
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

button.dock-story-card:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.65);
  outline-offset: 2px;
}

.footer-story-modal__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  margin-bottom: 12px;
  font-size: 11px;
  color: var(--text-secondary);
}

.footer-story-modal__badge {
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.footer-story-modal__badge--high {
  color: #f85149;
  border: 1px solid rgba(248, 81, 73, 0.45);
  background: rgba(248, 81, 73, 0.1);
}

.footer-story-modal__badge--medium {
  color: #d29922;
  border: 1px solid rgba(210, 153, 34, 0.4);
  background: rgba(210, 153, 34, 0.1);
}

.footer-story-modal__badge--low {
  color: #8b949e;
  border: 1px solid rgba(139, 148, 158, 0.35);
}

.footer-story-modal__meta-item {
  font-size: 10px;
}

.footer-story-modal__watch {
  margin-bottom: 10px;
  font-size: 11px;
  line-height: 1.5;
}

.footer-story-modal__symbols {
  margin-bottom: 12px;
  font-size: 11px;
  line-height: 1.5;
}

.footer-story-modal__summary {
  margin-bottom: 12px;
  font-size: 12px;
  line-height: 1.45;
}

.footer-story-modal__section {
  margin-bottom: 14px;
}

.footer-story-modal__section--muted {
  color: var(--text-secondary);
  font-size: 11px;
}

.footer-story-modal__h3 {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
  color: #79c0ff;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.footer-story-modal__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-story-modal__li {
  padding: 10px 0;
  border-bottom: 1px solid rgba(48, 54, 61, 0.85);
}

.footer-story-modal__li:last-child {
  border-bottom: none;
}

.footer-story-modal__li-title {
  font-weight: 700;
  font-size: 12px;
  margin-bottom: 4px;
}

.footer-story-modal__li-meta {
  font-size: 10px;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

.footer-story-modal__li-sum {
  margin: 6px 0;
  font-size: 11px;
  line-height: 1.4;
}

.footer-story-modal__link {
  font-size: 11px;
  color: #58a6ff;
}

.footer-story-modal__empty,
.footer-story-modal__err {
  font-size: 11px;
  color: var(--text-secondary);
}

.footer-story-modal__err {
  color: #f85149;
}

.footer-story-modal__loading {
  font-size: 12px;
  color: var(--text-secondary);
}

.footer-story-modal__feedback {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--panel-border, #30363d);
  background: rgba(88, 166, 255, 0.05);
}

.footer-story-modal__feedback-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-right: 4px;
}

.footer-story-modal__feedback-btn {
  font-size: 11px;
  padding: 5px 10px;
  border-radius: 4px;
  border: 1px solid var(--panel-border, #30363d);
  background: #21262d;
  color: var(--text-primary);
  cursor: pointer;
}

.footer-story-modal__feedback-btn:hover {
  border-color: #58a6ff;
  color: #58a6ff;
}

.footer-story-modal__feedback-btn--muted {
  opacity: 0.9;
}

.footer-story-modal__feedback-status {
  flex: 1 1 100%;
  margin: 0;
  font-size: 10px;
  color: var(--text-secondary);
  min-height: 1.2em;
}

.footer-story-modal__journal-bar {
  padding: 10px 16px 12px;
  border-bottom: 1px solid var(--panel-border, #30363d);
  background: rgba(163, 113, 247, 0.06);
}

.footer-story-modal__journal-row {
  margin-bottom: 8px;
}

.footer-story-modal__journal-row--inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.footer-story-modal__journal-label {
  display: block;
  font-size: 10px;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

.footer-story-modal__journal-row--inline .footer-story-modal__journal-label {
  margin-bottom: 0;
  flex: 0 0 auto;
}

.footer-story-modal__journal-textarea,
.footer-story-modal__journal-input {
  width: 100%;
  box-sizing: border-box;
  background: #0d1117;
  border: 1px solid var(--panel-border, #30363d);
  color: var(--text-primary);
  border-radius: 4px;
  padding: 6px 8px;
  font-size: 11px;
  font-family: inherit;
}

.footer-story-modal__journal-row--inline .footer-story-modal__journal-input {
  flex: 1 1 160px;
  min-width: 120px;
  max-width: 280px;
}

.footer-story-modal__journal-save {
  flex-shrink: 0;
  font-size: 11px;
  padding: 6px 12px;
}

.footer-story-modal__journal-status {
  margin: 6px 0 0;
  font-size: 10px;
  color: var(--text-secondary);
  min-height: 1.2em;
}

/* Anonymous dashboard demo (?demo=1) */
.pitstrike-demo-banner {
  flex: 0 0 auto;
  padding: 8px 12px;
  background: linear-gradient(90deg, #142a22, #0d1f18);
  color: #c8f5dc;
  border-bottom: 1px solid var(--accent-green, #3fb950);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  z-index: 200;
}

.pitstrike-demo-banner__inner {
  max-width: 1800px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
  text-align: center;
}

.pitstrike-demo-banner__text {
  flex: 1 1 220px;
  min-width: 200px;
}

.pitstrike-demo-banner__actions {
  flex: 0 0 auto;
  font-weight: 500;
  white-space: nowrap;
}

.pitstrike-demo-banner__link {
  color: #7ee2b8;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.pitstrike-demo-banner__link--primary {
  color: #fff;
  font-weight: 700;
}

.pitstrike-demo-banner__link:hover {
  color: #fff;
}

.pitstrike-demo-locked-control,
button.pitstrike-demo-locked-control:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  filter: grayscale(0.35);
}

input.pitstrike-demo-locked-control,
textarea.pitstrike-demo-locked-control {
  opacity: 0.65;
  cursor: not-allowed;
}

.pitstrike-demo-onboarding-hint {
  margin: 0 0 12px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 500;
  color: var(--accent-blue, #58a6ff);
  background: rgba(88, 166, 255, 0.08);
  border: 1px solid rgba(88, 166, 255, 0.35);
  border-radius: 6px;
}

.pitstrike-demo-upgrade-strip {
  margin: 0 0 10px;
  padding: 8px 10px;
  font-size: 11px;
  line-height: 1.35;
  color: #c9d1d9;
  background: rgba(88, 166, 255, 0.06);
  border: 1px solid rgba(88, 166, 255, 0.28);
  border-radius: 6px;
}

.pitstrike-demo-upgrade-strip a {
  color: var(--accent-blue, #58a6ff);
  font-weight: 600;
}

/* ========== AI Hub clipping desk v2 (overrides + new; ai-hub.html scrapbook) ========== */
.ai-hub-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.ai-hub-scrapbook-hero {
  margin: 0 0 16px;
}
.ai-hub-scrapbook-hero__title {
  margin: 0 0 6px;
  font-size: 20px;
  font-weight: 750;
  letter-spacing: -0.02em;
}
.ai-hub-scrapbook-hero__sub {
  margin: 0;
  max-width: 56ch;
  font-size: 13px;
  line-height: 1.5;
  color: #9da7b2;
}

.ai-hub-clip-desk {
  display: grid;
  grid-template-columns: minmax(200px, 240px) minmax(0, 1fr) minmax(260px, 340px);
  gap: 22px 24px;
  align-items: start;
  margin: 0 0 28px;
  max-width: 1200px;
}
@media (max-width: 1024px) {
  .ai-hub-clip-desk {
    grid-template-columns: 1fr;
  }
}

.ai-hub-clip-desk__rail--curated {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.ai-hub-clip-desk__rail-block {
  padding: 14px;
  border-radius: 12px;
  border: 1px solid rgba(48, 54, 61, 0.55);
  background: linear-gradient(160deg, rgba(20, 28, 40, 0.9) 0%, rgba(10, 14, 22, 0.95) 100%);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
}

.ai-hub-board-tiles {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ai-hub-board-tile {
  display: block;
  width: 100%;
  text-align: left;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  padding: 10px 12px 10px 14px;
  border-radius: 10px;
  border: 1px solid rgba(48, 54, 61, 0.75);
  background: rgba(8, 12, 18, 0.65);
  color: var(--text-primary, #e6edf3);
  cursor: pointer;
  position: relative;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.ai-hub-board-tile::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 2px;
  background: transparent;
}
.ai-hub-board-tile:hover {
  transform: translateY(-2px);
  border-color: rgba(88, 166, 255, 0.35);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}
.ai-hub-board-tile.is-active {
  border-color: rgba(88, 166, 255, 0.55);
  background: rgba(88, 166, 255, 0.1);
  box-shadow: 0 0 0 1px rgba(88, 166, 255, 0.2);
}
.ai-hub-board-tile.is-active::before {
  background: linear-gradient(180deg, #58a6ff, #a371f7);
}
.ai-hub-board-tile__count {
  display: block;
  font-size: 10px;
  font-weight: 600;
  color: #8b949e;
  margin-top: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .ai-hub-board-tile {
    transition: none;
  }
  .ai-hub-board-tile:hover {
    transform: none;
  }
}

.ai-hub-preview-stack {
  min-height: 40px;
  padding: 6px 0;
}
.ai-hub-preview-stack__card {
  display: block;
  font-size: 11px;
  line-height: 1.35;
  padding: 8px 10px;
  margin-bottom: -8px;
  border-radius: 8px;
  border: 1px solid rgba(48, 54, 61, 0.65);
  background: rgba(18, 24, 34, 0.95);
  color: #c9d1d9;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}
.ai-hub-preview-stack__card:nth-child(1) {
  transform: rotate(-1.2deg);
  position: relative;
  z-index: 3;
}
.ai-hub-preview-stack__card:nth-child(2) {
  transform: rotate(0.8deg);
  margin-left: 6px;
  z-index: 2;
}
.ai-hub-preview-stack__card:nth-child(3) {
  transform: rotate(-0.5deg);
  margin-left: 3px;
  z-index: 1;
}

.ai-hub-quickadd-sticky .ai-hub-scrapbook-quickadd--rail {
  margin: 0;
  border-radius: 10px;
  border: 1px dashed rgba(210, 153, 34, 0.35);
  background: linear-gradient(145deg, rgba(40, 32, 20, 0.45) 0%, rgba(18, 22, 30, 0.88) 100%);
  padding: 10px 12px;
}
.ai-hub-scrapbook-quickadd--rail .ai-hub-scrapbook-quickadd__summary {
  font-size: 12px;
  font-weight: 700;
  color: #f0d08a;
}
.ai-hub-scrapbook-form__journal-label {
  font-weight: 500;
  font-size: 12px;
}

.ai-hub-clip-desk__center {
  min-width: 0;
}
.ai-hub-clip-desk__feed {
  gap: 12px;
  max-height: min(64vh, 560px);
  padding: 4px 6px 8px 2px;
}

@keyframes ai-hub-shimmer-bar {
  0% {
    background-position: -100% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
.ai-hub-feed-skeleton {
  height: 92px;
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(30, 38, 52, 0.5) 0%, rgba(50, 60, 78, 0.85) 50%, rgba(30, 38, 52, 0.5) 100%);
  background-size: 200% 100%;
  border: 1px solid rgba(48, 54, 61, 0.4);
  margin-bottom: 10px;
}
@media (prefers-reduced-motion: no-preference) {
  .ai-hub-scrapbook-feed--loading .ai-hub-feed-skeleton {
    animation: ai-hub-shimmer-bar 1.1s ease-in-out infinite;
  }
}

.ai-hub-signal-tile {
  position: relative;
  border-radius: 12px;
  border: 1px solid rgba(48, 54, 61, 0.75);
  background: linear-gradient(165deg, rgba(22, 28, 38, 0.95) 0%, rgba(12, 16, 24, 0.98) 100%);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .ai-hub-signal-tile:hover {
    transform: translateY(-3px);
    border-color: rgba(88, 166, 255, 0.4);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(88, 166, 255, 0.12);
  }
}
.ai-hub-signal-tile--selected {
  border-color: rgba(88, 166, 255, 0.65);
  background: linear-gradient(165deg, rgba(30, 42, 62, 0.98) 0%, rgba(18, 28, 48, 0.98) 100%);
  box-shadow: 0 0 0 1px rgba(88, 166, 255, 0.25), 0 12px 36px rgba(88, 166, 255, 0.1);
}
@media (prefers-reduced-motion: no-preference) {
  .ai-hub-signal-tile--selected {
    transform: scale(1.01);
  }
}
@keyframes ai-hub-save-pulse {
  0% {
    transform: scale(1);
  }
  35% {
    transform: scale(1.05);
    border-color: rgba(63, 185, 80, 0.9);
    box-shadow: 0 0 24px rgba(63, 185, 80, 0.35);
  }
  100% {
    transform: scale(1);
  }
}
.ai-hub-signal-tile--saved-flash {
  animation: ai-hub-save-pulse 0.75s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .ai-hub-signal-tile:hover {
    transform: none;
  }
  .ai-hub-signal-tile--selected {
    transform: none;
  }
  .ai-hub-signal-tile--saved-flash {
    animation: none;
    border-color: #3fb950;
  }
}

.ai-hub-signal-tile__main {
  display: block;
  width: 100%;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
  padding: 12px 14px 8px;
  border: none;
  background: transparent;
  border-radius: 12px;
}
.ai-hub-signal-tile__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 6px;
}
.ai-hub-signal-tile__rank {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8b949e;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(48, 54, 61, 0.45);
}
.ai-hub-signal-tile__headline {
  flex: 1 1 100%;
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  color: #f0f6fc;
}
.ai-hub-signal-tile__why {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.45;
  color: #9da7b2;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ai-hub-hub-metric-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 8px;
}
.ai-hub-hub-metric {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ai-hub-hub-metric__lbl {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6e7681;
  width: 72px;
  flex-shrink: 0;
}
.ai-hub-hub-metric__track {
  flex: 1;
  height: 5px;
  border-radius: 999px;
  background: rgba(48, 54, 61, 0.65);
  overflow: hidden;
}
.ai-hub-hub-metric__fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #238636, #3fb950);
}
.ai-hub-hub-metric--confidence .ai-hub-hub-metric__fill {
  background: linear-gradient(90deg, #1f6feb, #58a6ff);
}
.ai-hub-signal-tile__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 4px;
}
.ai-hub-tag-pill {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(139, 148, 158, 0.35);
  color: #8b949e;
}
.ai-hub-tag-pill--signal {
  border-color: rgba(210, 153, 34, 0.45);
  color: #f0d08a;
  background: rgba(210, 153, 34, 0.08);
}
.ai-hub-tag-pill--urgent {
  border-color: rgba(248, 81, 73, 0.5);
  color: #ff9b94;
}
.ai-hub-signal-tile__meta {
  font-size: 10px;
  color: #6e7681;
}
.ai-hub-signal-tile__clipped {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(63, 185, 80, 0.18);
  color: #3fb950;
  border: 1px solid rgba(63, 185, 80, 0.35);
}
.ai-hub-signal-tile__tickers {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}
.ai-hub-signal-tile__sym {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid rgba(139, 148, 158, 0.3);
  color: #8b949e;
}
.ai-hub-signal-tile__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 10px 10px 12px;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.2s ease, max-height 0.25s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .ai-hub-signal-tile:hover .ai-hub-signal-tile__actions,
  .ai-hub-signal-tile:focus-within .ai-hub-signal-tile__actions {
    opacity: 1;
    max-height: 48px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ai-hub-signal-tile__actions {
    opacity: 1;
    max-height: none;
    padding-top: 4px;
  }
}
.ai-hub-signal-tile__act {
  font: inherit;
  font-size: 11px;
  font-weight: 650;
  padding: 5px 10px;
  border-radius: 6px;
  border: 1px solid rgba(88, 166, 255, 0.35);
  background: rgba(88, 166, 255, 0.08);
  color: #79b8ff;
  cursor: pointer;
}
.ai-hub-signal-tile__act--pin.is-pinned {
  border-color: rgba(163, 113, 247, 0.55);
  background: rgba(163, 113, 247, 0.15);
  color: #d8b4fe;
}

.ai-hub-feed-empty {
  padding: var(--ps-space-xl) var(--ps-space-lg);
  text-align: center;
  border-radius: var(--ps-radius-lg);
  border: 1px dashed var(--ps-empty-dash);
  background: var(--ps-empty-fill);
  box-sizing: border-box;
}
.ai-hub-feed-empty__title {
  margin: 0 0 var(--ps-space-sm);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: -0.015em;
  color: #c9d1d9;
}
.ai-hub-feed-empty__sub {
  margin: 0;
  font-size: 12px;
  color: #8b949e;
  line-height: 1.55;
}

.ai-hub-clip-desk__inspector.ai-hub-inspector-shell {
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(88, 166, 255, 0.15);
  background: linear-gradient(165deg, rgba(22, 30, 44, 0.95) 0%, rgba(10, 14, 22, 0.98) 100%);
  max-height: min(64vh, 560px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
}
@keyframes ai-hub-inspector-enter {
  from {
    opacity: 0;
    transform: translateX(8px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.ai-hub-inspector-shell.ai-hub-inspector--enter .ai-hub-inspector__inner {
  animation: ai-hub-inspector-enter 0.18s ease-out both;
}
@media (prefers-reduced-motion: reduce) {
  .ai-hub-inspector-shell.ai-hub-inspector--enter .ai-hub-inspector__inner {
    animation: none;
  }
}
.ai-hub-inspector__block {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(48, 54, 61, 0.45);
}
.ai-hub-inspector__block:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.ai-hub-inspector__block--why {
  padding: 12px 14px;
  margin-bottom: 16px;
  border-radius: 10px;
  border: 1px solid rgba(210, 153, 34, 0.25);
  background: rgba(210, 153, 34, 0.06);
  border-bottom: none;
}
.ai-hub-inspector__block--ai {
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(163, 113, 247, 0.35);
  background: linear-gradient(135deg, rgba(163, 113, 247, 0.12) 0%, rgba(88, 166, 255, 0.06) 100%);
  border-bottom: none;
}
.ai-hub-inspector__sec-h--fire {
  color: #f0d08a;
}
.ai-hub-inspector__tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.ai-hub-board-canvas-section {
  margin: 0 0 24px;
  padding: 18px;
  border-radius: 14px;
  border: 1px solid rgba(48, 54, 61, 0.5);
  background: linear-gradient(180deg, rgba(16, 22, 32, 0.9) 0%, rgba(8, 11, 18, 0.95) 100%);
}
.ai-hub-board-canvas-section__title {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 750;
}
.ai-hub-board-canvas-section__hint {
  margin: 0 0 12px;
  font-size: 12px;
  color: #8b949e;
  max-width: 60ch;
}
.ai-hub-board-canvas {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding: 12px 8px 16px;
  gap: 0;
}
.ai-hub-board-canvas__card {
  flex: 0 0 auto;
  width: min(200px, 72vw);
  margin-right: -24px;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(48, 54, 61, 0.75);
  background: linear-gradient(160deg, rgba(28, 36, 48, 0.98) 0%, rgba(14, 18, 26, 0.98) 100%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  position: relative;
  z-index: 1;
  transform: rotate(-1.5deg);
  transition: transform 0.2s ease, z-index 0s linear;
}
.ai-hub-board-canvas__card:nth-child(even) {
  transform: rotate(1deg);
  z-index: 2;
}
.ai-hub-board-canvas__card:hover {
  transform: rotate(0deg) translateY(-4px);
  z-index: 10;
}
@media (prefers-reduced-motion: reduce) {
  .ai-hub-board-canvas__card {
    transform: none;
    margin-right: 10px;
  }
  .ai-hub-board-canvas__card:hover {
    transform: none;
  }
}
.ai-hub-board-canvas__card-title {
  margin: 0;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
  color: #f0f6fc;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ai-hub-board-canvas__card-meta {
  margin-top: 8px;
  font-size: 10px;
  color: #6e7681;
}

.ai-hub-quickadd-sticky .ai-hub-scrapbook-form {
  max-width: none;
  margin-bottom: 0;
}

/* --- AI Hub overview command layout (full page) --- */
.ai-hub-diag-wrap {
  margin: 0 0 16px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid rgba(48, 54, 61, 0.55);
  background: rgba(10, 14, 22, 0.55);
}
.ai-hub-diag-wrap__summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 650;
  color: #8b949e;
  list-style-position: outside;
}
.ai-hub-diag-wrap__summary:hover {
  color: #c9d1d9;
}

.ai-hub-overview-hero-wrap {
  margin: 0 0 18px;
}

.ai-hub-cmd-strip {
  margin: 0 0 20px;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(88, 166, 255, 0.22);
  background: linear-gradient(165deg, rgba(16, 22, 34, 0.95) 0%, rgba(8, 11, 18, 0.98) 100%);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.22);
}
.ai-hub-cmd-strip__primary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 16px;
  margin-bottom: 14px;
}
.ai-hub-cmd-strip__title {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #79b8ff;
}
.ai-hub-cmd-strip__meta {
  font-size: 13px;
  color: #e6edf3;
  line-height: 1.45;
}
.ai-hub-cmd-strip__meters {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px 14px;
}
.ai-hub-cmd-meter {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 4px 8px;
  align-items: center;
  font-size: 11px;
  color: #8b949e;
}
.ai-hub-cmd-meter--compact {
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
}
.ai-hub-cmd-meter__lbl {
  grid-column: 1 / -1;
  font-weight: 650;
  color: #b1bac4;
}
.ai-hub-cmd-meter__track {
  height: 6px;
  border-radius: 999px;
  background: rgba(48, 54, 61, 0.65);
  overflow: hidden;
}
.ai-hub-cmd-meter__fill {
  height: 100%;
  border-radius: 999px;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .ai-hub-cmd-meter__fill {
    transition: none;
  }
}
.ai-hub-cmd-meter__fill--blue {
  background: linear-gradient(90deg, #388bfd, #58a6ff);
}
.ai-hub-cmd-meter__fill--violet {
  background: linear-gradient(90deg, #8957e5, #a371f7);
}
.ai-hub-cmd-meter__fill--risk {
  background: linear-gradient(90deg, #da3633, #f85149);
}
.ai-hub-cmd-meter__val {
  font-weight: 700;
  color: #f0f6fc;
  font-variant-numeric: tabular-nums;
}
.ai-hub-cmd-strip__anchor {
  margin: 14px 0 0;
  font-size: 12px;
  color: #8b949e;
}

.ai-hub-change-lane {
  margin: 0 0 18px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(48, 54, 61, 0.55);
  background: rgba(12, 16, 24, 0.72);
}
.ai-hub-change-lane--quiet {
  border-style: dashed;
  opacity: 0.92;
}
.ai-hub-change-lane__title {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #d29922;
}
.ai-hub-change-lane__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ai-hub-change-chip {
  font-size: 12px;
  line-height: 1.35;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid rgba(88, 166, 255, 0.28);
  background: rgba(88, 166, 255, 0.07);
  color: #e6edf3;
}
.ai-hub-change-chip--urgent {
  border-color: rgba(248, 81, 73, 0.45);
  background: rgba(248, 81, 73, 0.1);
}
.ai-hub-change-chip--fading {
  border-color: rgba(139, 148, 158, 0.45);
  background: rgba(110, 118, 129, 0.12);
}
.ai-hub-change-chip--rise {
  border-color: rgba(63, 185, 80, 0.4);
  background: rgba(63, 185, 80, 0.1);
}
.ai-hub-change-chip--thread {
  border-color: rgba(163, 113, 247, 0.45);
  background: rgba(163, 113, 247, 0.1);
}

.ai-hub-intel-strip {
  margin: 0 0 22px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(163, 113, 247, 0.18);
  background: rgba(18, 12, 28, 0.45);
}
.ai-hub-intel-strip__title {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #d2a8ff;
}
.ai-hub-intel-strip__row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ai-hub-intel-chip {
  font-size: 11px;
  font-weight: 650;
  padding: 5px 10px;
  border-radius: 8px;
  border: 1px solid rgba(139, 148, 158, 0.35);
  background: rgba(22, 27, 34, 0.85);
  color: #e6edf3;
}
.ai-hub-intel-chip em {
  font-style: normal;
  font-weight: 800;
  color: #58a6ff;
  margin-left: 4px;
}
.ai-hub-intel-chip--watch {
  border-color: rgba(210, 153, 34, 0.5);
  color: #e3b341;
}
.ai-hub-intel-chip--esc {
  border-color: rgba(248, 81, 73, 0.45);
  color: #ffa198;
}
.ai-hub-intel-strip__desk {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: #b1bac4;
}

.ai-hub-overview-signal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
  margin-bottom: 8px;
}

.ai-hub-overview-signal-tile {
  text-align: left;
  padding: 12px 14px 14px;
  border-radius: 12px;
  border: 1px solid rgba(48, 54, 61, 0.75);
  background: linear-gradient(160deg, rgba(22, 28, 38, 0.98) 0%, rgba(10, 14, 22, 0.98) 100%);
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
@media (prefers-reduced-motion: reduce) {
  .ai-hub-overview-signal-tile {
    transition: none;
  }
}
.ai-hub-overview-signal-tile:hover {
  border-color: rgba(88, 166, 255, 0.42);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}
.ai-hub-overview-signal-tile:focus-visible {
  outline: 2px solid rgba(88, 166, 255, 0.75);
  outline-offset: 2px;
}
.ai-hub-overview-signal-tile.is-selected {
  border-color: rgba(88, 166, 255, 0.65);
  box-shadow: 0 0 0 1px rgba(88, 166, 255, 0.25), 0 10px 32px rgba(88, 166, 255, 0.08);
}
.ai-hub-overview-signal-tile.ai-hub-brief-card--rank-1 {
  border-color: rgba(63, 185, 80, 0.45);
}
.ai-hub-overview-signal-tile.ai-hub-brief-card--rank-tier2 {
  border-color: rgba(88, 166, 255, 0.4);
}

.ai-hub-overview-tile__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.ai-hub-overview-tile__rank {
  font-size: 12px;
  font-weight: 800;
  color: #8b949e;
  font-variant-numeric: tabular-nums;
}
.ai-hub-overview-tile__title {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  color: #f0f6fc;
}
.ai-hub-overview-tile__meters {
  display: flex;
  gap: 10px;
  margin-bottom: 8px;
}
.ai-hub-overview-tile__meter {
  flex: 1;
  min-width: 0;
}
.ai-hub-overview-tile__meter-lbl {
  display: block;
  font-size: 10px;
  font-weight: 650;
  color: #6e7681;
  margin-bottom: 3px;
}
.ai-hub-overview-tile__track {
  height: 5px;
  border-radius: 999px;
  background: rgba(48, 54, 61, 0.65);
  overflow: hidden;
}
.ai-hub-overview-tile__fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #388bfd, #58a6ff);
}
.ai-hub-overview-tile__fill--conf {
  background: linear-gradient(90deg, #8957e5, #a371f7);
}
.ai-hub-overview-tile__why {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.45;
  color: #b1bac4;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ai-hub-overview-tile__actions {
  padding-top: 8px;
  border-top: 1px solid rgba(48, 54, 61, 0.45);
}
.ai-hub-overview-tile__actions .ai-hub-brief-card__scrapbook {
  width: 100%;
  justify-content: center;
  display: inline-flex;
}

.ai-hub-overview-detail__inner .ai-hub-brief-card {
  margin-top: 0;
}
.ai-hub-overview-detail__empty {
  margin: 0;
  padding: 12px 0;
}

/* pitstrike-trading-workstation-pro — operator terminal polish */
.pitstrike-trading-workstation-pro .ws-pro-card {
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.22);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.pitstrike-trading-workstation-pro .ws-pro-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
  border-color: rgba(88, 166, 255, 0.35) !important;
}
.pitstrike-trading-workstation-pro .ws-pro-subtabs .cockpit-dock-tab.is-active {
  box-shadow: 0 0 0 1px rgba(88, 166, 255, 0.45), 0 0 14px rgba(88, 166, 255, 0.25);
}
.pitstrike-trading-workstation-pro .ws-pro-pulse {
  animation: pitstrike-tw-pro-kf-pulse 1.6s ease-in-out infinite;
}
@keyframes pitstrike-tw-pro-kf-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(63, 185, 80, 0.35);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(63, 185, 80, 0);
  }
}
.pitstrike-trading-workstation-pro .ws-pro-flash-up {
  animation: pitstrike-tw-pro-kf-flash-up 0.65s ease-out;
}
.pitstrike-trading-workstation-pro .ws-pro-flash-down {
  animation: pitstrike-tw-pro-kf-flash-down 0.65s ease-out;
}
@keyframes pitstrike-tw-pro-kf-flash-up {
  0% {
    color: var(--text-primary);
  }
  35% {
    color: #3fb950;
  }
  100% {
    color: var(--text-primary);
  }
}
@keyframes pitstrike-tw-pro-kf-flash-down {
  0% {
    color: var(--text-primary);
  }
  35% {
    color: #f85149;
  }
  100% {
    color: var(--text-primary);
  }
}
.pitstrike-trading-workstation-pro .ws-pro-activity-tape:empty::before {
  content: '';
  display: block;
}
.pitstrike-trading-workstation-pro .trading-activity-guidance {
  font-style: italic;
  opacity: 0.88;
  border-left: 2px solid rgba(88, 166, 255, 0.35);
  padding-left: 8px;
}
.pitstrike-trading-workstation-pro .ws-pro-mini-banner {
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 11px;
  line-height: 1.45;
  border: 1px solid var(--panel-border);
  margin-bottom: 2px;
}
.pitstrike-trading-workstation-pro .ws-pro-mini-banner--ready {
  border-color: rgba(63, 185, 80, 0.45);
  background: rgba(63, 185, 80, 0.08);
}
.pitstrike-trading-workstation-pro .ws-pro-mini-banner--degraded {
  border-color: rgba(210, 153, 34, 0.5);
  background: rgba(210, 153, 34, 0.1);
}
.pitstrike-trading-workstation-pro .ws-pro-mini-banner--blocked {
  border-color: rgba(248, 81, 73, 0.55);
  background: rgba(248, 81, 73, 0.1);
}
.pitstrike-trading-workstation-pro .ws-pro-mini-banner__title {
  font-weight: 750;
  margin-bottom: 4px;
  color: var(--text-primary);
}
.pitstrike-trading-workstation-pro .ws-pro-mini-banner__list {
  margin: 0;
  padding-left: 18px;
  color: var(--text-secondary);
  font-size: 10px;
}
.pitstrike-trading-workstation-pro .ws-pro-stat-card {
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 8px 10px;
  background: rgba(0, 0, 0, 0.18);
}
.pitstrike-trading-workstation-pro .ws-pro-stat-card__label {
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(201, 209, 217, 0.75);
  font-weight: 650;
}
.pitstrike-trading-workstation-pro .ws-pro-stat-card__value {
  font-size: 14px;
  font-weight: 800;
  margin-top: 4px;
  color: var(--text-primary);
}
.pitstrike-trading-workstation-pro .ws-pro-stat-card__sub {
  font-size: 10px;
  color: var(--text-secondary);
  margin-top: 4px;
  line-height: 1.35;
}
.pitstrike-trading-workstation-pro .ws-pro-empty {
  border: 1px dashed rgba(88, 166, 255, 0.25);
  border-radius: 8px;
  padding: 12px;
  background: rgba(88, 166, 255, 0.04);
}
.pitstrike-trading-workstation-pro .ws-pro-empty__title {
  font-weight: 700;
  font-size: 11px;
  margin-bottom: 4px;
}
.pitstrike-trading-workstation-pro .ws-pro-empty__body,
.pitstrike-trading-workstation-pro .ws-pro-empty__tip {
  font-size: 10px;
  color: var(--text-secondary);
  line-height: 1.4;
}
.pitstrike-trading-workstation-pro .ws-pro-meter {
  height: 6px;
  border-radius: 999px;
  background: rgba(48, 54, 61, 0.75);
  overflow: hidden;
}
.pitstrike-trading-workstation-pro .ws-pro-meter__fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #388bfd, #58a6ff);
  transition: width 0.25s ease;
}
.pitstrike-trading-workstation-pro .ws-pro-meter__fill--policy {
  background: linear-gradient(90deg, #8957e5, #a371f7);
}
.pitstrike-trading-workstation-pro .ws-pro-risk-meter {
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 8px;
  background: rgba(0, 0, 0, 0.15);
}
.pitstrike-trading-workstation-pro .ws-pro-risk-card {
  border-radius: 8px;
}
.pitstrike-trading-workstation-pro .ws-pro-ord-chip {
  display: inline-block;
  font-size: 9px;
  font-weight: 650;
  padding: 2px 6px;
  border-radius: 999px;
  border: 1px solid var(--panel-border);
  margin-right: 4px;
}
.pitstrike-trading-workstation-pro .ws-pro-ord-chip--pending {
  border-color: rgba(210, 153, 34, 0.5);
  color: #e3b341;
}
.pitstrike-trading-workstation-pro .ws-pro-ord-chip--working {
  border-color: rgba(88, 166, 255, 0.5);
  color: #79c0ff;
}
.pitstrike-trading-workstation-pro .ws-pro-ord-chip--partial {
  border-color: rgba(163, 113, 247, 0.5);
  color: #d2a8ff;
}
.pitstrike-trading-workstation-pro .ws-pro-ord-chip--canceled {
  border-color: rgba(139, 148, 158, 0.5);
  color: var(--text-secondary);
}
.pitstrike-trading-workstation-pro .ws-pro-ord-chip--unknown {
  color: var(--text-secondary);
}
.pitstrike-trading-workstation-pro .ws-pro-btn-execute.primary {
  box-shadow: 0 0 0 1px rgba(88, 166, 255, 0.35);
  font-weight: 700;
}
.pitstrike-trading-workstation-pro .ws-pro-btn-panic.danger {
  font-weight: 700;
  border-width: 2px;
}
.pitstrike-trading-workstation-pro .ws-pro-favorites .risk-tag[data-contract-selected='true'] {
  box-shadow: 0 0 0 2px rgba(88, 166, 255, 0.45);
  border-color: rgba(88, 166, 255, 0.55);
}
.pitstrike-trading-workstation-pro #trading-account-strip .risk-tag.fresh {
  box-shadow: 0 0 10px rgba(63, 185, 80, 0.22);
}
.pitstrike-trading-workstation-pro #trading-account-strip .risk-tag.warn {
  box-shadow: 0 0 8px rgba(210, 153, 34, 0.2);
}
.pitstrike-trading-workstation-pro .ws-pro-micro {
  font-size: 9px;
  color: var(--text-secondary);
  margin-top: 4px;
  line-height: 1.35;
}

/* Decision layer — gate, execution summary, contract arm state */
.pitstrike-trading-workstation-pro .ws-pro-exec-summary__k {
  font-size: 9px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(201, 209, 217, 0.72);
  font-weight: 650;
}
.pitstrike-trading-workstation-pro #trading-exec-context.ws-pro-exec-context--ready {
  border-color: rgba(63, 185, 80, 0.28) !important;
  background: rgba(63, 185, 80, 0.07) !important;
}
.pitstrike-trading-workstation-pro #trading-exec-context.ws-pro-exec-context--blocked {
  border-color: rgba(210, 153, 34, 0.45) !important;
  background: rgba(210, 153, 34, 0.1) !important;
}
.pitstrike-trading-workstation-pro #trading-gate-banner.ws-pro-gate-banner {
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 10px;
  line-height: 1.45;
}
.pitstrike-trading-workstation-pro #trading-gate-banner.ws-pro-gate-banner--caution {
  border: 1px solid rgba(210, 153, 34, 0.55);
  background: rgba(210, 153, 34, 0.14);
  color: #e3b341;
}
.pitstrike-trading-workstation-pro #trading-gate-banner.ws-pro-gate-banner--blocked {
  border: 1px solid rgba(248, 81, 73, 0.55);
  background: rgba(248, 81, 73, 0.12);
  color: #ffa198;
}
.pitstrike-trading-workstation-pro .ws-pro-contract--armed {
  border-left: 3px solid rgba(63, 185, 80, 0.65);
  padding-left: 11px;
}
.pitstrike-trading-workstation-pro .ws-pro-contract--unarmed {
  border-left: 3px solid rgba(139, 148, 158, 0.35);
  padding-left: 11px;
}
.pitstrike-trading-workstation-pro .ws-pro-pos-pill {
  display: inline-block;
  font-size: 9px;
  font-weight: 750;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(63, 185, 80, 0.45);
  color: #3fb950;
}
.pitstrike-trading-workstation-pro .ws-pro-pos-pill--warn {
  border-color: rgba(210, 153, 34, 0.55) !important;
  color: #e3b341 !important;
}

/* Order desk — premium execution terminal (Order subpanel only) */
@keyframes pitstrike-order-alert-breathe {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(248, 81, 73, 0.35),
      0 4px 28px rgba(248, 81, 73, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.06);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(248, 81, 73, 0.55),
      0 6px 40px rgba(248, 81, 73, 0.32),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
  }
}
@keyframes pitstrike-order-caution-breathe {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(210, 153, 34, 0.4),
      0 4px 24px rgba(210, 153, 34, 0.15),
      inset 0 1px 0 rgba(255, 255, 255, 0.05);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(227, 179, 65, 0.55),
      0 6px 32px rgba(210, 153, 34, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.07);
  }
}

.pitstrike-trading-workstation-pro .pitstrike-order-desk--terminal-pro {
  position: relative;
  padding: 10px 8px 14px;
  min-width: 0;
  /* Size the split layout from the order desk width (cockpit column), not the viewport — avoids a cramped 50/50 grid in a narrow dock on a wide monitor. */
  container-type: inline-size;
  container-name: pitstrike-orderdesk;
  border-radius: 14px;
  background:
    radial-gradient(120% 80% at 10% 0%, rgba(56, 139, 253, 0.14) 0%, transparent 45%),
    radial-gradient(90% 60% at 100% 20%, rgba(192, 132, 252, 0.1) 0%, transparent 42%),
    linear-gradient(180deg, rgba(10, 14, 20, 0.97) 0%, rgba(6, 10, 16, 0.99) 100%);
  border: 1px solid rgba(88, 166, 255, 0.16);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 12px 40px rgba(0, 0, 0, 0.45);
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk--terminal-pro::before {
  content: '';
  pointer-events: none;
  position: absolute;
  inset: 0;
  border-radius: 14px;
  background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.02) 50%, transparent 60%);
  opacity: 0.9;
}

.pitstrike-trading-workstation-pro .pitstrike-order-desk__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  min-width: 0;
}
/* Wide *order desk* (not viewport): ticket + contract side-by-side when contract is expanded. */
@container pitstrike-orderdesk (min-width: 700px) {
  .pitstrike-trading-workstation-pro .pitstrike-order-desk__layout {
    grid-template-columns: minmax(280px, 1.08fr) minmax(0, 1fr);
    gap: 18px;
  }
  .pitstrike-trading-workstation-pro .pitstrike-order-desk__ticket-col {
    position: sticky;
    top: 6px;
    align-self: start;
  }
  /* Collapsed contract: one column so the ticket is not squeezed next to an empty half-column (:has mirrors JS pitstrike-order-desk--contract-collapsed). */
  .pitstrike-trading-workstation-pro .pitstrike-order-desk__layout:has(#trading-contract-details:not([open])),
  .pitstrike-trading-workstation-pro .pitstrike-order-desk--contract-collapsed .pitstrike-order-desk__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .pitstrike-trading-workstation-pro .pitstrike-order-desk__layout:has(#trading-contract-details:not([open])) .pitstrike-order-desk__ticket-col,
  .pitstrike-trading-workstation-pro .pitstrike-order-desk--contract-collapsed .pitstrike-order-desk__ticket-col {
    position: relative;
    top: auto;
    width: 100%;
    max-width: none;
  }
  .pitstrike-trading-workstation-pro .pitstrike-order-desk__layout:has(#trading-contract-details:not([open])) .pitstrike-order-desk__main,
  .pitstrike-trading-workstation-pro .pitstrike-order-desk--contract-collapsed .pitstrike-order-desk__main {
    width: 100%;
    max-width: none;
  }
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk__main,
.pitstrike-trading-workstation-pro .pitstrike-order-desk__ticket-col {
  min-width: 0;
}

/* Trading cockpit: dense status line — contain height and soften chrome */
.pitstrike-trading-workstation-pro #trading-account-strip-detail.ws-pro-strip-detail {
  margin-top: 2px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.2);
  max-height: 5.5em;
  overflow: auto;
  scrollbar-width: thin;
}
.pitstrike-trading-workstation-pro .pitstrike-contract-details:not([open]) {
  padding-bottom: 4px;
  margin-bottom: 8px;
}
.pitstrike-trading-workstation-pro .pitstrike-contract-details:not([open]) .pitstrike-contract-details__summary {
  padding-bottom: 6px;
}

/* Order desk: Guided vs Pro + calmer hierarchy */
.pitstrike-trading-workstation-pro .pitstrike-muted {
  color: rgba(201, 209, 217, 0.55);
  font-weight: 600;
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk__mode-bar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.22);
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk__mode-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(201, 209, 217, 0.65);
  margin-right: 4px;
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk__mode-btn {
  font: inherit;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(88, 166, 255, 0.22);
  background: rgba(0, 0, 0, 0.2);
  color: var(--text-secondary);
  cursor: pointer;
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk__mode-btn:hover {
  color: var(--text-primary);
  border-color: rgba(88, 166, 255, 0.45);
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk__mode-btn.is-active {
  color: #0b0f14;
  border-color: rgba(88, 166, 255, 0.55);
  background: linear-gradient(180deg, #79c0ff, #58a6ff);
  box-shadow: 0 2px 10px rgba(88, 166, 255, 0.3);
}
.pitstrike-trading-workstation-pro .pitstrike-primary-status {
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.28);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  color: #f0f6fc;
}
.pitstrike-trading-workstation-pro .pitstrike-primary-status__kicker {
  display: inline-block;
  margin-right: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  vertical-align: middle;
}
.pitstrike-trading-workstation-pro .pitstrike-primary-status--ready {
  border-color: rgba(63, 185, 80, 0.45);
  background: rgba(63, 185, 80, 0.08);
}
.pitstrike-trading-workstation-pro .pitstrike-primary-status--ready .pitstrike-primary-status__kicker {
  color: #0b0f14;
  background: linear-gradient(180deg, #79f2a9, #3fb950);
}
.pitstrike-trading-workstation-pro .pitstrike-primary-status--warn {
  border-color: rgba(210, 153, 34, 0.45);
  background: rgba(210, 153, 34, 0.1);
}
.pitstrike-trading-workstation-pro .pitstrike-primary-status--warn .pitstrike-primary-status__kicker {
  color: #0b0f14;
  background: linear-gradient(180deg, #f0d78a, #d4a72c);
}
.pitstrike-trading-workstation-pro .pitstrike-primary-status--blocked {
  border-color: rgba(248, 81, 73, 0.45);
  background: rgba(248, 81, 73, 0.1);
}
.pitstrike-trading-workstation-pro .pitstrike-primary-status--blocked .pitstrike-primary-status__kicker {
  color: #fff;
  background: linear-gradient(180deg, #ff8b87, #da3633);
}
.pitstrike-trading-workstation-pro .pitstrike-exec-status-details,
.pitstrike-trading-workstation-pro .pitstrike-risk-details,
.pitstrike-trading-workstation-pro .pitstrike-contract-details {
  margin-bottom: 10px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.18);
  padding: 0 10px 8px;
}
.pitstrike-trading-workstation-pro .pitstrike-exec-status-details__summary,
.pitstrike-trading-workstation-pro .pitstrike-risk-details__summary,
.pitstrike-trading-workstation-pro .pitstrike-contract-details__summary {
  cursor: pointer;
  list-style: none;
  padding: 10px 0 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(201, 209, 217, 0.88);
}
.pitstrike-trading-workstation-pro .pitstrike-exec-status-details__summary::-webkit-details-marker,
.pitstrike-trading-workstation-pro .pitstrike-risk-details__summary::-webkit-details-marker,
.pitstrike-trading-workstation-pro .pitstrike-contract-details__summary::-webkit-details-marker {
  display: none;
}
.pitstrike-trading-workstation-pro .pitstrike-exec-status-details__body {
  padding-bottom: 4px;
}
.pitstrike-trading-workstation-pro .pitstrike-contract-details__body {
  padding-bottom: 10px;
}
.pitstrike-trading-workstation-pro .pitstrike-rm-grid--lane-bar.pitstrike-rm-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pitstrike-trading-workstation-pro .pitstrike-rm-grid--lane-bar .pitstrike-rm-cell {
  flex: 1 1 min(120px, 23%);
  min-width: 0;
  min-height: auto;
  padding: 8px 10px 8px 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 4px 14px rgba(0, 0, 0, 0.28);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-grid--lane-bar .pitstrike-rm-cell::after {
  top: 8px;
  right: 9px;
  width: 6px;
  height: 6px;
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk--guided .pitstrike-order-desk__operator-hint {
  display: none !important;
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk--guided.pitstrike-order-desk--terminal-pro::before {
  opacity: 0.45;
}

/* Command masthead */
.pitstrike-trading-workstation-pro .pitstrike-order-desk__command-head {
  margin-bottom: 12px;
  padding: 0;
  border-radius: 12px;
  border: 1px solid rgba(56, 139, 253, 0.35);
  background: linear-gradient(125deg, rgba(15, 22, 34, 0.98) 0%, rgba(25, 40, 72, 0.85) 48%, rgba(12, 18, 28, 0.98) 100%);
  box-shadow:
    0 0 32px rgba(56, 139, 253, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  overflow: hidden;
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk__command-head-inner {
  padding: 12px 14px 12px 16px;
  border-left: 4px solid #58a6ff;
  background: linear-gradient(90deg, rgba(88, 166, 255, 0.08) 0%, transparent 55%);
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk__command-title {
  margin: 0;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f0f6fc;
  text-shadow: 0 0 24px rgba(88, 166, 255, 0.35);
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk__command-sub {
  margin: 8px 0 0;
  font-size: 10px;
  line-height: 1.5;
  color: rgba(201, 209, 217, 0.78);
  max-width: 52ch;
}

/* Critical alert */
.pitstrike-trading-workstation-pro .pitstrike-critical-alert-shell {
  margin-bottom: 14px;
}
.pitstrike-trading-workstation-pro .pitstrike-critical-alert-shell[hidden] {
  display: none !important;
}
.pitstrike-trading-workstation-pro .pitstrike-order-desk--terminal-pro .pitstrike-critical-alert__banner {
  margin-bottom: 0;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  border-width: 1px !important;
}
.pitstrike-trading-workstation-pro
  .pitstrike-order-desk--terminal-pro
  #trading-gate-banner.ws-pro-gate-banner--blocked {
  animation: pitstrike-order-alert-breathe 3.2s ease-in-out infinite;
}
.pitstrike-trading-workstation-pro
  .pitstrike-order-desk--terminal-pro
  #trading-gate-banner.ws-pro-gate-banner--caution {
  animation: pitstrike-order-caution-breathe 3.6s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .pitstrike-trading-workstation-pro .pitstrike-order-desk--terminal-pro #trading-gate-banner.ws-pro-gate-banner--blocked,
  .pitstrike-trading-workstation-pro .pitstrike-order-desk--terminal-pro #trading-gate-banner.ws-pro-gate-banner--caution {
    animation: none;
  }
}
.pitstrike-trading-workstation-pro .pitstrike-critical-alert__headline {
  font-weight: 850;
  font-size: 13px;
  margin-bottom: 8px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.pitstrike-trading-workstation-pro .pitstrike-critical-alert__summary {
  margin: 0 0 10px;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 650;
  opacity: 1;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.pitstrike-trading-workstation-pro .pitstrike-critical-alert__list {
  margin: 0;
  padding-left: 20px;
  line-height: 1.55;
  font-size: 11px;
}
.pitstrike-trading-workstation-pro .pitstrike-critical-alert__foot {
  margin-top: 10px;
  font-size: 9px;
  opacity: 0.9;
  letter-spacing: 0.02em;
}
.pitstrike-trading-workstation-pro .pitstrike-critical-alert__cta {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.pitstrike-trading-workstation-pro .pitstrike-critical-alert__cta .primary {
  box-shadow: 0 0 20px rgba(56, 139, 253, 0.35);
}

/* Readiness matrix chrome */
.pitstrike-trading-workstation-pro .pitstrike-rm-grid__wrap {
  margin-bottom: 14px;
}
.pitstrike-trading-workstation-pro .pitstrike-rm-grid__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  padding: 0 2px;
}
.pitstrike-trading-workstation-pro .pitstrike-rm-grid__head-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(201, 209, 217, 0.88);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-grid__head-tag {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.14em;
  padding: 4px 8px;
  border-radius: 999px;
  color: #79c0ff;
  border: 1px solid rgba(88, 166, 255, 0.45);
  background: linear-gradient(180deg, rgba(88, 166, 255, 0.18), rgba(88, 166, 255, 0.05));
  box-shadow: 0 0 14px rgba(56, 139, 253, 0.2);
}

.pitstrike-trading-workstation-pro .pitstrike-rm-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
@media (min-width: 520px) {
  .pitstrike-trading-workstation-pro .pitstrike-rm-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.pitstrike-trading-workstation-pro .pitstrike-rm-cell {
  position: relative;
  border-radius: 11px;
  padding: 11px 12px 11px 14px;
  min-height: 76px;
  border: 1px solid rgba(100, 120, 140, 0.35);
  background: linear-gradient(165deg, rgba(22, 28, 38, 0.95) 0%, rgba(10, 14, 20, 0.98) 100%);
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: center;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 6px 18px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 11px 0 0 11px;
  background: rgba(139, 148, 158, 0.5);
  box-shadow: 0 0 12px rgba(139, 148, 158, 0.35);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell::after {
  content: '';
  position: absolute;
  top: 10px;
  right: 11px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(139, 148, 158, 0.85);
  box-shadow: 0 0 10px rgba(139, 148, 158, 0.6);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell__label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(201, 209, 217, 0.65);
  padding-right: 16px;
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell__status {
  font-size: 11px;
  font-weight: 750;
  line-height: 1.35;
  color: #f0f6fc;
  word-break: break-word;
  font-variant-numeric: tabular-nums;
}

.pitstrike-trading-workstation-pro .pitstrike-rm-cell[data-rm-state='ok'] {
  border-color: rgba(63, 185, 80, 0.5);
  background: linear-gradient(165deg, rgba(20, 40, 28, 0.92) 0%, rgba(8, 18, 12, 0.98) 100%);
  box-shadow:
    inset 0 1px 0 rgba(63, 185, 80, 0.12),
    0 0 24px rgba(63, 185, 80, 0.12),
    0 8px 22px rgba(0, 0, 0, 0.35);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell[data-rm-state='ok']::before {
  background: linear-gradient(180deg, #56d364, #238636);
  box-shadow: 0 0 14px rgba(63, 185, 80, 0.65);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell[data-rm-state='ok']::after {
  background: #3fb950;
  box-shadow: 0 0 12px rgba(63, 185, 80, 0.85);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell[data-rm-state='ok'] .pitstrike-rm-cell__status {
  color: #aff5b8;
}

.pitstrike-trading-workstation-pro .pitstrike-rm-cell[data-rm-state='warn'] {
  border-color: rgba(210, 153, 34, 0.55);
  background: linear-gradient(165deg, rgba(45, 35, 14, 0.9) 0%, rgba(18, 14, 8, 0.98) 100%);
  box-shadow:
    inset 0 1px 0 rgba(227, 179, 65, 0.1),
    0 0 22px rgba(210, 153, 34, 0.14),
    0 8px 22px rgba(0, 0, 0, 0.35);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell[data-rm-state='warn']::before {
  background: linear-gradient(180deg, #e3b341, #9e6a03);
  box-shadow: 0 0 14px rgba(227, 179, 65, 0.55);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell[data-rm-state='warn']::after {
  background: #e3b341;
  box-shadow: 0 0 12px rgba(227, 179, 65, 0.75);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell[data-rm-state='warn'] .pitstrike-rm-cell__status {
  color: #ffdf9a;
}

.pitstrike-trading-workstation-pro .pitstrike-rm-cell[data-rm-state='blocked'] {
  border-color: rgba(248, 81, 73, 0.55);
  background: linear-gradient(165deg, rgba(48, 18, 18, 0.92) 0%, rgba(14, 8, 10, 0.98) 100%);
  box-shadow:
    inset 0 1px 0 rgba(248, 81, 73, 0.1),
    0 0 26px rgba(248, 81, 73, 0.16),
    0 8px 22px rgba(0, 0, 0, 0.4);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell[data-rm-state='blocked']::before {
  background: linear-gradient(180deg, #ff7b72, #da3633);
  box-shadow: 0 0 16px rgba(248, 81, 73, 0.65);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell[data-rm-state='blocked']::after {
  background: #ff7b72;
  box-shadow: 0 0 12px rgba(248, 81, 73, 0.85);
}
.pitstrike-trading-workstation-pro .pitstrike-rm-cell[data-rm-state='blocked'] .pitstrike-rm-cell__status {
  color: #ffc1bc;
}

/* Shared glass panels */
.pitstrike-trading-workstation-pro .pitstrike-pro-panel {
  position: relative;
  border-radius: 12px !important;
  padding: 14px !important;
  border: 1px solid rgba(88, 166, 255, 0.22) !important;
  background: linear-gradient(165deg, rgba(20, 26, 36, 0.92) 0%, rgba(8, 11, 16, 0.96) 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 10px 36px rgba(0, 0, 0, 0.4),
    0 0 28px rgba(56, 139, 253, 0.06) !important;
}
@supports ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))) {
  .pitstrike-trading-workstation-pro .pitstrike-pro-panel {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
}
.pitstrike-trading-workstation-pro .pitstrike-pro-panel--contract {
  border-color: rgba(88, 166, 255, 0.28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 12px 40px rgba(0, 0, 0, 0.42),
    0 0 32px rgba(56, 139, 253, 0.1) !important;
}
.pitstrike-trading-workstation-pro .pitstrike-pro-panel--ticket {
  border-color: rgba(192, 132, 252, 0.32) !important;
  background: linear-gradient(170deg, rgba(28, 20, 40, 0.94) 0%, rgba(8, 10, 18, 0.97) 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 12px 44px rgba(0, 0, 0, 0.48),
    0 0 36px rgba(192, 132, 252, 0.12) !important;
}

.pitstrike-trading-workstation-pro .pitstrike-contract-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 4px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(88, 166, 255, 0.15);
}
.pitstrike-trading-workstation-pro .pitstrike-panel-title {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 850;
  color: #c9d1d9;
  text-shadow: 0 0 18px rgba(88, 166, 255, 0.25);
}
.pitstrike-trading-workstation-pro .pitstrike-contract-panel__head-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.pitstrike-trading-workstation-pro .pitstrike-order-desk__arming {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.pitstrike-trading-workstation-pro .pitstrike-arm-tile {
  border-radius: 11px;
  padding: 12px 14px;
  border: 1px solid rgba(88, 166, 255, 0.4);
  background: linear-gradient(145deg, rgba(56, 139, 253, 0.16) 0%, rgba(12, 16, 24, 0.92) 55%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 28px rgba(56, 139, 253, 0.15);
}
.pitstrike-trading-workstation-pro .pitstrike-arm-tile--contract {
  border-color: rgba(192, 132, 252, 0.45);
  background: linear-gradient(145deg, rgba(192, 132, 252, 0.2) 0%, rgba(14, 10, 22, 0.94) 55%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 0 32px rgba(192, 132, 252, 0.18);
}
.pitstrike-trading-workstation-pro .pitstrike-arm-tile__label {
  font-size: 9px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(201, 209, 217, 0.72);
}
.pitstrike-trading-workstation-pro .pitstrike-arm-tile__req {
  color: #ff7b72;
  font-size: 7px;
  vertical-align: super;
  text-shadow: 0 0 8px rgba(248, 81, 73, 0.5);
}
.pitstrike-trading-workstation-pro .pitstrike-arm-tile__value {
  margin-top: 8px;
  font-size: 17px;
  font-weight: 850;
  color: #f0f6fc;
  letter-spacing: 0.02em;
  text-shadow: 0 0 20px rgba(88, 166, 255, 0.2);
}
.pitstrike-trading-workstation-pro .pitstrike-arm-tile--contract .pitstrike-arm-tile__value {
  text-shadow: 0 0 22px rgba(192, 132, 252, 0.3);
}
.pitstrike-trading-workstation-pro .pitstrike-arm-tile__sub {
  margin-top: 6px;
  font-size: 9px;
  line-height: 1.4;
  color: rgba(201, 209, 217, 0.72);
}

/* Contract search row + favorites */
.pitstrike-trading-workstation-pro .pitstrike-pro-panel--contract input[type='search'] {
  border-radius: 9px !important;
  border: 1px solid rgba(88, 166, 255, 0.28) !important;
  background: rgba(0, 0, 0, 0.35) !important;
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.35);
}
.pitstrike-trading-workstation-pro .pitstrike-pro-panel--contract .ws-pro-favorites .risk-tag {
  border-radius: 8px;
  font-weight: 700;
  transition:
    transform 0.12s ease,
    box-shadow 0.12s ease;
}
.pitstrike-trading-workstation-pro .pitstrike-pro-panel--contract .ws-pro-favorites .risk-tag:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

.pitstrike-trading-workstation-pro .pitstrike-live-contracts-zone {
  border-top-color: rgba(88, 166, 255, 0.22) !important;
  padding-top: 12px !important;
  margin-top: 14px !important;
  border-radius: 0 0 8px 8px;
  background: linear-gradient(180deg, transparent, rgba(56, 139, 253, 0.04));
}
.pitstrike-trading-workstation-pro .pitstrike-live-contracts-zone #trading-live-contracts-list button.risk-tag {
  border-radius: 8px;
  border: 1px solid rgba(88, 166, 255, 0.2);
  background: rgba(0, 0, 0, 0.25);
}

/* Snapshot deck */
.pitstrike-trading-workstation-pro .pitstrike-snapshot-deck {
  margin-top: 12px;
  padding: 10px;
  border-radius: 11px;
  border: 1px solid rgba(56, 139, 253, 0.18);
  background: linear-gradient(180deg, rgba(56, 139, 253, 0.07) 0%, rgba(0, 0, 0, 0.2) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.pitstrike-trading-workstation-pro .pitstrike-snapshot-hero {
  border-radius: 10px !important;
  border: 1px solid rgba(63, 185, 80, 0.35) !important;
  background: linear-gradient(90deg, rgba(63, 185, 80, 0.12) 0%, rgba(0, 0, 0, 0.35) 100%) !important;
  box-shadow: 0 0 24px rgba(63, 185, 80, 0.12);
}
.pitstrike-trading-workstation-pro .pitstrike-snapshot-deck__grid .monospace {
  font-variant-numeric: tabular-nums;
}
.pitstrike-trading-workstation-pro #trading-snapshot-last {
  color: #aff5b8 !important;
  text-shadow: 0 0 16px rgba(63, 185, 80, 0.45);
}

/* Operator flow */
.pitstrike-trading-workstation-pro .pitstrike-operator-flow {
  list-style: none;
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: 11px;
  border: 1px solid rgba(88, 166, 255, 0.22);
  background: linear-gradient(95deg, rgba(15, 22, 34, 0.9) 0%, rgba(8, 12, 18, 0.95) 100%);
  font-size: 10px;
  color: rgba(201, 209, 217, 0.82);
  line-height: 1.55;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}
.pitstrike-trading-workstation-pro .pitstrike-operator-flow__n {
  width: 20px;
  height: 20px;
  font-size: 9px;
  font-weight: 850;
  background: linear-gradient(180deg, rgba(88, 166, 255, 0.35), rgba(88, 166, 255, 0.1));
  color: #c8e9ff;
  border: 1px solid rgba(121, 192, 255, 0.45);
  box-shadow: 0 0 12px rgba(56, 139, 253, 0.25);
}

/* Ticket masthead + overrides (beat inline) */
.pitstrike-trading-workstation-pro .pitstrike-ticket-card__masthead {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: -2px -2px 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: linear-gradient(90deg, rgba(192, 132, 252, 0.2) 0%, rgba(56, 139, 253, 0.08) 50%, transparent 100%);
  border: 1px solid rgba(192, 132, 252, 0.28);
  box-shadow: 0 0 24px rgba(192, 132, 252, 0.12);
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-card__masthead-icon {
  font-size: 16px;
  filter: drop-shadow(0 0 8px rgba(192, 132, 252, 0.6));
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-card__masthead-title {
  flex: 1;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #f0f6fc;
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-card__masthead-badge {
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.16em;
  padding: 5px 10px;
  border-radius: 6px;
  color: #0d1117;
  background: linear-gradient(180deg, #d2a8ff, #8957e5);
  box-shadow: 0 0 16px rgba(192, 132, 252, 0.45);
}

.pitstrike-trading-workstation-pro .pitstrike-ticket-card {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-card .ps-grid-2 {
  min-width: 0;
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-card input,
.pitstrike-trading-workstation-pro .pitstrike-ticket-card select {
  max-width: 100%;
  box-sizing: border-box;
  border-radius: 8px !important;
  border: 1px solid rgba(139, 148, 158, 0.35) !important;
  background: rgba(0, 0, 0, 0.4) !important;
}

.pitstrike-trading-workstation-pro .pitstrike-ticket-card #trading-ticket-summary {
  margin-bottom: 10px !important;
  padding: 11px 12px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(88, 166, 255, 0.28) !important;
  background: linear-gradient(165deg, rgba(56, 139, 253, 0.1) 0%, rgba(0, 0, 0, 0.35) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-card #trading-exec-context.ws-pro-exec-context--ready {
  border-radius: 10px !important;
  border: 1px solid rgba(63, 185, 80, 0.4) !important;
  background: linear-gradient(165deg, rgba(63, 185, 80, 0.12) 0%, rgba(0, 0, 0, 0.3) 100%) !important;
  color: rgba(201, 209, 217, 0.9) !important;
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-card #trading-exec-context.ws-pro-exec-context--blocked {
  border-radius: 10px !important;
  border: 1px solid rgba(210, 153, 34, 0.45) !important;
  background: linear-gradient(165deg, rgba(210, 153, 34, 0.14) 0%, rgba(0, 0, 0, 0.35) 100%) !important;
  color: rgba(255, 223, 154, 0.95) !important;
}

.pitstrike-trading-workstation-pro .pitstrike-ticket-card #trading-ticket-buy.risk-tag {
  font-weight: 800;
  padding: 7px 14px;
  border-radius: 8px;
  border: 1px solid rgba(63, 185, 80, 0.55) !important;
  background: linear-gradient(180deg, rgba(63, 185, 80, 0.35), rgba(35, 134, 54, 0.55)) !important;
  color: #0d1117 !important;
  box-shadow: 0 0 14px rgba(63, 185, 80, 0.25);
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-card #trading-ticket-sell.risk-tag {
  font-weight: 800;
  padding: 7px 14px;
  border-radius: 8px;
  border: 1px solid rgba(248, 81, 73, 0.55) !important;
  background: linear-gradient(180deg, rgba(248, 81, 73, 0.4), rgba(182, 32, 32, 0.55)) !important;
  color: #fff !important;
  box-shadow: 0 0 14px rgba(248, 81, 73, 0.22);
}

.pitstrike-trading-workstation-pro .pitstrike-ticket-card #trading-risk-preview {
  border-radius: 10px !important;
  border: 1px solid rgba(139, 148, 158, 0.28) !important;
  background: rgba(0, 0, 0, 0.32) !important;
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-card .ws-pro-btn-execute.primary {
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 10px 16px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(121, 192, 255, 0.5) !important;
  background: linear-gradient(180deg, #388bfd, #1158c7) !important;
  box-shadow:
    0 0 24px rgba(56, 139, 253, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-card .ws-pro-btn-panic.danger {
  font-weight: 850;
  letter-spacing: 0.05em;
  padding: 10px 14px !important;
  border-radius: 9px !important;
  box-shadow: 0 0 20px rgba(248, 81, 73, 0.25);
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-card #trading-operator-hint-order {
  border-radius: 10px !important;
  border: 1px solid rgba(88, 166, 255, 0.3) !important;
  background: linear-gradient(90deg, rgba(88, 166, 255, 0.1), rgba(0, 0, 0, 0.2)) !important;
}

.pitstrike-trading-workstation-pro .pitstrike-ticket-summaryline {
  font-weight: 800;
  color: #f0f6fc;
  line-height: 1.45;
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-summary-muted {
  margin-top: 8px;
  font-size: 10px;
  color: rgba(201, 209, 217, 0.78);
  line-height: 1.45;
}
.pitstrike-trading-workstation-pro .pitstrike-ticket-summary-ok {
  margin-top: 8px;
  font-size: 10px;
  color: rgba(201, 209, 217, 0.75);
  line-height: 1.45;
}

/* ============================================================
   SCRAPBOOK UPGRADE — hero, compose card, type picker, drop
   zone, color tags, card grid, feed column  (2026)
   ============================================================ */

/* Layout */
.ai-hub-sb-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 18px;
  align-items: start;
}
@media (max-width: 820px) {
  .ai-hub-sb-layout { grid-template-columns: 1fr; }
}
.ai-hub-sb-col {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Hero */
.ai-hub-sb-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 18px;
  padding: 22px 24px 18px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(88,166,255,0.11) 0%, rgba(168,85,247,0.09) 50%, rgba(63,185,80,0.07) 100%);
  border: 1px solid rgba(88,166,255,0.25);
}
.ai-hub-sb-hero__glow {
  position: absolute;
  top: -40px;
  right: -40px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(88,166,255,0.18) 0%, transparent 70%);
  pointer-events: none;
}
.ai-hub-sb-hero__title {
  font-size: 22px;
  font-weight: 800;
  color: #e6edf3;
  margin: 0 0 6px;
  letter-spacing: -0.02em;
}
.ai-hub-sb-hero__sub {
  font-size: 13px;
  color: #8b949e;
  margin: 0;
  line-height: 1.5;
}
.ai-hub-sb-hero__stats {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-top: 12px;
}
.ai-hub-sb-hero__stat {
  font-size: 12px;
  font-weight: 700;
  color: #58a6ff;
  background: rgba(88,166,255,0.1);
  border: 1px solid rgba(88,166,255,0.25);
  border-radius: 20px;
  padding: 3px 10px;
}
.ai-hub-sb-hero__sep { color: #484f58; font-size: 12px; }

/* Compose card */
.ai-hub-sb-compose-card {
  background: rgba(13,17,23,0.75);
  border: 1px solid rgba(88,166,255,0.22);
  border-radius: 16px;
  padding: 16px 18px;
  backdrop-filter: blur(6px);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ai-hub-sb-compose-card:focus-within {
  border-color: rgba(88,166,255,0.45);
  box-shadow: 0 0 22px rgba(88,166,255,0.1);
}
.ai-hub-sb-compose-card__hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.ai-hub-sb-compose-card__title {
  font-size: 13px;
  font-weight: 700;
  color: #e6edf3;
}
.ai-hub-sb-compose-card__hint {
  font-size: 10px;
  color: #484f58;
  letter-spacing: 0.04em;
}

/* Type picker */
.ai-hub-clip-type-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}
.ai-hub-clip-type-btn {
  padding: 5px 11px;
  border-radius: 20px;
  border: 1px solid rgba(48,54,61,0.8);
  background: rgba(22,27,34,0.9);
  color: #8b949e;
  font-size: 12px;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.ai-hub-clip-type-btn:hover {
  border-color: rgba(88,166,255,0.45);
  color: #c9d1d9;
}
.ai-hub-clip-type-btn.is-active {
  border-color: rgba(88,166,255,0.65);
  background: rgba(88,166,255,0.14);
  color: #58a6ff;
  font-weight: 600;
}

/* Shared inputs */
.ai-hub-sb-input {
  width: 100%;
  box-sizing: border-box;
  background: rgba(15,20,28,0.9);
  color: #e6edf3;
  border: 1px solid rgba(48,54,61,0.75);
  border-radius: 10px;
  padding: 10px 13px;
  font: inherit;
  font-size: 13px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ai-hub-sb-input:focus {
  outline: none;
  border-color: rgba(88,166,255,0.55);
  box-shadow: 0 0 0 3px rgba(88,166,255,0.08);
}
.ai-hub-sb-input--board {
  padding: 7px 10px;
  font-size: 12px;
}

/* Drop zone */
.ai-hub-sb-dropzone {
  position: relative;
  border: 2px dashed rgba(88,166,255,0.28);
  border-radius: 12px;
  background: rgba(88,166,255,0.025);
  transition: all 0.2s ease;
  overflow: hidden;
  min-height: 72px;
}
.ai-hub-sb-dropzone.dragover {
  border-color: rgba(88,166,255,0.75);
  background: rgba(88,166,255,0.09);
  box-shadow: 0 0 24px rgba(88,166,255,0.22);
}
.ai-hub-sb-dropzone__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 12px 12px 10px;
  text-align: center;
}
.ai-hub-sb-dropzone__icon {
  font-size: 22px;
  line-height: 1;
}
.ai-hub-sb-dropzone__label {
  font-size: 12px;
  color: #8b949e;
  line-height: 1.4;
}
.ai-hub-sb-dropzone__browse {
  color: #58a6ff;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  text-decoration: underline;
  padding: 0;
}
.ai-hub-sb-dropzone__hint {
  font-size: 10px;
  color: #484f58;
  margin-top: 1px;
}
.ai-hub-sb-file-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 1;
}
.ai-hub-sb-dropzone__browse { position: relative; z-index: 2; }
.ai-hub-sb-file-preview-area {
  padding: 10px 12px;
}
.ai-hub-sb-file-preview {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.ai-hub-sb-file-preview__img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid rgba(88,166,255,0.3);
  flex-shrink: 0;
}
.ai-hub-sb-file-preview__text {
  flex: 1;
  font-size: 11px;
  color: #8b949e;
  min-width: 0;
  word-break: break-word;
  line-height: 1.5;
}
.ai-hub-sb-file-preview__clear {
  flex-shrink: 0;
  background: none;
  border: 1px solid rgba(248,81,73,0.45);
  color: #ff7b72;
  border-radius: 7px;
  padding: 4px 9px;
  font-size: 10px;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.15s ease;
}
.ai-hub-sb-file-preview__clear:hover {
  background: rgba(248,81,73,0.1);
}

/* Summary textarea + AI brief */
.ai-hub-sb-summary-wrap {
  position: relative;
  margin-bottom: 2px;
}
.ai-hub-sb-textarea {
  width: 100%;
  box-sizing: border-box;
  background: rgba(15,20,28,0.9);
  color: #e6edf3;
  border: 1px solid rgba(48,54,61,0.75);
  border-radius: 10px;
  padding: 10px 13px 36px 13px;
  font: inherit;
  font-size: 12px;
  resize: vertical;
  min-height: 88px;
  transition: border-color 0.15s ease;
  line-height: 1.55;
}
.ai-hub-sb-textarea:focus {
  outline: none;
  border-color: rgba(88,166,255,0.55);
  box-shadow: 0 0 0 3px rgba(88,166,255,0.08);
}
.ai-hub-sb-ai-btn {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: linear-gradient(135deg, rgba(88,166,255,0.18), rgba(168,85,247,0.14));
  border: 1px solid rgba(88,166,255,0.45);
  color: #58a6ff;
  border-radius: 8px;
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: 0.02em;
  transition: all 0.15s ease;
  z-index: 1;
}
.ai-hub-sb-ai-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, rgba(88,166,255,0.3), rgba(168,85,247,0.24));
  box-shadow: 0 0 14px rgba(88,166,255,0.28);
  border-color: rgba(88,166,255,0.7);
}
.ai-hub-sb-ai-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Color tag row */
.ai-hub-color-tag-row {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}
.ai-hub-color-tag-row__lbl {
  font-size: 11px;
  color: #6e7681;
  flex-shrink: 0;
}
.ai-hub-color-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid transparent;
  background: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: transform 0.15s ease, border-color 0.15s ease;
  padding: 0;
  line-height: 1;
}
.ai-hub-color-dot:hover { transform: scale(1.25); }
.ai-hub-color-dot.is-active {
  border-color: rgba(255,255,255,0.55);
  transform: scale(1.2);
}
.ai-hub-color-dot--none {
  color: #484f58;
  font-size: 18px;
  font-weight: 700;
}

/* Checkbox label */
.ai-hub-sb-checkbox-label {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #8b949e;
  font-size: 12px;
  cursor: pointer;
  line-height: 1.4;
}
.ai-hub-sb-checkbox-label input[type='checkbox'] { cursor: pointer; }

/* Form actions row */
.ai-hub-sb-form-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.ai-hub-sb-save-btn {
  padding: 10px 20px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(88,166,255,0.22), rgba(168,85,247,0.16));
  border: 1px solid rgba(88,166,255,0.55);
  color: #58a6ff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.ai-hub-sb-save-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, rgba(88,166,255,0.35), rgba(168,85,247,0.28));
  box-shadow: 0 0 18px rgba(88,166,255,0.32);
  border-color: rgba(88,166,255,0.8);
}
.ai-hub-sb-save-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.ai-hub-sb-board-row {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-left: auto;
  flex-wrap: wrap;
}
.ai-hub-sb-board-btn {
  padding: 9px 13px;
  border-radius: 10px;
  background: rgba(163,113,247,0.1);
  border: 1px solid rgba(163,113,247,0.4);
  color: #a371f7;
  font-size: 12px;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  transition: all 0.15s ease;
}
.ai-hub-sb-board-btn:hover { background: rgba(163,113,247,0.2); }

/* Inspector panel (separate from form) */
.ai-hub-sb-inspector {
  min-height: 0;
}

/* Saved clips header */
.ai-hub-sb-clips-hdr {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ai-hub-sb-clips-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #58a6ff;
  margin: 0;
}

/* Saved clips grid */
.ai-hub-scrapbook-list-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

/* Enhanced clip card */
.ai-hub-scrapbook-list-grid .ai-hub-scrapbook-card {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(48,54,61,0.75);
  background: rgba(13,17,23,0.7);
  position: relative;
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  border-left-width: 3px;
}
.ai-hub-scrapbook-list-grid .ai-hub-scrapbook-card:hover {
  border-color: rgba(88,166,255,0.42);
  box-shadow: 0 0 16px rgba(88,166,255,0.1);
}
.ai-hub-scrapbook-list-grid .ai-hub-scrapbook-card[data-color-tag="red"] { border-left-color: #f85149; }
.ai-hub-scrapbook-list-grid .ai-hub-scrapbook-card[data-color-tag="orange"] { border-left-color: #fb8500; }
.ai-hub-scrapbook-list-grid .ai-hub-scrapbook-card[data-color-tag="yellow"] { border-left-color: #d29922; }
.ai-hub-scrapbook-list-grid .ai-hub-scrapbook-card[data-color-tag="green"] { border-left-color: #3fb950; }
.ai-hub-scrapbook-list-grid .ai-hub-scrapbook-card[data-color-tag="blue"] { border-left-color: #58a6ff; }
.ai-hub-scrapbook-list-grid .ai-hub-scrapbook-card[data-color-tag="purple"] { border-left-color: #a855f7; }

/* Card content with optional thumbnail */
.ai-hub-scrapbook-card__inner {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.ai-hub-scrapbook-card__thumb {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 7px;
  flex-shrink: 0;
  border: 1px solid rgba(48,54,61,0.7);
}
.ai-hub-scrapbook-card__body-wrap {
  flex: 1;
  min-width: 0;
}
.ai-hub-scrapbook-card__type-badge {
  font-size: 11px;
  margin-right: 5px;
  vertical-align: middle;
}

/* Feed column controls */
.ai-hub-sb-feed-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}
.ai-hub-sb-feed-controls__left,
.ai-hub-sb-feed-controls__right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.ai-hub-sb-select {
  background: rgba(15,20,28,0.85);
  color: #e6edf3;
  border: 1px solid rgba(48,54,61,0.75);
  border-radius: 10px;
  padding: 6px 10px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.ai-hub-sb-feed-mount {
  min-height: 120px;
}

/* AI brief content formatting in summary */
.ai-hub-sb-brief-formatted {
  font-size: 11px;
  line-height: 1.6;
  white-space: pre-wrap;
  color: #c9d1d9;
}

