/* StockUp chart workspace. Shared with the Unified stock profile palette. */
.stock-chart-workspace {
  --ws-bg:#080d13;
  --ws-surface:#0e1721;
  --ws-surface-raised:#142131;
  --ws-border:#253548;
  --ws-text:#edf3fa;
  --ws-muted:#a1b0c2;
  --ws-blue:#5c9dff;
  --ws-green:#23c993;
  --ws-red:#fa6b7f;
  --ws-compare:#fb923c;
  position:fixed;
  inset:0;
  z-index:10020;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  overflow:hidden;
  background:var(--ws-bg);
  color:var(--ws-text);
}
.stock-chart-workspace[hidden], .stock-chart-workspace [hidden] { display:none!important; }
.stock-chart-workspace button, .stock-chart-workspace input { font:inherit; }
.stock-chart-workspace button { cursor:pointer; }
.stock-chart-workspace button:focus-visible,
.stock-chart-workspace input:focus-visible,
.stock-chart-workspace input:focus-visible + span { outline:2px solid var(--ws-blue); outline-offset:3px; }
.stock-chart-workspace button:active { opacity:.76; }

.stock-chart-workspace .workspace-command-bar {
  position:relative;
  z-index:1;
  flex:none;
  min-height:76px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:12px clamp(18px,3vw,42px);
  border-bottom:1px solid var(--ws-border);
  background:var(--ws-bg);
}
.stock-chart-workspace .workspace-back-btn {
  min-width:44px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid var(--ws-border);
  border-radius:12px;
  padding:0 13px 0 9px;
  background:var(--ws-surface);
  color:var(--ws-text);
  font-size:.83rem;
  font-weight:700;
}
.stock-chart-workspace .workspace-back-btn svg { width:20px; height:20px; flex:none; }
.stock-chart-workspace .workspace-stock-identity { display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; }
.stock-chart-workspace .workspace-stock-identity > div { display:flex; flex-direction:row; align-items:baseline; gap:10px; min-width:0; }
.stock-chart-workspace .workspace-stock-identity strong { color:var(--ws-text); font-family:inherit; font-size:1.28rem; letter-spacing:-.035em; line-height:1.1; }
.stock-chart-workspace .workspace-stock-identity > div span { color:var(--ws-muted); font-size:.8rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.stock-chart-workspace .workspace-kicker { color:var(--ws-blue); font-family:inherit; font-size:.72rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.stock-chart-workspace .workspace-command-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.stock-chart-workspace .workspace-action-btn {
  min-height:44px;
  min-width:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 15px;
  border:1px solid var(--ws-border);
  border-radius:12px;
  background:var(--ws-surface);
  color:var(--ws-text);
  font-size:.82rem;
  font-weight:720;
  transition:background .18s ease,border-color .18s ease;
}
.stock-chart-workspace .workspace-action-btn svg { width:17px; height:17px; flex:none; }
.stock-chart-workspace .workspace-action-btn:hover { background:var(--ws-surface-raised); border-color:var(--ws-blue); }
.stock-chart-workspace .workspace-action-btn.active,
.stock-chart-workspace .workspace-action-btn[aria-expanded="true"] { border-color:var(--ws-blue); color:var(--ws-blue); }

.stock-chart-workspace .workspace-stage {
  flex:1;
  min-width:0;
  min-height:0;
  display:block;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:var(--ws-border) transparent;
}
.stock-chart-workspace .workspace-chart-column {
  display:block;
  width:min(100%,1380px);
  min-height:0;
  height:auto;
  margin:0 auto;
  padding:clamp(22px,3vw,46px) clamp(18px,3vw,42px) max(44px,env(safe-area-inset-bottom));
  background:var(--ws-bg);
}
.stock-chart-workspace .workspace-overview { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-bottom:20px; }
.stock-chart-workspace .workspace-live-quote { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 14px; }
.stock-chart-workspace .workspace-data-label { flex-basis:100%; color:var(--ws-muted); font-size:.75rem; font-weight:650; }
.stock-chart-workspace .workspace-live-quote strong { color:var(--ws-text); font-family:inherit; font-size:clamp(2.6rem,5vw,4.4rem); font-weight:750; line-height:1; letter-spacing:-.06em; font-variant-numeric:tabular-nums; }
.stock-chart-workspace .workspace-move-row { flex-basis:100%; display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 9px; color:var(--ws-muted); font-size:.8rem; }
.stock-chart-workspace #workspaceLiveChange { font-family:inherit; font-size:1rem; font-weight:730; font-variant-numeric:tabular-nums; }
.stock-chart-workspace .workspace-session-chip { display:inline-flex; align-items:center; min-height:27px; padding:3px 10px; border:1px solid var(--ws-border); border-radius:999px; color:var(--ws-muted); font-size:.75rem; font-weight:700; }
.stock-chart-workspace .workspace-live-quote .workspace-price-time { flex-basis:100%; color:var(--ws-muted); font-size:.76rem; font-weight:500; }
.stock-chart-workspace .workspace-live-quote .pos { color:var(--ws-green); }
.stock-chart-workspace .workspace-live-quote .neg { color:var(--ws-red); }
.stock-chart-workspace .workspace-inspect-readout {
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:5px 10px;
  color:var(--ws-muted);
  font-size:.83rem;
  text-align:right;
}
.stock-chart-workspace .workspace-inspect-readout strong { color:var(--ws-text); font-size:1.15rem; font-variant-numeric:tabular-nums; }
.stock-chart-workspace .workspace-inspect-readout.is-inspecting #workspaceInspectHint { display:none; }
.stock-chart-workspace .workspace-inspect-readout.is-inspecting #workspaceInspectPrice,
.stock-chart-workspace .workspace-inspect-readout.is-inspecting #workspaceInspectTime { display:inline; }

.stock-chart-workspace .workspace-chart-host { height:clamp(430px,62dvh,760px); min-height:0; }
.stock-chart-workspace .workspace-chart-host .chart-section { height:100%; display:flex; flex-direction:column; margin:0; overflow:hidden; border:1px solid var(--ws-border); border-radius:20px; background:var(--ws-surface); }
.stock-chart-workspace .workspace-chart-host .chart-topbar { flex:none; min-height:66px; display:flex; align-items:center; padding:8px 18px; border-bottom:1px solid var(--ws-border); background:var(--ws-surface); }
.stock-chart-workspace .workspace-chart-host .chart-tf-row { display:flex; gap:5px; overflow-x:auto; scrollbar-width:none; }
.stock-chart-workspace .workspace-chart-host .chart-tf-row::-webkit-scrollbar { display:none; }
.stock-chart-workspace .workspace-chart-host .tf { min-width:52px; min-height:44px; flex:none; padding:0 14px; border:0; border-radius:11px; background:transparent; color:var(--ws-muted); font-family:inherit; font-size:.84rem; font-weight:740; }
.stock-chart-workspace .workspace-chart-host .tf.active { background:var(--ws-blue); color:#07111e; }
.stock-chart-workspace .workspace-chart-host .tf:hover:not(.active) { background:var(--ws-surface-raised); color:var(--ws-text); }
.stock-chart-workspace .workspace-chart-host .chart-topbar-actions { display:flex; }
.stock-chart-workspace .workspace-chart-host .chart-session-label { color:var(--ws-muted); font-family:inherit; font-size:.73rem; letter-spacing:.02em; text-transform:none; }
.stock-chart-workspace .workspace-chart-host .chart-expand-btn { display:none; }
.stock-chart-workspace .workspace-chart-host .chart-canvas-area { flex:1; min-height:0; height:auto; overflow:hidden; background:var(--ws-surface); cursor:crosshair; }
.stock-chart-workspace .workspace-chart-host .chart-message--status { color:var(--ws-muted); background:var(--ws-surface); border-color:var(--ws-border); }
.stock-chart-workspace .workspace-chart-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 2px; }
.stock-chart-workspace .workspace-chart-legend { flex:1; min-width:0; display:flex; align-items:center; flex-wrap:wrap; gap:7px 9px; color:var(--ws-muted); font-size:.78rem; }
.stock-chart-workspace .workspace-chart-legend::before { content:""; display:block; width:20px; height:0; border-top:2px solid var(--ws-green); }
.stock-chart-workspace .workspace-chart-legend.down::before { border-color:var(--ws-red); }
.stock-chart-workspace #workspaceChartCompareLegend { display:inline-flex; align-items:center; gap:7px; margin-left:8px; }
.stock-chart-workspace #workspaceChartCompareLegend::before { content:""; display:block; width:20px; height:0; border-top:2px dashed var(--ws-compare); }
.stock-chart-workspace #workspaceResetViewBtn { flex:none; min-height:44px; border:0; padding:0 8px; background:transparent; color:var(--ws-blue); font-size:.78rem; font-weight:730; }
.stock-chart-workspace #workspaceResetViewBtn:hover { text-decoration:underline; }
.stock-chart-workspace .workspace-stat-heading { margin:7px 2px 11px; color:var(--ws-muted); font-size:.75rem; font-weight:760; letter-spacing:.1em; text-transform:uppercase; }
.stock-chart-workspace .workspace-range-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:2px; }
.stock-chart-workspace .workspace-range-stats > div { min-width:0; padding:15px 18px; border:1px solid var(--ws-border); border-radius:14px; background:var(--ws-surface); }
.stock-chart-workspace .workspace-range-stats span { display:block; color:var(--ws-muted); font-size:.75rem; font-weight:680; }
.stock-chart-workspace .workspace-range-stats strong { display:block; margin-top:7px; color:var(--ws-text); font-size:1.15rem; font-weight:740; font-variant-numeric:tabular-nums; }
.stock-chart-workspace .workspace-range-stats strong.pos { color:var(--ws-green); }
.stock-chart-workspace .workspace-range-stats strong.neg { color:var(--ws-red); }
.stock-chart-workspace .workspace-indicator-status { color:var(--ws-muted); }
.stock-chart-workspace .workspace-rsi-panel { display:block; height:174px; margin-top:16px; overflow:hidden; border:1px solid var(--ws-border); border-radius:14px; background:var(--ws-surface); }
.stock-chart-workspace .workspace-rsi-panel header { border-color:var(--ws-border); }
.stock-chart-workspace .workspace-rsi-panel header small { color:var(--ws-muted); }
.stock-chart-workspace .workspace-next-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.stock-chart-workspace .workspace-next-actions button { min-height:46px; display:inline-flex; align-items:center; justify-content:space-between; gap:28px; padding:0 16px; border:1px solid var(--ws-border); border-radius:12px; background:transparent; color:var(--ws-text); font-size:.82rem; font-weight:700; }
.stock-chart-workspace .workspace-next-actions button:hover { border-color:var(--ws-blue); color:var(--ws-blue); }
.stock-chart-workspace .workspace-next-actions svg { width:17px; height:17px; flex:none; color:var(--ws-blue); }

.stock-chart-workspace .workspace-panel-backdrop { position:absolute; inset:0; z-index:3; width:100%; height:100%; border:0; border-radius:0; padding:0; background:rgba(2,8,15,.58); }
.stock-chart-workspace .workspace-tool-strip,
.stock-chart-workspace .workspace-rail {
  position:absolute;
  z-index:4;
  top:calc(88px + env(safe-area-inset-top));
  right:calc(20px + env(safe-area-inset-right));
  bottom:calc(20px + env(safe-area-inset-bottom));
  left:auto;
  width:min(420px,calc(100vw - 40px));
  max-height:none;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0;
  overflow:auto;
  border:1px solid var(--ws-border);
  border-radius:22px;
  background:var(--ws-surface);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  transform:none;
  animation:workspace-panel-enter .2s cubic-bezier(.2,.7,.2,1);
}
.stock-chart-workspace.rail-collapsed .workspace-rail { display:none; }
.stock-chart-workspace .workspace-panel-heading { flex:none; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:23px 24px 18px; border-bottom:1px solid var(--ws-border); }
.stock-chart-workspace .workspace-panel-heading h2 { margin:4px 0 0; color:var(--ws-text); font-size:1.48rem; letter-spacing:-.04em; }
.stock-chart-workspace .workspace-panel-heading > button { flex:none; width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--ws-border); border-radius:12px; background:var(--ws-surface-raised); color:var(--ws-text); font-size:1.5rem; line-height:1; }
.stock-chart-workspace .workspace-panel-heading > button svg { width:19px; height:19px; }
.stock-chart-workspace .workspace-tool-group { display:block; flex:none; margin:0; padding:22px 24px; border:0; border-bottom:1px solid var(--ws-border); }
.stock-chart-workspace .workspace-tool-group h3,
.stock-chart-workspace .workspace-session-controls legend { float:none; margin:0; color:var(--ws-text); font-family:inherit; font-size:.95rem; font-weight:730; letter-spacing:0; text-transform:none; }
.stock-chart-workspace .workspace-tool-group p { margin:5px 0 16px; color:var(--ws-muted); font-size:.8rem; line-height:1.45; }
.stock-chart-workspace .workspace-compare-control { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; }
.stock-chart-workspace .workspace-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.stock-chart-workspace .workspace-compare-control input { width:100%; min-width:0; min-height:48px; padding:0 13px; border:1px solid var(--ws-border); border-radius:11px; background:var(--ws-bg); color:var(--ws-text); font-size:1rem; text-transform:uppercase; }
.stock-chart-workspace .workspace-compare-control button { min-height:48px; padding:0 14px; border:1px solid var(--ws-border); border-radius:11px; background:var(--ws-surface-raised); color:var(--ws-text); font-size:.8rem; font-weight:730; }
.stock-chart-workspace .workspace-compare-control button[type="submit"] { border-color:var(--ws-blue); color:var(--ws-blue); }
.stock-chart-workspace .workspace-compare-control .workspace-tool-clear { color:var(--ws-red); }
.stock-chart-workspace .workspace-inline-status { min-height:0; margin:9px 0 0; color:var(--ws-muted); white-space:normal; font-size:.76rem; line-height:1.4; }
.stock-chart-workspace .workspace-inline-status:empty { display:none; }
.stock-chart-workspace .workspace-inline-status.error { color:var(--ws-red); }
.stock-chart-workspace .workspace-inline-status.success { color:var(--ws-green); }
.stock-chart-workspace .workspace-tool-group-title { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.stock-chart-workspace #workspaceIndicatorCount { color:var(--ws-muted); font-size:.7rem; font-weight:700; }
.stock-chart-workspace .workspace-indicator-list { display:grid; gap:8px; }
.stock-chart-workspace .workspace-indicator-list label { min-height:60px; display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--ws-border); border-radius:12px; cursor:pointer; }
.stock-chart-workspace .workspace-indicator-list label:has(input:checked) { border-color:var(--ws-blue); background:var(--ws-surface-raised); }
.stock-chart-workspace .workspace-indicator-list input { width:19px; height:19px; accent-color:var(--ws-blue); }
.stock-chart-workspace .workspace-indicator-list label span { display:flex; flex-direction:column; gap:3px; }
.stock-chart-workspace .workspace-indicator-list strong { color:var(--ws-text); font-size:.8rem; }
.stock-chart-workspace .workspace-indicator-list small { color:var(--ws-muted); font-size:.71rem; }
.stock-chart-workspace .workspace-session-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.stock-chart-workspace .workspace-session-controls legend,
.stock-chart-workspace .workspace-session-controls p { grid-column:1/-1; }
.stock-chart-workspace .workspace-session-controls p { margin-bottom:8px; }
.stock-chart-workspace .workspace-session-controls label { display:block; }
.stock-chart-workspace .workspace-session-controls span { width:100%; min-height:48px; border:1px solid var(--ws-border); border-radius:11px; background:var(--ws-bg); color:var(--ws-muted); font-family:inherit; font-size:.8rem; }
.stock-chart-workspace .workspace-session-controls input:checked + span { border-color:var(--ws-blue); background:var(--ws-surface-raised); color:var(--ws-text); }
.stock-chart-workspace .workspace-session-controls input:disabled + span { opacity:.4; }

.stock-chart-workspace .workspace-rail { width:min(440px,calc(100vw - 40px)); }
.stock-chart-workspace .workspace-rail { overflow:hidden; }
.stock-chart-workspace .workspace-rail-tabs { flex:none; min-height:60px; display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:8px 18px; border-bottom:1px solid var(--ws-border); }
.stock-chart-workspace .workspace-rail-tabs button { min-height:44px; border-radius:10px; color:var(--ws-muted); font-size:.78rem; }
.stock-chart-workspace .workspace-rail-tabs button[aria-selected="true"] { border-color:var(--ws-blue); background:var(--ws-surface-raised); color:var(--ws-text); }
.stock-chart-workspace .workspace-tab-mark { color:var(--ws-blue); }
.stock-chart-workspace .workspace-rail-panel { flex:1; min-height:0; padding:18px; }
.stock-chart-workspace .workspace-quan-host { height:calc(100% - 42px); }
.stock-chart-workspace .workspace-quan-host .copilot-box { border-color:var(--ws-border)!important; border-radius:12px!important; }

html[data-theme="light"] .stock-chart-workspace {
  --ws-bg:#f7f9fc;
  --ws-surface:#ffffff;
  --ws-surface-raised:#edf4fb;
  --ws-border:#d8e1ec;
  --ws-text:#17263a;
  --ws-muted:#566a80;
  --ws-blue:#185fc4;
  --ws-green:#067e60;
  --ws-red:#bd3553;
  --ws-compare:#b65b0c;
}
html[data-theme="light"] .stock-chart-workspace .workspace-chart-host .tf.active { color:#fff; }
@keyframes workspace-panel-enter { from { opacity:.75; transform:translateX(10px); } to { opacity:1; transform:translateX(0); } }

@media(max-width:700px) {
  .stock-chart-workspace .workspace-command-bar { min-height:64px; gap:10px; padding:8px 12px; }
  .stock-chart-workspace .workspace-back-btn { width:44px; padding:0; }
  .stock-chart-workspace .workspace-back-btn span,
  .stock-chart-workspace .workspace-action-btn span { display:none; }
  .stock-chart-workspace .workspace-stock-identity { gap:0; }
  .stock-chart-workspace .workspace-kicker { font-size:.72rem; }
  .stock-chart-workspace .workspace-stock-identity strong { font-size:1.08rem; }
  .stock-chart-workspace .workspace-stock-identity > div span { display:none; }
  .stock-chart-workspace .workspace-action-btn { width:44px; height:44px; padding:0; }
  .stock-chart-workspace .workspace-chart-column { padding:22px 12px max(40px,env(safe-area-inset-bottom)); }
  .stock-chart-workspace .workspace-overview { display:block; margin:0 2px 16px; }
  .stock-chart-workspace .workspace-live-quote { gap:6px 10px; }
  .stock-chart-workspace .workspace-live-quote strong { font-size:clamp(2.7rem,11vw,4rem); }
  .stock-chart-workspace #workspaceLiveChange { font-size:.9rem; }
  .stock-chart-workspace .workspace-inspect-readout { justify-content:flex-start; min-height:28px; margin-top:8px; text-align:left; font-size:.76rem; }
  .stock-chart-workspace .workspace-chart-host { height:clamp(340px,60dvh,600px); }
  .stock-chart-workspace .workspace-chart-host .chart-section { border-radius:15px; }
  .stock-chart-workspace .workspace-chart-host .chart-topbar { min-height:58px; padding:5px 7px; }
  .stock-chart-workspace .workspace-chart-host .tf { min-width:44px; min-height:44px; padding:0 9px; font-size:.78rem; }
  .stock-chart-workspace .workspace-chart-host .chart-session-label { display:none; }
  .stock-chart-workspace .workspace-chart-footer { padding:7px 2px; }
  .stock-chart-workspace .workspace-range-stats { gap:6px; }
  .stock-chart-workspace .workspace-range-stats > div { padding:12px 10px; border-radius:11px; }
  .stock-chart-workspace .workspace-range-stats strong { font-size:.95rem; }
  .stock-chart-workspace .workspace-next-actions { display:grid; grid-template-columns:1fr; gap:8px; }
  .stock-chart-workspace .workspace-next-actions button { width:100%; }
  .stock-chart-workspace .workspace-tool-strip,
  .stock-chart-workspace .workspace-rail {
    top:auto;
    right:env(safe-area-inset-right);
    bottom:0;
    left:env(safe-area-inset-left);
    width:auto;
    max-height:min(82dvh,760px);
    padding-bottom:env(safe-area-inset-bottom);
    border-radius:24px 24px 0 0;
    animation:workspace-sheet-enter .2s cubic-bezier(.2,.7,.2,1);
  }
  .stock-chart-workspace .workspace-panel-heading { padding:20px 20px 14px; }
  .stock-chart-workspace .workspace-tool-group { padding:20px; }
}
@media(max-width:380px) {
  .stock-chart-workspace .workspace-command-bar { gap:7px; padding-left:8px; padding-right:8px; }
  .stock-chart-workspace .workspace-command-actions { gap:8px; }
  .stock-chart-workspace .workspace-range-stats strong { font-size:.85rem; }
}
@media(max-height:520px) and (orientation:landscape) {
  .stock-chart-workspace .workspace-chart-host { height:330px; }
  .stock-chart-workspace .workspace-chart-column { padding-top:14px; }
}
@keyframes workspace-sheet-enter { from { opacity:.75; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) {
  .stock-chart-workspace *, .stock-chart-workspace *::before, .stock-chart-workspace *::after { animation-duration:0s!important; transition-duration:0s!important; scroll-behavior:auto!important; }
}
