/* Dashboard / research desk:a shared session with two distinct workspaces. */
.cgex-lab-switch { border:1px solid var(--cgex-ui-border, #34465b); background:var(--cgex-ui-field, #1b2635); color:var(--cgex-ui-text, #adc5da); border-radius:4px; padding:3px 10px; font:600 10px/15px Consolas,monospace; letter-spacing:1.5px; cursor:pointer; }
.cgex-lab-switch:hover, .cgex-lab-switch.is-active { color:var(--cgex-ui-cyan, #9ce7d8); border-color:var(--cgex-ui-border, #518779); background:var(--cgex-ui-field, #18312e); }
#cgex-lab-sidebar, #cgex-lab-heading, #cgex-lab-content, #cgex-lab-inspector { display:none; }
.cgex-terminal:not(.cgex-lab-active) #cgex-terminal-tool-analytics { display:none; }
.cgex-lab-active { --lab-border:#243340; --lab-muted:#7d93a7; background:var(--cgex-ui-bg, #0b1118) !important; }
.cgex-lab-active .cgex-terminal-topbar, .cgex-lab-active .cgex-terminal-footer,
.cgex-lab-active .cgex-terminal-rail { background:var(--cgex-ui-bg, #0d141d); border-color:var(--lab-border); }
.cgex-lab-active #cgex-lab-sidebar { display:flex; flex-direction:column; position:absolute; top:30px; bottom:18px; left:30px; width:226px; padding:22px 17px 16px; border-right:1px solid var(--lab-border); background:var(--cgex-ui-panel, #101a24); overflow:auto; z-index:60; font-family:Consolas,'Courier New',monospace; box-sizing:border-box; }
.cgex-lab-eyebrow { color:var(--cgex-ui-cyan, #6fa99f); font:9px/1.5 Consolas,monospace; letter-spacing:1.3px; }
#cgex-lab-sidebar h1 { color:var(--cgex-ui-text, #e1ecf3); font:500 30px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; margin:6px 0 7px; }
.cgex-lab-intro { color:var(--cgex-ui-muted, #8ca2b5); font:11px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; margin:0 0 24px; }
.cgex-lab-nav { margin:0 -7px 24px; }
.cgex-lab-nav label { display:block; padding:11px 9px; font-size:11px; color:var(--cgex-ui-muted, #a7bac9); border-left:2px solid transparent; cursor:pointer; }
.cgex-lab-nav label:has(input:checked) { color:var(--cgex-ui-cyan, #a6e6d9); background:var(--cgex-ui-field, #1b302f); border-left-color:var(--cgex-ui-accent, #79cfb9); }
.cgex-lab-nav input { position:absolute; opacity:0; }
.cgex-lab-nav label:focus-within { outline:1px solid var(--cgex-ui-accent, #79cfb9); }
#cgex-lab-sidebar label:not(.cgex-lab-nav label) { display:block; color:var(--cgex-ui-muted, #839cad); font-size:9px; letter-spacing:.7px; margin-bottom:8px; }
#cgex-lab-sidebar .Select-control { background:var(--cgex-ui-panel, #14222f) !important; border-color:var(--cgex-ui-border, #304552) !important; color:var(--cgex-ui-text, #d5e1e9); }
#cgex-lab-sidebar .Select-value-label { color:var(--cgex-ui-text, #d5e1e9) !important; font-size:11px; }
#cgex-lab-sidebar .Select-menu-outer { background:var(--cgex-ui-field, #172a38); color:var(--cgex-ui-text, #c7dbe9); border-color:var(--cgex-ui-border, #3a5966); z-index:200; }
#cgex-lab-sidebar .Select-option,
#cgex-lab-sidebar .VirtualizedSelectOption {
  box-sizing:border-box;
  padding:10px 12px;
  font:12px/18px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  white-space:normal;
  overflow-wrap:anywhere;
  overflow:hidden;
  border-bottom:1px solid var(--cgex-ui-border, #304552);
}
#cgex-lab-sidebar .Select-placeholder { font-size:11px; }
#cgex-lab-sidebar .dash-dropdown { margin-bottom:14px; }
#cgex-lab-sidebar p:not(.cgex-lab-intro) { color:var(--cgex-ui-blue, #6f879b); font-size:10px; line-height:1.7; }
#cgex-lab-sidebar .cgex-lab-surface-control > label { margin-top:18px; }
.cgex-lab-model-control, .cgex-lab-surface-control, .cgex-lab-vol-control, .cgex-lab-flow-control { display:none; }
.cgex-lab-active[data-lab-section=models] .cgex-lab-model-control,
.cgex-lab-active[data-lab-section=surfaces] .cgex-lab-surface-control,
.cgex-lab-active[data-lab-section=volatility] .cgex-lab-vol-control,
.cgex-lab-active[data-lab-section=analytics] .cgex-lab-flow-control { display:block; }
.cgex-lab-link { display:block; color:var(--cgex-ui-cyan, #91c9c5); font-size:10px; line-height:1.7; margin:16px 0; }
.cgex-lab-actions { display:flex; flex-wrap:wrap; gap:6px; margin:20px 0; }
.cgex-lab-action { background:var(--cgex-ui-field, #172632); color:var(--cgex-ui-muted, #9eb4c5); border:1px solid var(--cgex-ui-border, #304552); padding:6px 8px; font:10px Consolas,monospace; border-radius:3px; cursor:pointer; }
.cgex-lab-action:hover { border-color:var(--cgex-ui-accent, #6fa99f); color:var(--cgex-ui-text, #cbe8e3); }
.cgex-lab-session { margin-top:auto; border-top:1px solid var(--cgex-ui-border, #2a3b48); padding-top:16px; }
.cgex-lab-session > span { color:var(--cgex-ui-blue, #678395); font-size:9px; letter-spacing:1px; }
#cgex-lab-context { color:var(--cgex-ui-text, #afc6d5); font-size:10px; line-height:1.8; margin:8px 0; }
.cgex-lab-session small { color:var(--cgex-ui-blue, #607b8d); font-size:9px; }
.cgex-lab-back { margin-top:20px; background:none; border:0; padding:0; color:var(--cgex-ui-muted, #98b3c7); text-align:left; font:11px Consolas,monospace; cursor:pointer; }
.cgex-lab-active #cgex-lab-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; position:absolute; top:30px; left:256px; right:30px; height:78px; padding:0 24px; box-sizing:border-box; border-bottom:1px solid var(--lab-border); background:var(--cgex-ui-bg, #0f1821); }
#cgex-lab-heading h2 { color:var(--cgex-ui-text, #deebf3); font:500 19px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; margin:3px 0 0; }
.cgex-lab-description { max-width:330px; color:var(--cgex-ui-blue, #6e8c9f); font:10px/1.7 Consolas,monospace; text-align:right; }
.cgex-lab-active #cgex-hedge-wall-panel { left:256px !important; top:108px !important; background:var(--cgex-ui-bg, #0d141b); }
.cgex-lab-active:not([data-lab-section=models]) #cgex-hedge-wall-panel { display:none !important; }
.cgex-lab-active[data-lab-section=volatility][data-lab-vol=frozen_sd] #cgex-hedge-wall-panel { display:block !important; }
.cgex-lab-active #cgex-lab-content { display:block; position:absolute; top:108px; left:256px; right:30px; bottom:18px; overflow:auto; padding:18px 22px 28px; box-sizing:border-box; background:var(--cgex-ui-bg, #0b1118); }
.cgex-lab-active[data-lab-section=models] #cgex-lab-content,
.cgex-lab-active[data-lab-section=volatility][data-lab-vol=frozen_sd] #cgex-lab-content { display:none; }
.cgex-lab-card { border:1px solid var(--cgex-ui-border, #263846); background:var(--cgex-ui-bg, #0d141b); padding:12px; border-radius:5px; margin-bottom:16px; overflow:hidden; }
.cgex-lab-summary { font:10px/1.8 Consolas,monospace; color:var(--cgex-ui-blue, #819eb2); padding:8px 12px; border-top:1px solid var(--cgex-ui-border, #243340); }
#cgex-lab-chart-status { color:var(--cgex-ui-cyan, #83c4b9); font:11px Consolas,monospace; }
#cgex-lab-iv, #cgex-lab-analytics { display:none; }
.cgex-lab-active[data-lab-section=volatility][data-lab-vol=trade_iv] #cgex-lab-iv { display:block; }
.cgex-lab-active[data-lab-section=volatility][data-lab-vol=trade_iv] #cgex-lab-chart-card { display:none; }
.cgex-lab-active #cgex-lab-iv > #cgex-trade-iv-panel,
.cgex-lab-active #cgex-lab-iv > #cgex-hedge-iv-shift-controls { display:block !important; border:0 !important; }
.cgex-lab-active[data-lab-section=analytics] #cgex-lab-analytics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#cgex-lab-analytics > details { background:var(--cgex-ui-bg, #0d141b); border:1px solid var(--cgex-ui-border, #263846); padding:14px; margin:0; min-width:0; }
#cgex-lab-analytics summary { color:var(--cgex-ui-text, #a2c6c9); font:11px Consolas,monospace; margin-bottom:12px; cursor:pointer; }
#cgex-lab-analytics .js-plotly-plot { max-width:100%; }
.cgex-lab-active #cgex-terminal-settings { left:268px; }
.cgex-lab-active #cgex-terminal-session { left:268px; }
.cgex-lab-active #cgex-terminal-candles { left:auto; }
.cgex-lab-active #cgex-lab-inspector { display:none; }
.cgex-lab-active[data-lab-section=models] #cgex-hedge-wall-panel { right:348px !important; }
.cgex-lab-active[data-lab-section=models] #cgex-lab-inspector { display:block; position:absolute; top:108px; right:30px; bottom:18px; width:290px; overflow:auto; background:var(--cgex-ui-panel, #101a24); border-left:1px solid var(--cgex-ui-border, #304552); padding:14px; z-index:25; }
#cgex-lab-inspector .cgex-node-metrics { display:block; }
#cgex-lab-inspector .cgex-node-metric { margin-bottom:8px; }
.cgex-lab-active[data-lab-section=models] #cgex-lab-inspector:has(#cgex-delta-pressure-panel[style*="block"]),
.cgex-lab-active[data-lab-section=models] #cgex-lab-inspector:has(#cgex-mad-group-panel[style*="block"]) { display:block; position:absolute; top:125px; right:48px; bottom:36px; width:310px; overflow:auto; background:var(--cgex-ui-panel, #101a24); border:1px solid var(--cgex-ui-border, #304552); padding:14px; z-index:25; }
.cgex-lab-inspector-title { color:var(--cgex-ui-text, #bbcbd7); font-size:13px; }
.cgex-lab-active #cgex-lab-inspector #cgex-hedge-strike-picking-controls { margin-top:15px; }
@media (max-width:1050px) {
  .cgex-lab-description { display:none; }
  .cgex-lab-active[data-lab-section=analytics] #cgex-lab-analytics { grid-template-columns:1fr; }
  .cgex-lab-active[data-lab-section=models] #cgex-lab-inspector { display:none !important; }
  .cgex-lab-active[data-lab-section=models] #cgex-hedge-wall-panel { right:30px !important; }
}
@media (max-width:700px) {
  .cgex-lab-active #cgex-lab-sidebar { width:174px; padding:14px 10px; }
  .cgex-lab-active #cgex-lab-heading, .cgex-lab-active #cgex-lab-content,
  .cgex-lab-active #cgex-hedge-wall-panel { left:204px !important; }
  .cgex-lab-active #cgex-terminal-settings, .cgex-lab-active #cgex-terminal-session { left:36px; }
  .cgex-lab-nav label { font-size:10px; padding:10px 6px; }
  #cgex-lab-heading h2 { font-size:16px; }
}
