#vroomcharts-view {
  --vc-panel: #161b2b;
  --vc-border: #38435b;
  --vc-text: #e2e8f0;
  --vc-muted: #b0bdd0;
  --vc-accent: #a78bfa;
  color: var(--vc-text);
  width: 100%;
  min-width: 0;
  padding: 6px 8px;
  --vc-target: 32px;
}
html[data-theme="light"] #vroomcharts-view {
  --vc-panel: #fff;
  --vc-border: #cbd5e1;
  --vc-text: #172033;
  --vc-muted: #475569;
  --vc-accent: #6d28d9;
}
#vroomcharts-view [hidden] { display: none !important; }
body.charts-active .sidebar-brand { display: none; }
body.charts-active #app-body, body.charts-active > header { transition: none; }
.charts-beta { display: inline-block; margin-left: 4px; padding: 2px 6px; border-radius: 999px; background: #312e81; color: #ddd6fe; font-size: .65rem; font-weight: 700; line-height: 1.2; vertical-align: middle; }
html[data-theme="light"] .charts-beta { background: #ede9fe; color: #5b21b6; }
#header-search-choice-modal button[hidden] { display: none !important; }
.vroom-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.vroom-heading h1 { font-size: 1.45rem; margin: 0 0 4px; }
.vroom-heading p { color: var(--vc-muted); margin: 0; font-size: .85rem; }
.vroom-search { position: relative; width: min(100%, 360px); }
.vroom-search label { display: block; font-size: .78rem; color: var(--vc-muted); margin-bottom: 5px; }
.vroom-search input { width: 100%; height: 44px; box-sizing: border-box; padding: 0 12px; border: 1px solid var(--vc-border); border-radius: 8px; background: var(--vc-panel); color: var(--vc-text); font-size: 16px; }
.vroom-search .add-suggest-list { max-height: 240px; overflow-y: auto; }
.vroom-tabbar { display: flex; align-items: center; gap: 4px; margin: 4px 0; min-width: 0; }
#vroomcharts-tabs { display: flex; gap: 6px; overflow-x: auto; min-width: 0; }
.vroom-tab { display: flex; flex: none; border: 1px solid var(--vc-border); border-radius: 8px; overflow: hidden; background: var(--vc-panel); }
.vroom-tab button, .vroom-add, .vroom-retry { min-height: var(--vc-target); min-width: var(--vc-target); border: 0; color: var(--vc-text); background: var(--vc-panel); cursor: pointer; }
.vroom-tab [role="tab"] { padding: 0 8px; font-weight: 600; white-space: nowrap; font-size: 12px; }
.vroom-tab [aria-selected="true"] { color: var(--vc-accent); box-shadow: inset 0 -3px var(--vc-accent); }
.vroom-tab-close { font-size: 1.25rem; }
.vroom-tab { display: flex; min-width: 0; max-width: none; }
.vroom-tab .vroom-ticker-template { text-align: left; padding: 0 6px; border-left: 1px solid var(--vc-border); font-size: 12px; white-space: nowrap; max-width: 160px; overflow: hidden; text-overflow: ellipsis; }
.vroom-add { border: 1px solid var(--vc-border); border-radius: 8px; flex: none; font-size: 1.25rem; }
#vroomcharts-panel { border: 1px solid var(--vc-border); border-radius: 12px; background: var(--vc-panel); min-width: 0; overflow: hidden; }
#vroomcharts-panel.vroom-touch-panel { overflow: clip; }
#app-body > div:has(.vroom-touch-panel) { overflow: visible; }
#vroomcharts-panel.vroom-touch-panel #vroomcharts-controls { position: sticky; top: var(--vroom-touch-top); z-index: 40; background: var(--vc-panel); }
#vroomcharts-panel.vroom-touch-panel .vroom-controls { flex-wrap: wrap; }
#vroomcharts-panel.vroom-touch-panel #vroom-chart-type { max-width: 100px; flex-shrink: 1; }
#vroomcharts-controls #vroom-touch-toggle { display: grid; place-items: center; flex: none; width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 6px; box-sizing: border-box; border-color: var(--vc-muted); }
#vroom-touch-toggle svg { width: 28px; height: 28px; overflow: visible; }
#vroomcharts-controls #vroom-touch-toggle[aria-pressed="true"] { background: #6d28d9; color: #fff; border-color: #6d28d9; }
#vroom-touch-toggle[aria-pressed="true"] .vroom-touch-slash { display: none; }
#vroom-touch-hint { position: absolute; right: 4px; top: 100%; z-index: 1; max-width: min(252px, calc(100% - 8px)); box-sizing: border-box; margin: 8px 0 0; padding: 10px 12px; border: 1px solid var(--vc-muted); border-radius: 8px; color: var(--vc-text); background: var(--vc-panel); box-shadow: 0 2px 12px #0003; font-size: 12px; line-height: 18px; pointer-events: none; }
#vroom-touch-hint:empty { display: none; }
@keyframes vroom-touch-shake { 0%, 100% { transform: translateX(0) rotate(0); } 20%, 60% { transform: translateX(-3px) rotate(-7deg); } 40%, 80% { transform: translateX(3px) rotate(7deg); } }
#vroom-touch-toggle.vroom-touch-nudge { outline: 3px solid var(--vc-accent); outline-offset: 3px; }
.vroom-touch-nudge svg { animation: vroom-touch-shake 360ms ease-in-out; }
@media (prefers-reduced-motion: reduce) { .vroom-touch-nudge svg { animation: none; } }
.vroom-controls { padding: 3px; display: flex; align-items: center; gap: 4px; }
.vroom-controls :is(button, select), #vroom-focus-ticker, #vroom-focus-template { min-height: var(--vc-target); min-width: var(--vc-target); background: var(--vc-panel); color: var(--vc-text); border: 1px solid var(--vc-border); border-radius: 5px; font-size: 12px; padding: 0 7px; cursor: pointer; }
#vroom-chart-type { max-width: 160px; min-width: 0; }
#vroom-more { margin-left: auto; }
#vroom-focus-ticker, #vroom-focus-template, #vroom-draw { display: none; }
.vroom-instrument { min-width: 0; }
.vroom-instrument h2 { margin: 0; font-size: 1.15rem; }
#vroomcharts-company { display: block; color: var(--vc-muted); font-size: .8rem; overflow-wrap: anywhere; }
.vroom-period { display: flex; gap: 8px; align-items: center; font-size: .8rem; color: var(--vc-muted); }
.vroom-period select { min-height: 44px; background: var(--vc-panel); color: var(--vc-text); border: 1px solid var(--vc-border); border-radius: 6px; padding: 0 10px; font-size: 16px; }
.vroom-legend { display: flex; flex-wrap: wrap; gap: 14px; padding: 0 16px 12px; font-size: .78rem; color: var(--vc-muted); }
.vroom-legend span::before { content: ''; display: inline-block; width: 12px; height: 3px; margin: 0 5px 3px 0; background: var(--sma-color); }
.vroom-study-note { margin: 0; padding: 3px 8px; font-size: .8rem; line-height: 1.5; color: var(--vc-muted); }
.vroom-study-note:empty { display: none; }
#vroomcharts-chart-container { width: 100%; height: 520px; min-width: 0; }
.vroom-native-extras { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; padding: 8px; background: var(--vc-panel); color: var(--vc-text); }
.vroom-native-extras label { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: .8rem; }
.vroom-native-extras :is(input, select) { min-height: 44px; max-width: 100%; border: 1px solid var(--vc-border); border-radius: 6px; background: var(--vc-panel); color: var(--vc-text); padding: 4px 8px; font-size: 16px; }
.vroom-native-extras input { width: 100px; }
#vroomcharts-chart-container .oac-widget { min-width: 0; }
#vroomcharts-chart-container .oac-rail { overflow-y: auto; }
#vroomcharts-chart-container .oac-rail button { height: 32px; min-height: 32px; }
#vroomcharts-chart-container .oac-rail button svg { width: 16px; height: 16px; }
#vroomcharts-chart-container .oac-widget button,
#overview-chart-controls button,
#overview-chart-window .price-range-btn { min-height: 32px; }
#vroomcharts-chart-container .oac-widget.is-mobile button { min-height: 44px; }
@media (max-width: 768px), (pointer: coarse) {
  #vroomcharts-chart-container .oac-widget button,
  #overview-chart-controls button,
  #overview-chart-window .price-range-btn { min-height: 44px; }
}
#vroomcharts-chart-container .oac-layer:has(> [aria-modal="true"]) { position: fixed; z-index: 1200; }
.vroom-empty { text-align: center; padding: 64px 20px; color: var(--vc-muted); }
.vroom-empty h2 { font-size: 1.2rem; color: var(--vc-text); margin: 0 0 10px; }
.vroom-empty p { max-width: 430px; margin: 0 auto; line-height: 1.6; }
.vroom-status-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 4px 8px; }
.vroom-status-row:has(#vroomcharts-status:empty):has(#vroomcharts-retry[hidden]) { display: none; }
#vroomcharts-status { font-size: .8rem; color: var(--vc-muted); overflow-wrap: anywhere; }
.vroom-retry { padding: 0 14px; border: 1px solid var(--vc-border); border-radius: 6px; }
#vroomcharts-view :is(button, input, select):focus-visible { outline: 3px solid var(--vc-accent); outline-offset: 2px; }
.vroom-indicators { border: 1px solid var(--vc-border); border-radius: 8px; margin-bottom: 14px; padding: 0 12px; }
.vroom-indicators { margin: 0 12px 12px; }
#vroomcharts-view summary { min-height: 44px; display: flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 600; }
#vroomcharts-view summary::before { content: '+'; color: var(--vc-accent); }
#vroomcharts-view details[open] > summary::before { content: '-'; }
#vroomcharts-view summary:focus-visible { outline: 3px solid var(--vc-accent); outline-offset: 2px; }
.vroom-indicator-options button,
#vroomcharts-indicator-settings :is(input, select) {
  min-height: 44px; min-width: 44px; max-width: 100%; box-sizing: border-box;
  color: var(--vc-text); background: var(--vc-panel); border: 1px solid var(--vc-border);
  border-radius: 6px; padding: 6px 10px; font-size: .85rem;
}
.vroom-indicator-options button { cursor: pointer; }
#vroomcharts-workspace-status, #vroomcharts-indicator-status { font-size: .8rem; line-height: 1.5; color: var(--vc-muted); overflow-wrap: anywhere; }
#vroomcharts-indicator-settings { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; padding: 8px 0 12px; }
#vroomcharts-indicator-settings label { display: flex; flex-direction: column; font-size: .8rem; gap: 5px; min-width: 0; }
#vroomcharts-indicator-settings input[type="checkbox"] { width: 24px; align-self: start; }
@media (max-width: 768px) {
  #vroomcharts-view { padding: 4px; }
  .vroom-heading { gap: 12px; }
  .vroom-search { width: 100%; }
  .vroom-empty { padding: 40px 16px; }
}

.vroom-chart-preparation { position: fixed; left: -10000px; top: 0; width: 640px; height: 710px; visibility: hidden; pointer-events: none; }
.vroom-workspace-bar { display: flex; align-items: center; gap: 4px; padding: 0; min-width: 0; }
.vroom-workspace-identity { display: flex; align-items: center; gap: 6px; flex: 1; min-width: 0; }
.vroom-workspace-identity span { color: var(--vc-muted); font-size: 12px; }
#vroom-workspace-library { display: flex; align-items: center; gap: 5px; min-width: 0; max-width: 280px; }
#vroom-workspace-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#vroom-workspace-state { overflow-wrap: anywhere; }
.vroom-library-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.vroom-workspace-bar button, #vroom-library button { min-height: var(--vc-target); min-width: var(--vc-target); padding: 4px 8px; border: 1px solid var(--vc-border); border-radius: 7px; background: var(--vc-panel); color: var(--vc-text); cursor: pointer; font: inherit; font-size: 12px; }
.vroom-workspace-bar > .vroom-library-actions { flex: none; gap: 4px; }
#vroomcharts-view .vroom-primary { background: #6d28d9; color: #fff; border-color: #6d28d9; }
#vroomcharts-workspace-status { margin: 3px 0; }
#vroomcharts-workspace-status:empty { display: none; }
#vroom-library { z-index: 1300; padding: 20px; }
.vroom-library-card { width: min(880px, 100%); max-height: calc(100dvh - 40px); min-height: 0; display: flex; flex-direction: column; border: 1px solid var(--vc-border); border-radius: 14px; background: var(--vc-panel); color: var(--vc-text); box-shadow: 0 24px 80px #0006; }
.vroom-library-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; margin: 0; width: auto; position: static; }
.vroom-library-heading h2 { margin: 0; font-size: 1.25rem; }
.vroom-library-body { overflow-y: auto; min-height: 0; padding: 0 20px 20px; overscroll-behavior: contain; }
.vroom-library-tabs { display: flex; gap: 8px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--vc-border); }
#vroom-library [aria-selected="true"], #vroom-library [aria-pressed="true"] { color: var(--vc-accent); border-color: var(--vc-accent); box-shadow: inset 0 -2px var(--vc-accent); }
.vroom-saved-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--vc-border); }
.vroom-saved-row > div:first-child { min-width: 0; overflow-wrap: anywhere; }
.vroom-saved-row p, #vroom-library p { color: var(--vc-muted); font-size: .85rem; line-height: 1.5; }
.vroom-preset-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0; }
.vroom-preset-grid button { text-align: left; }
.vroom-preset-grid span { display: block; color: var(--vc-muted); font-size: .8rem; line-height: 1.5; margin-top: 6px; }
#vroom-presets-panel > label { display: block; margin: 14px 0 6px; font-size: .85rem; }
#vroom-library input { box-sizing: border-box; min-height: 44px; width: 100%; font-size: 16px; padding: 10px; border: 1px solid var(--vc-border); border-radius: 7px; background: var(--vc-panel); color: var(--vc-text); }
#vroom-preset-results { max-height: 180px; overflow: auto; border: 1px solid var(--vc-border); border-radius: 7px; }
#vroom-preset-results button { display: block; width: 100%; text-align: left; overflow-wrap: anywhere; border: 0; }
.vroom-preset-stocks { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
#vroom-preset-footer { flex: none; padding: 14px 20px; border-top: 1px solid var(--vc-border); justify-content: flex-end; }
#vroom-library button:disabled { opacity: .6; cursor: wait; }
#vroom-template-library { z-index: 1300; padding: 20px; }
#vroom-template-library button, #vroom-save-template, .vroom-stock-template select {
  min-height: 44px; min-width: 44px; padding: 8px 12px; border: 1px solid var(--vc-border);
  border-radius: 7px; background: var(--vc-panel); color: var(--vc-text); font: inherit; cursor: pointer;
}
#vroom-template-library button:disabled { opacity: .6; cursor: wait; }
#vroom-template-library p { color: var(--vc-muted); font-size: .85rem; line-height: 1.5; overflow-wrap: anywhere; }
#vroom-template-list h3 { font-size: 1rem; margin: 18px 0 10px; }
.vroom-template-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.vroom-template-card { display: flex; flex-direction: column; gap: 8px; min-width: 0; border: 1px solid var(--vc-border); padding: 14px; border-radius: 9px; overflow-wrap: anywhere; }
.vroom-template-detail { flex: 1; margin: 0 0 8px; color: var(--vc-muted); font-size: .85rem; line-height: 1.5; overflow-wrap: anywhere; }
.vroom-template-card > button { text-align: left; }
.vroom-template-footer { flex: none; padding: 14px 20px; border-top: 1px solid var(--vc-border); justify-content: flex-end; }
.vroom-stock-template { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; }
.vroom-stock-template select { flex: 1; min-width: 100px; max-width: 100%; font-size: 16px; }
#vroomcharts-view .vroom-library-actions[hidden], #vroom-template-tabs[hidden] { display: none; }
#vroomcharts-view .vroom-picker .vroom-library-card { position: fixed; width: min(380px, calc(100vw - 16px)); border-radius: 10px; }
.vroom-picker .vroom-library-heading { padding: 10px 12px; gap: 8px; }
.vroom-picker .vroom-library-heading h2 { font-size: 15px; }
.vroom-picker .vroom-library-body { padding: 0 12px 12px; }
.vroom-picker .vroom-library-tabs { gap: 4px; padding-bottom: 8px; margin-bottom: 4px; }
#vroom-template-library.vroom-picker button { min-height: var(--vc-target); min-width: var(--vc-target); font-size: 13px; padding: 6px 8px; }
#vroom-template-tabs button { flex: 1; }
#vroom-template-tabs [aria-selected="true"] { color: var(--vc-accent); border-color: var(--vc-accent); box-shadow: inset 0 -2px var(--vc-accent); }
.vroom-picker .vroom-template-grid { grid-template-columns: minmax(0, 1fr); gap: 4px; }
#vroom-template-library.vroom-picker .vroom-template-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; text-align: left; padding: 10px 8px; }
.vroom-template-state { color: var(--vc-muted); font-size: 11px; align-self: center; }
.vroom-picker .vroom-template-detail { grid-column: 1 / -1; margin: 0; font-size: 12px; }
.vroom-picker .vroom-saved-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px; padding: 5px 0; }
#vroom-library .vroom-workspace-open { text-align: left; border-color: transparent; overflow-wrap: anywhere; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.vroom-workspace-open span { color: var(--vc-muted); font-size: 11px; }
#vroom-library .vroom-workspace-more { font-size: 20px; padding: 0; }
.vroom-saved-row .vroom-library-actions { grid-column: 1 / -1; justify-content: flex-end; padding: 2px 0 5px; }
#vroom-library-status:empty, #vroom-template-status:empty { display: none; }
@media (max-width: 768px), (pointer: coarse) {
  #vroomcharts-view .vroom-picker { padding: 0; align-items: flex-end; }
  #vroomcharts-view .vroom-picker .vroom-library-card { position: static; width: 100%; max-height: 85dvh; border-radius: 14px 14px 0 0; }
}
@media (max-width: 767px) {
  .vroom-workspace-identity { flex-direction: column; align-items: stretch; gap: 0; }
  #vroom-workspace-state { font-size: 11px; }
  #vroom-library { padding: 0; align-items: flex-end; }
  .vroom-library-card { max-height: 94dvh; border-radius: 14px 14px 0 0; }
  .vroom-library-heading { padding: 12px; }
  .vroom-library-body { padding: 0 12px 12px; }
  .vroom-saved-row { flex-wrap: wrap; }
  .vroom-saved-row > div:first-child { flex-basis: 100%; }
  .vroom-library-tabs button, #vroom-preset-footer button { flex: 1; }
  #vroom-preset-footer { padding: 12px; }
  #vroom-template-library { padding: 0; align-items: flex-end; }
  .vroom-template-grid { grid-template-columns: minmax(0, 1fr); }
  .vroom-template-footer { padding: 12px; }
  .vroom-template-footer button { flex: 1; }
}

.vroom-menu-card { width: min(520px, 100%); }
#vroomcharts-view :is(#vroom-add-dialog, #vroom-more-dialog, #vroom-draw-dialog) { z-index: 1300; padding: 16px; }
.vroom-menu-card button { min-height: var(--vc-target); min-width: var(--vc-target); padding: 7px 10px; background: var(--vc-panel); color: var(--vc-text); border: 1px solid var(--vc-border); border-radius: 6px; cursor: pointer; }
.vroom-menu-card .vroom-search { width: auto; margin: 0 16px 18px; }
.vroom-menu-card .add-suggest-list { position: static; margin-top: 6px; }
.vroom-menu-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.vroom-menu-actions button { text-align: left; overflow-wrap: anywhere; }
.vroom-menu-actions label { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.vroom-menu-actions select { min-height: var(--vc-target); font-size: 16px; color: var(--vc-text); background: var(--vc-panel); border: 1px solid var(--vc-border); border-radius: 6px; }
#vroom-export-options :is(input[type="text"], select) { min-width: 0; width: 100%; min-height: var(--vc-target); box-sizing: border-box; font-size: 16px; color: var(--vc-text); background: var(--vc-panel); border: 1px solid var(--vc-border); border-radius: 6px; }
#vroom-export-studies { min-width: 0; margin: 12px 0; border: 1px solid var(--vc-border); }
#vroom-export-studies label { min-height: var(--vc-target); overflow-wrap: anywhere; }
#vroom-export-error { color: var(--vc-text); overflow-wrap: anywhere; }
.vroom-menu-card .vroom-period { justify-content: space-between; }
#vroomcharts-empty button { min-height: var(--vc-target); padding: 6px 12px; border: 1px solid var(--vc-border); border-radius: 6px; color: var(--vc-text); background: var(--vc-panel); cursor: pointer; }
.vroom-menu-card .vroom-native-extras { padding: 12px 0; }
#vroomcharts-view button:active { opacity: .75; }
body.charts-focus > header, body.charts-focus #sidebar,
body.charts-focus #bottom-nav, body.charts-focus #sidebar-backdrop { display: none !important; }
body.charts-focus #app-body { margin: 0; padding: 0; }
body.charts-focus .vroom-tabbar { display: none; }
body.charts-focus #vroomcharts-view:has(#vroomcharts-empty:not([hidden])) .vroom-tabbar { display: flex; }
body.charts-focus #vroom-focus-ticker, body.charts-focus #vroom-focus-template { display: block; max-width: 160px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.charts-focus #vroomcharts-panel { margin-top: 4px; }
body.charts-focus { padding-bottom: 0; }
@media (max-width: 768px), (pointer: coarse) {
  #vroomcharts-view { --vc-target: 44px; }
  #vroomcharts-chart-container .oac-rail { display: none; }
  #vroom-draw { display: block; }
  #vroom-indicators { display: none; }
  .vroom-controls select { font-size: 16px; padding: 0 3px; }
  #vroom-chart-type { flex: 1; max-width: 150px; }
  .vroom-tab .vroom-ticker-template { max-width: 135px; }
  #vroomcharts-view :is(#vroom-add-dialog, #vroom-more-dialog, #vroom-draw-dialog) { padding: 0; align-items: flex-end; }
  .vroom-menu-card .vroom-search { margin: 0 12px 12px; }
  #vroom-focus-ticker { font-size: 16px; }
  body.charts-focus #vroom-focus-ticker { max-width: 78px; flex: 1; }
  body.charts-focus #vroom-focus-template { max-width: 105px; flex: 1; }
  body.charts-focus #vroom-draw { display: none; }
}
