/* Shared reading space; full analysis stays available without shrinking charts. */
.access-main .jc-member-return[hidden],.access-main #join.access-console[hidden]{display:none!important}
.jc-member-return{width:min(560px,100%);padding:24px 0;color:#f2f7f8;letter-spacing:0}
.jc-member-return .jc-member-welcome{margin:0 0 10px;font-size:14px;line-height:1.5;color:#9fdac1}
.jc-member-return h1{margin:0 0 12px;font-size:32px;line-height:1.2;letter-spacing:0;color:#fff;overflow-wrap:anywhere}
.jc-member-return>p{font-size:15px;line-height:1.5;margin:0 0 20px;color:#c2d1d9}
.jc-member-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 16px}
.jc-member-actions a,.jc-member-return>button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;max-width:100%;border:1px solid #496675;border-radius:5px;color:#e9f3fa;background:#152831;font:600 14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-decoration:none;cursor:pointer;overflow-wrap:anywhere}
.jc-member-actions .jc-member-open{color:#092a1d;background:#8de5b9;border-color:#8de5b9}
.jc-member-return>button{border:0;padding-left:0;background:transparent;color:#c3d7e1;text-decoration:underline;text-underline-offset:4px}
.jc-member-return :is(a,button):focus-visible{outline:2px solid #87d8f2;outline-offset:3px}
@layer jbot-desk {
  body.jbot-comfort .engine-copy { min-width: 0 !important; }
  body.jbot-comfort .engine-copy strong { max-width: 100%; overflow-wrap: anywhere !important; }
  body.jbot-comfort.jbot-unified-shell > .app-shell { width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
  @media (max-width: 650px) {
    :root.jt-enabled { min-width: 0 !important; max-width: 100% !important; }
    body.jbot-comfort { width: auto !important; max-width: 100% !important; min-width: 0 !important; }
    body.jbot-comfort .cockpit-header > div { min-width: 0 !important; max-width: 100% !important; }
    body.jbot-comfort .cockpit-header h2 { white-space: normal !important; overflow-wrap: anywhere !important; max-width: 100% !important; }
    body.jbot-comfort .dock-tabs { display: flex !important; flex-wrap: wrap !important; height: auto !important; gap: 4px !important; }
    body.jbot-comfort .dock-tabs button { flex: 1 1 120px !important; min-width: 0 !important; min-height: 44px !important; height: auto !important; padding: 8px !important; white-space: normal !important; overflow-wrap: anywhere !important; line-height: 1.4 !important; }
    body.jbot-comfort .queue-table thead button { width: 100% !important; max-width: 100% !important; min-width: 0 !important; white-space: normal !important; overflow-wrap: anywhere !important; }
  }
  :root body.jbot-comfort.jbot-unified-shell[data-jbot-product] {
    height: auto !important;
    min-height: 100svh !important;
    overflow-y: auto !important;
  }
  :root.jt-enabled body.jt-enabled.jbot-comfort.jbot-unified-shell[data-jbot-product] > .app-shell {
    height: auto !important;
    min-height: calc(100svh - var(--jbot-trending-height)) !important;
    overflow: visible !important;
  }
  :root body.jbot-comfort.jbot-unified-shell[data-jbot-product] .topbar {
    height: auto !important;
    min-height: 64px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px 20px !important;
    padding: 12px 16px !important;
  }
  :root body.jbot-comfort .topbar :is(.status-cluster, .topbar-actions, .jbot-workspace-controls) {
    flex-wrap: wrap !important;
    height: auto !important;
  }
  :root body.jbot-comfort .topbar .brand-copy > small { font-size: 12px !important; }
  :root body.jbot-comfort.jbot-unified-shell[data-jbot-product] .topbar .feed-state { width: auto !important; height: auto !important; flex-shrink: 0 !important; }
  :root body.jbot-comfort.jbot-unified-shell[data-jbot-product] .topbar .feed-state > span { max-width: 280px !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
  :root body.jbot-comfort.jbot-unified-shell[data-jbot-product] :is(.suite-switcher, .app-suite-switcher) {
    min-height: 48px !important;
    height: auto !important;
  }
  :root body.jbot-comfort.jbot-unified-shell[data-jbot-product] :is(.sheet-toolbar, .panel-header, .cockpit-header, .chart-header) {
    height: auto !important;
    min-height: 52px !important;
    padding: 12px 16px !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
  }
  :root body.jbot-comfort.jbot-unified-shell[data-jbot-product] :is(.sheet-table, .data-table) :is(th, td) {
    font-size: 13px !important;
    line-height: 1.5 !important;
    padding: 12px 14px !important;
    height: auto !important;
  }
  :root body.jbot-comfort.jbot-unified-shell[data-jbot-product] :is(.sheet-table, .data-table) td :is(small, .muted) {
    font-size: 12px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    max-height: none !important;
  }
  :root body.jbot-comfort :is(.sheet-table, .data-table) td { text-overflow: clip !important; }
  :root body.jbot-comfort .sheet-toolbar-actions { flex-wrap: wrap !important; gap: 8px !important; }
  :root body.jbot-comfort :is(.scan-loader, #loadingHud, .toast):not([hidden]) {
    bottom: calc(var(--jbot-trending-height, 78px) + 16px) !important;
  }

  /* Directional and IPO workspaces no longer trade chart height for the tray. */
  @media (min-width: 981px) {
    :root body.jbot-comfort.jbot-unified-shell.jbot-volume-parity:is([data-jbot-product=long], [data-jbot-product=short], [data-jbot-product=ipo]):not(.workspace-focus-mode, .workspace-popout-mode, .jbot-chart-theater) #chartPanel {
      height: clamp(480px, 58svh, 740px) !important;
      min-height: 480px !important;
      grid-template-rows: auto minmax(0, 1fr) !important;
    }
    :root body.jbot-comfort.jbot-unified-shell.jbot-volume-parity[data-jbot-product=ipo]:not(.workspace-focus-mode, .workspace-popout-mode, .jbot-chart-theater) #chartPanel { grid-template-rows: auto auto minmax(0, 1fr) !important; }
    :root body.jbot-comfort.jbot-unified-shell.jbot-volume-parity:is([data-jbot-product=long], [data-jbot-product=short], [data-jbot-product=ipo]):not(.workspace-focus-mode, .workspace-popout-mode, .jbot-chart-theater) :is(#dockPanel, #suiteDock) {
      height: max(360px, var(--jbot-dock-height, 360px)) !important;
      min-height: 360px !important;
      max-height: none !important;
    }
    :root.jt-enabled body.jt-enabled.jbot-comfort.jbot-unified-shell:is([data-jbot-product=long], [data-jbot-product=short], [data-jbot-product=ipo]):not(.workspace-focus-mode, .workspace-popout-mode, .jbot-chart-theater) > .app-shell {
      grid-template-rows: auto auto auto minmax(480px, auto) minmax(360px, auto) !important;
    }
    :root body.jbot-comfort:is([data-jbot-product=long], [data-jbot-product=short], [data-jbot-product=ipo]):not(.workspace-focus-mode, .workspace-popout-mode, .jbot-chart-theater) :is(#dockPanel, #suiteDock) {
      height: max(360px, var(--jbot-dock-height, 360px)) !important;
      min-height: 360px !important;
      max-height: none !important;
    }
  }
  :root body.jbot-comfort:is([data-jbot-product=long], [data-jbot-product=short]) #chartPanel {
    height: auto !important;
    min-height: 480px !important;
    grid-template-rows: auto minmax(360px, 1fr) !important;
  }
  :root body.jbot-comfort:is([data-jbot-product=long], [data-jbot-product=short]) #chartPanel .cockpit-layout {
    grid-template-columns: 220px minmax(0, 1fr) !important;
    min-height: 360px !important;
    height: auto !important;
  }
  :root body.jbot-comfort:is([data-jbot-product=long], [data-jbot-product=short]) #chartPanel .chart-stage {
    min-height: 360px !important;
  }
  :root body.jbot-comfort:is([data-jbot-product=long], [data-jbot-product=short]) #pulseGrid { display: none !important; }
  :root body.jbot-comfort #chartPanel :is(.chart-actions, .move-lens, .zoom-controls) { flex-wrap: wrap !important; }
  :root body.jbot-comfort[data-jbot-product=ipo] #chartPanel {
    height: auto !important;
    min-height: 480px !important;
    grid-template-rows: auto auto minmax(360px, 1fr) !important;
  }
  :root body.jbot-comfort[data-jbot-product=ipo] #chartPanel .chart-cockpit-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 360px !important;
  }
  :root body.jbot-comfort[data-jbot-product=ipo] #chart { min-height: 360px !important; }
  :root body.jbot-comfort #chartPanel > .chart-header #chartMeta {
    flex: 1 1 280px !important;
    font-size: 12px !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  /* Market and news sheets get enough height for several complete rows. */
  :root body.jbot-comfort:is([data-jbot-product=volume], [data-jbot-product=news]) .workspace {
    height: auto !important;
    min-height: 0 !important;
    grid-template-rows: auto minmax(520px, auto) auto !important;
    overflow: visible !important;
    gap: 16px !important;
    padding: 16px !important;
  }
  :root body.jbot-comfort:is([data-jbot-product=volume], [data-jbot-product=news]) .cockpit-grid {
    grid-template-columns: 340px minmax(0, 1fr) !important;
    min-height: 520px !important;
  }
  :root body.jbot-comfort:is([data-jbot-product=volume], [data-jbot-product=news]) .tape-panel {
    min-height: 380px !important;
    height: 380px !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }
  :root body.jbot-comfort[data-jbot-product=news] .tape-panel { height: max(380px, var(--tape-height, 380px)) !important; }
  :root body.jbot-comfort[data-jbot-product=news].queue-hidden .cockpit-grid { grid-template-columns: minmax(0, 1fr) !important; }
  :root body.jbot-comfort.compact-rows .data-table td { padding-block: 8px !important; }
  :root body.jbot-comfort:is([data-jbot-product=volume], [data-jbot-product=news]) .pulse-strip {
    height: auto !important;
    min-height: 84px !important;
    overflow: visible !important;
  }
  :root body.jbot-comfort[data-jbot-product=volume] :is(.chart-header, .chart-footer) {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    height: auto !important;
  }
  :root body.jbot-comfort[data-jbot-product=volume] .chart-header .jc-analysis-trigger { grid-column: auto !important; }
  :root body.jbot-comfort[data-jbot-product=volume] .dna-toggle { display: none !important; }
  :root body.jbot-comfort[data-jbot-product=volume]:has(.queue-table tbody td:nth-child(2)) .scan-loader { display: none !important; }
  :root body.jbot-comfort[data-jbot-product=volume] .queue-table { min-width: 480px !important; }
  :root body.jbot-comfort.jbot-unified-shell.jbot-volume-parity[data-jbot-product=volume] .queue-table { min-width: 0 !important; width: 100% !important; }
  :root body.jbot-comfort[data-jbot-product=volume] .queue-table :is(th, td):is(:nth-child(3), :nth-child(6)) { display: none !important; }
  :root body.jbot-comfort[data-jbot-product=news] .queue-table :is(th, td):nth-child(3) { display: none !important; }
  :root body.jbot-comfort:is([data-jbot-product=volume], [data-jbot-product=news]) .queue-panel.focused-panel .queue-table :is(th, td) { display: table-cell !important; }
  :root body.jbot-comfort :is(.queue-table, .sheet-table, .data-table) th { word-break: normal !important; overflow-wrap: normal !important; }
  :root body.jbot-comfort.jbot-unified-shell.jbot-volume-parity[data-jbot-product=volume] #beastChart .chart-header { display: flex !important; }
  :root body.jbot-comfort[data-jbot-product=volume] #beastChart .chart-identity { flex: 1 1 240px !important; }
  @media (min-width: 981px) {
    :root body.jbot-comfort.jbot-unified-shell.jbot-volume-parity:is([data-jbot-product=volume], [data-jbot-product=news]) .cockpit-grid {
      height: clamp(520px, 60svh, 740px) !important;
      min-height: 520px !important;
      grid-template-rows: minmax(0, 1fr) !important;
    }
  }
  :root body.jbot-comfort:is([data-jbot-product=volume], [data-jbot-product=news]) :is(.tape-table, .news-table) { min-width: 1180px !important; }

  /* Top-layer analysis retains the original live elements and event handlers. */
  :root body.jbot-comfort .jc-analysis {
    width: min(960px, calc(100vw - 32px)) !important;
    max-width: none !important;
    max-height: calc(100svh - 32px) !important;
    height: fit-content !important;
    position: fixed !important;
    padding: 0 !important;
    border: 1px solid #51636c !important;
    border-radius: 8px !important;
    background: #111b21 !important;
    color: #f3f6f8 !important;
    overflow: hidden !important;
  }
  :root body.jbot-comfort .jc-analysis:not([open]) { display: none !important; }
  :root body.jbot-comfort .jc-analysis[open] { display: flex !important; flex-direction: column !important; }
  :root body.jbot-comfort .jc-analysis::backdrop { background: #03080cbd; }
  :root body.jbot-comfort .jc-analysis > header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 20px 24px !important;
    border-bottom: 1px solid #34464f !important;
    flex: none !important;
  }
  :root body.jbot-comfort .jc-analysis h2 { margin: 0 !important; font-size: 20px !important; }
  :root body.jbot-comfort .jc-analysis-content { padding: 24px !important; overflow: auto !important; min-height: 0 !important; }
  :root body.jbot-comfort .jc-analysis :is(.engine-panel, #chartFocusPanel, #beastDna) {
    position: static !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    padding: 0 !important;
    border: 0 !important;
  }
  :root body.jbot-comfort .jc-analysis :is(.command-readout, .chart-focus-card, .factor-list, .cockpit-gauges) {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  :root body.jbot-comfort .jc-analysis :is(.command-grid, .cockpit-gauges, .factor-list, .chart-focus-grid) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    gap: 16px !important;
    margin: 16px 0 !important;
  }
  :root body.jbot-comfort .jc-analysis :is(span, small, p, strong) {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    max-height: none !important;
    line-height: 1.5 !important;
  }
  :root body.jbot-comfort .jc-analysis :is(small, p, .command-grid span) { font-size: 13px !important; }
  :root body.jbot-comfort .jc-analysis #factorList :is(span, strong) { font-size: 13px !important; }
  :root body.jbot-comfort .jc-analysis :is(.dial, .factor-row) { height: auto !important; min-height: 84px !important; padding: 14px !important; }
  :root body.jbot-comfort.jbot-unified-shell.jbot-volume-parity[data-jbot-product] #chartPanel .jc-analysis #cockpitGauges {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    gap: 16px !important;
  }
  :root body.jbot-comfort.jbot-unified-shell.jbot-volume-parity[data-jbot-product] #chartPanel .jc-analysis #cockpitGauges .dial {
    height: auto !important; min-height: 96px !important; padding: 14px !important;
    grid-template-columns: 56px minmax(0, 1fr) !important; gap: 12px !important;
  }
  :root body.jbot-comfort.jbot-unified-shell.jbot-volume-parity[data-jbot-product] #chartPanel .jc-analysis #cockpitGauges .dial-face { width: 56px !important; height: 56px !important; }
  :root body.jbot-comfort.jbot-unified-shell.jbot-volume-parity[data-jbot-product] #chartPanel .jc-analysis #cockpitGauges :is(small, strong) { font-size: 13px !important; line-height: 1.5 !important; }
  :root body.jbot-comfort .jc-analysis [data-focus-toggle] { display: none !important; }
  :root body.jbot-comfort .jc-analysis-trigger,
  :root body.jbot-comfort .jc-close {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 38px !important;
    padding: 8px 14px !important;
    border: 1px solid #536873 !important;
    border-radius: 5px !important;
    background: #203039 !important;
    color: #f4f7f9 !important;
    font-size: 13px !important;
    cursor: pointer !important;
  }
  :root body.jbot-comfort .jc-close { width: 38px !important; font-size: 24px !important; }
  :root body.jbot-comfort .chart-actions > .jc-analysis-trigger { order: -1 !important; }
  :root body.jbot-comfort.focus-mode :is(.focused-panel, .panel.focused-panel) {
    position: fixed !important;
    inset: 12px 12px calc(var(--jbot-trending-height, 78px) + 12px) !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    z-index: 500 !important;
  }
  :root body.jbot-comfort.jbot-chart-theater #chartPanel {
    min-height: 0 !important;
    height: auto !important;
  }
  :root body.jbot-comfort.jbot-unified-shell.workspace-focus-mode :is(#suiteDock, #dockPanel) {
    inset: 12px 12px calc(var(--jbot-trending-height, 78px) + 12px) !important;
    height: auto !important;
    min-height: 0 !important;
  }

  @media (max-width: 980px) {
    :root body.jbot-comfort:is([data-jbot-product=volume], [data-jbot-product=news]) .cockpit-grid { display: flex !important; flex-direction: column !important; }
    :root body.jbot-comfort:is([data-jbot-product=volume], [data-jbot-product=news]) .cockpit-grid > section { min-height: 460px !important; height: auto !important; }
    :root body.jbot-comfort:is([data-jbot-product=long], [data-jbot-product=short]) #chartPanel .cockpit-layout { grid-template-columns: minmax(0, 1fr) !important; }
    :root body.jbot-comfort #chartPanel .target-rail-wrap { height: 140px !important; min-height: 140px !important; }
    :root body.jbot-comfort #chartPanel { overflow: visible !important; }
    :root body.jbot-comfort :is(#dockPanel, #suiteDock) { min-height: 420px !important; }
  }
  @media (max-width: 650px) {
    :root body.jbot-comfort .jc-analysis :is(.command-grid, .cockpit-gauges, .factor-list, .chart-focus-grid) { grid-template-columns: minmax(0, 1fr) !important; }
    :root body.jbot-comfort.jbot-unified-shell.jbot-volume-parity[data-jbot-product] #chartPanel .jc-analysis #cockpitGauges { grid-template-columns: minmax(0, 1fr) !important; }
    :root body.jbot-comfort .jc-analysis > header, :root body.jbot-comfort .jc-analysis-content { padding: 16px !important; }
  }
}

/* A permanent, non-overlapping home for the alert inbox. */
body.jbot-comfort #jt-strip { grid-template-columns: 140px minmax(0, 1fr) auto; }
.jc-strip-actions { display: flex; gap: 8px; align-items: center; }
body.jbot-comfort .jc-strip-actions #big-alert-launcher {
  position: static !important; inset: auto !important; transform: none !important;
  width: 48px !important; height: 44px !important; min-width: 48px !important;
  padding: 4px !important; margin: 0 !important; justify-content: center;
}
.jc-strip-actions #big-alert-launcher > span { display: none; }
.jc-strip-actions #big-alert-launcher .ba-companion-portrait { width: 34px; height: 34px; }
body.jbot-comfort #jt-dialog td small { white-space: normal; overflow: visible; text-overflow: clip; }
body.jbot-comfort #jt-dialog td:first-child { min-width: 220px; }
body.jbot-comfort #jt-dialog td:nth-child(5) { min-width: 260px; max-width: 400px; white-space: normal; }
body.jbot-comfort .jt-item { max-width: none; }
body.jbot-comfort .jt-item small { overflow: visible; text-overflow: clip; }
@media(max-width:760px) { body.jbot-comfort #jt-strip { grid-template-columns: 88px minmax(0, 1fr) auto; }.jc-strip-actions { gap: 5px; } }

/* Research pages use horizontal tables, not squeezed columns or card reflow. */
body.jbot-comfort .rm-main .rm-table-wrap,
body.jbot-comfort main > section > .table-wrap { overflow-x: auto; scrollbar-gutter: stable; }
body.jbot-comfort #watch-table { display: table; min-width: 1180px; }
body.jbot-comfort #watch-table thead { display: table-header-group; }
body.jbot-comfort #watch-table tbody { display: table-row-group; }
body.jbot-comfort #watch-table tr { display: table-row; }
body.jbot-comfort #watch-table td { display: table-cell !important; font-size: 14px; padding: 20px 16px; }
body.jbot-comfort #watch-table td::before { display: none; }
body.jbot-comfort .rm-main .rm-table-wrap table { display: table; min-width: 1000px; }
body.jbot-comfort .rm-main .rm-table-wrap thead { display: table-header-group; position: static; clip-path: none; width: auto; height: auto; }
body.jbot-comfort .rm-main .rm-table-wrap tbody { display: table-row-group; }
body.jbot-comfort .rm-main .rm-table-wrap tr { display: table-row; }
body.jbot-comfort .rm-main .rm-table-wrap td { display: table-cell; font-size: 14px; padding: 18px 16px; }
body.jbot-comfort .rm-main .rm-table-wrap td::before { display: none; }
body.jbot-comfort .rm-main :is(.rm-wire-item, .rm-post) { padding: 24px 12px; }
body.jbot-comfort .rm-main .rm-source-statuses { gap: 24px; }
