/* The chart is a focused research workspace, with native accessible controls. */
.chart-workspace { padding: 0; border-radius: 22px; overflow: visible; box-shadow: 0 6px 28px rgba(28, 32, 65, .055); }
.chart-workspace-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:24px 26px 0; }
.chart-eyebrow { display:flex; align-items:center; gap:8px; color:var(--text-muted-color); font-size:10px; font-weight:800; letter-spacing:.14em; margin-bottom:9px; }
.chart-brand-mark { display:inline-block; width:7px; height:7px; background:var(--accent-color); border-radius:2px; box-shadow:4px -4px 0 var(--accent-tint-bg); }
.chart-workspace .grow-card-title { font-size:17px; font-weight:800; line-height:1.4; }
.chart-header-actions { display:flex; gap:5px; }
.chart-tool { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:38px; padding:8px 10px; border:1px solid transparent; border-radius:9px; background:transparent; color:var(--text-muted-color); font:inherit; font-size:11px; font-weight:800; cursor:pointer; white-space:nowrap; }
.chart-tool > span:first-child { font-family:system-ui,sans-serif; font-size:18px; line-height:1; font-weight:500; }
.chart-tool:hover { color:var(--text-color); background:var(--surface-muted-bg); }
.chart-tool[aria-pressed="true"] { color:var(--accent-dark-text); border-color:var(--border-color); background:var(--accent-tint-bg); }
.chart-workspace button:focus-visible,.chart-workspace summary:focus-visible,.chart-workspace label:has(input:focus-visible) { outline:3px solid var(--accent-color); outline-offset:3px; }
.chart-inspector { padding:20px 26px 18px; }
.chart-inspector-context { display:flex; align-items:center; gap:9px; color:var(--text-muted-color); font-size:12px; font-variant-numeric:tabular-nums; }
.chart-inspector-context strong { color:var(--text-color); font-weight:800; }
#chart-point-state { font-size:9px; text-transform:uppercase; letter-spacing:.08em; background:var(--surface-muted-bg); padding:3px 5px; border-radius:4px; }
.chart-inspector-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; margin-top:5px; }
#chart-touch-value { font-size:clamp(29px,3.1vw,40px); font-weight:800; letter-spacing:-.045em; line-height:1.2; font-variant-numeric:tabular-nums; color:var(--text-color); }
#chart-touch-change { font-size:12px; color:var(--text-muted-color); font-weight:700; font-variant-numeric:tabular-nums; }
#chart-touch-change[data-direction="up"] { color:var(--positive-color); }
#chart-touch-change[data-direction="down"] { color:var(--negative-color); }
.chart-series-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding-top:15px; }
.chart-field-label { font-size:9px; font-weight:800; letter-spacing:.1em; color:var(--text-muted-color); }
.chart-workspace .grow-compare-chip { font-size:11px; padding:4px 8px; border-radius:6px; }
.chart-clear { margin-left:auto; font:inherit; font-size:11px; color:var(--text-muted-color); background:none; border:0; padding:6px; cursor:pointer; }
.chart-clear:hover { color:var(--negative-color); }
.chart-controls { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:12px; border-top:1px solid var(--border-color); padding:14px 22px 8px; }
.chart-segmented { display:flex; gap:3px; flex-wrap:wrap; }
.chart-segmented label { position:relative; display:inline-flex; align-items:center; justify-content:center; min-height:36px; min-width:37px; padding:6px 10px; border-radius:8px; font-size:11px; font-weight:800; color:var(--text-muted-color); cursor:pointer; box-sizing:border-box; }
.chart-segmented input { position:absolute; opacity:0; width:1px; height:1px; }
.chart-segmented label:has(input:checked) { color:var(--accent-dark-text); background:var(--accent-tint-bg); }
.chart-segmented label:hover { color:var(--text-color); background:var(--surface-muted-bg); }
.chart-types { padding:3px; border:1px solid var(--border-color); border-radius:10px; }
.chart-types label { min-height:29px; padding:4px 9px; }
.chart-types label:has(input:checked) { background:var(--text-color); color:var(--surface-bg); }
.chart-segmented label:has(input:disabled) { opacity:.4; cursor:not-allowed; }
.chart-study-controls { display:flex; align-items:center; flex-wrap:wrap; gap:16px; padding:4px 26px 10px; }
.chart-control-group { display:flex; gap:9px; align-items:center; }
.chart-toggle-list { display:flex; gap:10px; flex-wrap:wrap; }
.chart-toggle-list label { display:inline-flex; align-items:center; gap:5px; color:var(--text-muted-color); font-size:11px; font-weight:700; cursor:pointer; min-height:30px; }
.chart-toggle-list input { width:13px; height:13px; accent-color:var(--accent-color); margin:0; }
.chart-toggle-list label:has(input:checked) { color:var(--accent-color); }
.chart-toggle-list label:has(input:disabled) { opacity:.45; cursor:not-allowed; }
.chart-indicators { position:relative; margin-left:auto; z-index:12; }
.chart-indicators > summary { list-style:none; cursor:pointer; font-size:11px; font-weight:800; color:var(--text-muted-color); padding:7px 9px; border-radius:7px; }
.chart-indicators > summary::-webkit-details-marker { display:none; }
.chart-indicators[open] > summary,.chart-indicators > summary:hover { color:var(--accent-color); background:var(--accent-tint-bg); }
.chart-indicator-popover { position:absolute; right:0; top:calc(100% + 7px); width:245px; background:var(--surface-bg); border:1px solid var(--border-color); padding:18px; border-radius:12px; box-shadow:var(--shadow-panel); }
.chart-popover-title { font-size:13px; font-weight:800; }
.chart-popover-hint { color:var(--text-muted-color); font-size:11px; line-height:1.5; margin:5px 0 12px; }
.chart-ma-list { display:grid; gap:8px; }
.chart-ma-list label { display:flex; gap:8px; align-items:center; font-size:12px; cursor:pointer; }
.chart-ma-list input { accent-color:var(--accent-color); }
.chart-indicator-popover #ma-control-block { min-width:0!important; width:100%!important; padding:0!important; background:transparent!important; border:0!important; }
.chart-render-note { margin:0 26px; min-height:0; font-size:11px; line-height:1.6; color:var(--text-muted-color); }
.chart-render-note:not(:empty) { padding-bottom:8px; }
.chart-workspace-canvas { height:clamp(330px,48vh,520px)!important; margin:0!important; }
.chart-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; border-top:1px solid var(--border-color); margin:0 24px; padding:9px 0; }
.chart-tool-group { display:flex; gap:3px; flex-wrap:wrap; }
.chart-tool-hint { font-size:10px; color:var(--text-muted-color); }
.chart-insight { display:flex; align-items:flex-start; gap:10px; padding:14px 24px; background:var(--surface-muted-bg); border-top:1px solid var(--border-color); font-size:12px; color:var(--text-soft-color); line-height:1.6; }
.chart-insight-icon { color:var(--accent-color); font-size:18px; line-height:1.2; }
.chart-accessible-data { padding:10px 24px 15px; border-radius:0 0 22px 22px; }
.chart-accessible-data summary { color:var(--text-muted-color); font-size:11px; cursor:pointer; }
.financial-workspace { margin-top:18px; padding:20px; border:1px solid var(--border-color); border-radius:16px; background:var(--surface-subtle-bg); }
.financial-workspace .grow-financial-header { align-items:flex-start; border-bottom:0; padding:0; margin:0; }
.financial-eyebrow { color:var(--text-muted-color); font-size:9px; font-weight:800; letter-spacing:.12em; margin-bottom:6px; }
.financial-workspace .grow-financial-title { margin:0; color:var(--text-color); font-size:16px; font-weight:800; }
.financial-period-control { padding:3px; border:1px solid var(--border-color); border-radius:10px; background:var(--surface-bg); }
.financial-period-control label { min-height:31px; padding:5px 10px; border-radius:7px; color:var(--text-muted-color); font-size:11px; font-weight:800; cursor:pointer; }
.financial-period-control input { position:absolute; opacity:0; width:1px; height:1px; }
.financial-period-control label:has(input:checked) { color:var(--surface-bg); background:var(--text-color); }
.financial-overview { display:flex; justify-content:space-between; align-items:flex-end; gap:14px; padding:17px 0 11px; border-bottom:1px solid var(--border-color); }
.financial-overview-label { display:block; color:var(--text-muted-color); font-size:9px; font-weight:800; letter-spacing:.1em; }
.financial-overview-value { display:block; margin-top:3px; color:var(--text-color); font-size:24px; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.financial-overview-period,.financial-overview-change { display:block; color:var(--text-muted-color); text-align:right; font-size:11px; font-variant-numeric:tabular-nums; }
.financial-overview-change { margin-top:4px; font-weight:800; }
.financial-overview-change[data-direction="up"] { color:var(--positive-color); }
.financial-overview-change[data-direction="down"] { color:var(--negative-color); }
.financial-workspace .grow-fine-print { margin:10px 0 0; color:var(--text-muted-color); font-size:10px; line-height:1.55; }
.financial-workspace .grow-financial-chart { height:310px!important; margin:6px 0 0!important; }
.chart-workspace.is-expanded { position:fixed; inset:16px; z-index:2000; overflow:auto; display:flex; flex-direction:column; }
.chart-workspace.is-expanded .chart-workspace-canvas { height:calc(100vh - 350px)!important; min-height:300px; }
.chart-workspace.is-expanded .chart-header-actions [data-chart-action="expand"] { color:var(--accent-color); background:var(--accent-tint-bg); }
body.chart-workspace-expanded { overflow:hidden; }
@media(min-width:1300px) { .grow-page { width:min(1440px,100%); } .grow-main-grid { grid-template-columns:minmax(0,1fr) 330px; gap:22px; } }
@media(max-width:700px) {
  .chart-controls > [role="group"] { width:100%; }
  .chart-workspace-header { padding:18px 16px 0; gap:10px; }
  .chart-workspace .grow-card-title { font-size:15px; }
  .chart-header-actions .chart-tool { min-width:44px; min-height:44px; padding:6px; }
  .chart-header-actions .chart-tool > span:last-child { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .chart-inspector { padding:16px; }
  .chart-controls { padding:12px 12px 6px; gap:8px; }
  .chart-ranges { width:100%; justify-content:space-between; }
  .chart-ranges label { min-width:36px; min-height:44px; padding:6px; }
  .chart-types { width:100%; }
  .chart-types label { flex:1; min-height:44px; }
  .chart-study-controls { padding:6px 16px 10px; gap:8px 12px; }
  .chart-toggle-list label { min-height:40px; font-size:12px; }
  .chart-field-label { display:none; }
  .chart-indicators > summary { min-height:40px; display:flex; align-items:center; }
  .chart-workspace-canvas { height:340px!important; }
  .chart-render-note { margin:0 16px; }
  .chart-toolbar { margin:0 12px; }
  .chart-tool { min-height:44px; padding:8px; font-size:10px; }
  .chart-tool-group { width:100%; justify-content:space-between; gap:0; }
  .chart-tool-hint { width:100%; text-align:center; padding:0 0 4px; }
  .chart-insight { padding:12px 16px; }
  .chart-accessible-data { padding:10px 16px 15px; }
  .chart-workspace.is-expanded { inset:5px; border-radius:14px; }
  .chart-workspace.is-expanded .chart-workspace-canvas { min-height:260px; height:40vh!important; }
  .financial-workspace { margin-top:14px; padding:16px; }
  .financial-workspace .grow-financial-header { gap:10px; flex-wrap:wrap; }
  .financial-period-control { width:100%; display:flex; }
  .financial-period-control label { flex:1; text-align:center; min-height:40px; }
  .financial-overview-value { font-size:22px; }
  .financial-workspace .grow-financial-chart { height:270px!important; }
}
