/* A single chart workspace. Settings live in compact, on-demand panels. */
/* Price-only mode keeps session, replay and navigation; model tools stay hidden. */
.cgex-price-only:not(.cgex-lab-active) .cgex-terminal-rail-right,
.cgex-price-only:not(.cgex-lab-active) #cgex-terminal-tool-candles,
.cgex-price-only:not(.cgex-lab-active) #cgex-terminal-tool-dsh,
.cgex-price-only:not(.cgex-lab-active) #cgex-terminal-tool-ladder,
.cgex-price-only:not(.cgex-lab-active) #cgex-terminal-candles,
.cgex-price-only:not(.cgex-lab-active) #cgex-terminal-levels,
.cgex-price-only:not(.cgex-lab-active) #cgex-terminal-analytics,
.cgex-price-only:not(.cgex-lab-active) #cgex-terminal-details,
.cgex-price-only:not(.cgex-lab-active) .cgex-chart-legend { display:none !important; }
.cgex-terminal.cgex-price-only:not(.cgex-lab-active) #cgex-hedge-wall-panel { right:0; }
.cgex-price-only:not(.cgex-lab-active) #cgex-terminal-settings-content > :not(:has(#cgex-hedge-selection)),
.cgex-price-only:not(.cgex-lab-active) .cgex-level-toolbar > :not(:has(#cgex-hedge-selection)) { display:none !important; }
.cgex-shell.cgex-terminal { position:fixed; inset:0; display:block; padding:0; margin:0; overflow:hidden; background:var(--cgex-ui-panel, #131722); color:var(--cgex-ui-text, #d1d4dc); font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.cgex-terminal-topbar { position:absolute; inset:0 0 auto; height:30px; display:flex; align-items:center; gap:14px; padding:0 8px; border-bottom:1px solid var(--cgex-ui-border, #2a2e39); background:var(--cgex-ui-panel, #131722); z-index:80; }
.cgex-terminal-instrument { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.cgex-terminal-instrument strong { font-size:12px; letter-spacing:.015em; font-weight:650; }
.cgex-terminal-market { color:var(--cgex-ui-muted, #868b98); font-size:9px; }
.cgex-terminal-timeframe { color:var(--cgex-ui-text, #b1b7c4); font-size:10px; border-left:1px solid var(--cgex-ui-border, #343844); padding-left:7px; }
.cgex-terminal-price { color:var(--cgex-ui-text, #e0e4ed); font-size:11px; font-variant-numeric:tabular-nums; padding-left:4px; }
.cgex-terminal-context { margin-left:auto; color:var(--cgex-ui-muted, #959cad); font-size:10px; white-space:nowrap; }
.cgex-terminal-brand { color:var(--cgex-ui-muted, #6e7585); font-size:9px; border-left:1px solid var(--cgex-ui-border, #2a2e39); padding-left:10px; }
.cgex-terminal-rail { position:absolute; top:30px; bottom:18px; width:30px; box-sizing:border-box; display:flex; flex-direction:column; align-items:center; gap:4px; padding:6px 2px; background:var(--cgex-ui-panel, #131722); z-index:75; }
.cgex-terminal-rail-left { left:0; border-right:1px solid var(--cgex-ui-border, #2a2e39); }
.cgex-terminal-rail-right { right:0; border-left:1px solid var(--cgex-ui-border, #2a2e39); }
.cgex-terminal-tool { display:grid; place-items:center; width:26px; height:26px; flex-shrink:0; padding:0; border:0; border-radius:4px; background:transparent; cursor:pointer; color:var(--cgex-ui-muted, #a8b1c3); transition:background .12s; }
.cgex-terminal-tool img { width:15px; height:15px; opacity:.82; pointer-events:none; }
.cgex-terminal-tool:hover { background:var(--cgex-ui-field, #252a36); }
.cgex-terminal-tool:hover img { opacity:1; }
.cgex-terminal-tool:disabled { opacity:.3; cursor:default; background:transparent; box-shadow:none; }
.cgex-terminal .cgex-ladder-hidden-layer { display:none !important; }
.cgex-terminal-tool[aria-expanded=true], .cgex-terminal-tool.is-active { background:var(--cgex-ui-field, #243351); box-shadow:inset 0 0 0 1px rgb(var(--cgex-ui-shadow, 0 0 0) / 1); }
.cgex-terminal-tool:focus-visible, .cgex-terminal-close:focus-visible { outline:2px solid var(--cgex-ui-accent, #779ffc); outline-offset:2px; }
.cgex-terminal-tool-divider { width:18px; height:1px; margin:5px 0; background:var(--cgex-ui-field, #2a2e39); }
.cgex-dsh-tool { font-size:8px; font-weight:750; letter-spacing:-.3px; }
.cgex-dsh-tool:disabled { opacity:.3; cursor:default; }
.cgex-dsh-mode #cgex-terminal-hint { color:var(--cgex-ui-blue, #a8c9ff); }
.cgex-dsh-mode #cgex-terminal-settings .cgex-display-section { display:none; }
#cgex-dsh-return-controls { display:none; }
.cgex-dsh-mode #cgex-dsh-return-controls { display:block; }
.cgex-terminal #cgex-hedge-wall-panel { position:absolute; inset:30px 30px 18px; margin:0 !important; padding:0; border:0; border-radius:0; background:var(--cgex-ui-panel, #131722); min-width:0; min-height:0; overflow:hidden; }
.cgex-terminal-canvas, .cgex-terminal-canvas > div { width:100%; height:100%; min-height:0; }
.cgex-terminal #cgex-hedge-wall-chart { width:100% !important; height:100% !important; }
.cgex-chart-legend { position:absolute; top:2px; left:4px; right:4px; z-index:12; display:grid; grid-template-rows:repeat(2, 12px); gap:1px 5px; background:var(--cgex-ui-panel, #131722); }
.cgex-chart-legend[hidden] { display:none; }
.cgex-chart-legend button { min-width:0; display:flex; align-items:center; gap:4px; padding:0; border:0; background:transparent; color:var(--cgex-ui-muted, #9299aa); font:7px/11px 'Open Sans', sans-serif; text-align:left; cursor:pointer; }
.cgex-chart-legend button[aria-pressed=false] { opacity:.4; }
.cgex-chart-legend button:focus-visible { outline:1px solid var(--cgex-ui-accent, #779ffc); }
.cgex-legend-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cgex-legend-swatch { flex:0 0 14px; border-top:1px solid currentColor; }
.cgex-legend-swatch.is-block { flex-basis:7px; height:6px; margin:0 3px; border:1px solid currentColor; background:currentColor; }
.cgex-terminal #cgex-hedge-load-status { position:absolute; left:38px; top:30px; z-index:10; font-size:10px; color:var(--cgex-ui-muted, #9baacc); padding:4px 8px; border-radius:4px; background:rgb(var(--cgex-rgb-panel, 19 23 34) / 0.909804); pointer-events:none; }
.cgex-terminal #cgex-hedge-load-status:empty { display:none; }
.cgex-terminal-footer { position:absolute; inset:auto 0 0; height:18px; border-top:1px solid var(--cgex-ui-border, #2a2e39); display:flex; align-items:center; gap:14px; padding:0 8px; background:var(--cgex-ui-panel, #131722); color:var(--cgex-ui-muted, #737d91); font-size:8px; z-index:80; }
#cgex-terminal-view-label { margin-left:auto; color:var(--cgex-ui-muted, #929bae); }
.cgex-terminal-panel { position:absolute; z-index:100; top:36px; bottom:24px; width:354px; border:1px solid var(--cgex-ui-border, #363c4b); border-radius:8px; background:var(--cgex-ui-panel, #1b202c); box-shadow:0 14px 48px rgb(var(--cgex-ui-shadow, 0 0 0) / 0.466667); display:flex; flex-direction:column; }
.cgex-terminal-panel[hidden] { display:none !important; }
.cgex-terminal-panel-left { left:36px; }
.cgex-terminal-panel-right { right:36px; }
.cgex-terminal-panel-bottom { top:auto; bottom:24px; left:36px; right:36px; width:auto; height:auto; max-height:240px; }
.cgex-terminal-panel-heading { display:flex; align-items:center; justify-content:space-between; flex:0 0 auto; padding:15px 18px; border-bottom:1px solid var(--cgex-ui-border, #343a48); }
.cgex-terminal-panel-heading h2 { margin:0; font-size:14px; font-weight:550; color:var(--cgex-ui-text, #e0e4ed); }
.cgex-terminal-close { width:26px; height:26px; padding:0; border:0; background:transparent; color:var(--cgex-ui-muted, #939db1); font-size:24px; line-height:1; border-radius:4px; cursor:pointer; }
.cgex-terminal-close:hover { background:var(--cgex-ui-field, #303746); color:var(--cgex-ui-text, #e0e4ed); }
.cgex-terminal-panel-content { min-height:0; overflow:auto; padding:18px; flex:1; scrollbar-width:thin; scrollbar-color:var(--cgex-ui-blue, #46516a) var(--cgex-ui-subtle, #1b202c); }
.cgex-terminal-panel-content > .cgex-control { margin-bottom:18px; }
.cgex-terminal-panel .cgex-control-label { color:var(--cgex-ui-muted, #a0a8ba); font-size:11px; letter-spacing:0; }
.cgex-terminal.cgex-node-mode #cgex-terminal-settings [data-label="Imbalance V2"] { display:none; }
.cgex-terminal-panel .Select-control { background:var(--cgex-ui-field, #252c3b) !important; border-color:var(--cgex-ui-border, #3b465d) !important; border-radius:5px; }
.cgex-terminal-panel .dash-dropdown { width:100% !important; max-width:100% !important; }
.cgex-terminal-panel .Select, .cgex-terminal-panel .Select-control { width:100% !important; max-width:100% !important; min-width:0 !important; }
.cgex-terminal-panel .Select-menu-outer { background:var(--cgex-ui-field, #242d3e); border-color:var(--cgex-ui-border, #4a5872); }
.cgex-terminal-panel .Select-value-label { color:var(--cgex-ui-text, #d1d4dc) !important; }
.cgex-terminal .cgex-dropdown,
.cgex-terminal .cgex-dropdown .Select-input > input { font-family:inherit; }
.cgex-terminal .cgex-dropdown .Select-input { height:38px; }
.cgex-terminal .cgex-dropdown .Select-input > input {
  height:38px;
  padding:0;
  vertical-align:top;
}
.cgex-terminal-panel .cgex-level-toolbar, .cgex-terminal.cgex-walls-only .cgex-level-toolbar { display:flex; flex-direction:column; align-items:stretch; gap:18px; margin:18px 0; }
.cgex-terminal-panel .cgex-level-toolbar > * { width:100%; max-width:none; }
.cgex-terminal-panel .cgex-node-count-options { background:var(--cgex-ui-field, #252c3b); border-color:var(--cgex-ui-border, #3b465d); border-radius:5px; }
.cgex-terminal-panel .cgex-node-count-options label:has(input:checked) { background:var(--cgex-ui-soft, #344b78); box-shadow:none; }
.cgex-terminal.cgex-node-mode .cgex-terminal-panel .cgex-display-section { display:flex; flex-direction:column; align-items:stretch; gap:10px; padding:0 0 18px; margin:18px 0; border:0; border-bottom:1px solid var(--cgex-ui-border, #343a48); border-radius:0; background:transparent; }
.cgex-terminal-panel .cgex-display-options { width:100%; }
.cgex-terminal-panel .cgex-display-section small { color:var(--cgex-ui-muted, #8894ad); font-size:10px; }
.cgex-terminal-overlay-settings { padding-bottom:18px; border-bottom:1px solid var(--cgex-ui-border, #343a48); margin-bottom:18px; }
.cgex-terminal-overlay-options label { display:flex !important; gap:9px; align-items:center; margin:12px 0; font-size:12px; color:var(--cgex-ui-text, #b3bdd0); }
.cgex-terminal-overlay-options input { accent-color:var(--cgex-ui-blue, #779ffc); }
.cgex-terminal-panel .cgex-tpo-toggle { background:var(--cgex-ui-field, #252c3b); border-color:var(--cgex-ui-border, #3b465d); border-radius:5px; }
.cgex-terminal-panel .cgex-control-time { padding:0; border:0; }
.cgex-terminal-panel .cgex-time-wrap { padding-right:76px; }
.cgex-terminal-panel .cgex-time-label { font-size:13px; }
.cgex-terminal-panel .cgex-replay-controls { margin:22px 0 0; }
.cgex-terminal-panel .cgex-reaction-panel, .cgex-terminal-panel .cgex-analysis-disclosure { padding:0; margin:0; border:0; background:transparent; }
.cgex-terminal-panel .cgex-analysis-disclosure > summary { font-size:12px; }
.cgex-terminal-panel .cgex-method { color:var(--cgex-ui-muted, #939fb5); font-size:11px; }
/* Keep every level model's settings focused on controls rather than prose. */
#cgex-terminal-settings p.cgex-method,
#cgex-terminal-settings details.cgex-method,
#cgex-terminal-settings details:has(> p.cgex-method):not(:has(.dash-graph, .dash-table-container, input, button, .dash-dropdown)),
#cgex-terminal-settings .cgex-opposite-summary,
#cgex-terminal-settings #cgex-hedge-vol-summary,
#cgex-terminal-settings #cgex-mad-status,
#cgex-terminal-settings .cgex-display-section small,
#cgex-terminal-settings #cgex-range-manual-controls > span.cgex-method { display:none !important; }
.cgex-terminal-panel #cgex-hedge-section-title { font-size:14px; margin-bottom:10px; }
.cgex-terminal-panel #cgex-hedge-section-colors { font-size:10px; color:var(--cgex-ui-muted, #939fb5); margin-bottom:18px; }
.cgex-terminal.cgex-node-mode .cgex-terminal-panel .cgex-node-metrics { display:flex; flex-direction:column; gap:0; margin:0; }
.cgex-terminal-panel .cgex-node-stat, .cgex-terminal-panel .cgex-node-stat.cgex-call-wall, .cgex-terminal-panel .cgex-node-stat.cgex-put-wall { padding:15px 12px; background:transparent; border-radius:0; border:0; border-bottom:1px solid var(--cgex-ui-border, #343a48); }
.cgex-terminal-panel .cgex-node-stat > strong { font-size:21px; margin:6px 0; }
.cgex-terminal-panel .cgex-node-stat > span { font-size:10px; }
.cgex-terminal-panel .cgex-node-stat > small { font-size:10px; }
#cgex-terminal-session { width:310px; bottom:auto; }
/* Session menus float over the chart rather than being clipped by the panel. */
#cgex-terminal-session .cgex-terminal-panel-content { overflow:visible; }
#cgex-terminal-session .Select-menu-outer,
#cgex-terminal-session .Select-menu,
#cgex-terminal-session .ReactVirtualized__Grid {
  max-height:min(200px, max(70px, calc(100dvh - 320px)));
}
#cgex-terminal-analytics, #cgex-terminal-details { width:min(780px, calc(100vw - 110px)); }
.cgex-terminal-panel details { border-top-color:var(--cgex-ui-border, #343a48); }
.cgex-terminal-panel summary { color:var(--cgex-ui-muted, #a8b4c9); }
@media (max-width:650px) {
  .cgex-terminal-market, .cgex-terminal-brand, .cgex-terminal-footer > span:nth-child(2) { display:none; }
  .cgex-terminal-topbar { padding:0 10px; gap:8px; }
  .cgex-terminal-context { font-size:9px; }
  .cgex-terminal-instrument { gap:7px; }
  .cgex-terminal-instrument strong { font-size:12px; }
  .cgex-terminal-price { font-size:11px; }
  .cgex-terminal-timeframe { padding-left:7px; }
  .cgex-terminal-panel, #cgex-terminal-session, #cgex-terminal-analytics, #cgex-terminal-details { left:34px; right:34px; width:auto; }
  .cgex-terminal-panel-content { padding:14px; }
  .cgex-terminal-footer { gap:10px; font-size:8px; padding:0 8px; }
  .cgex-terminal-panel .cgex-time-wrap { padding-right:48px; }
}
