/**
 * Price Trends Dark Theme — Warm Stone
 * 報價面板深色主題（暖石色調）
 * Created: 2026-01-30
 * Updated: 2026-02-16 — Phase 4 Design Token migration (Cold Blue → Warm Stone)
 */

/* ==========================================================================
   深色主題 CSS 變數覆蓋 — 引用 brand-system.css 語義 token
   ========================================================================== */

#quotePanel[data-theme="dark"] {
    --quote-panel-bg: var(--color-bg-page);
    --quote-panel-surface: var(--color-bg-secondary);
    --quote-table-header-bg: var(--color-bg-tertiary);
    --quote-table-header-text: var(--color-text-primary);
    --quote-table-border: var(--color-border-default);
    --quote-table-text: var(--color-text-primary);
    --quote-price-up: var(--color-market-up);
    --quote-price-down: var(--color-market-down);
    --quote-splitter-bg: var(--color-border-default);
    --quote-splitter-handle: var(--color-border-strong);
}

/* ==========================================================================
   整體面板背景
   ========================================================================== */

#quotePanel[data-theme="dark"] {
    background-color: var(--quote-panel-bg);
}

#quotePanel[data-theme="dark"] .price-modal-layout {
    background-color: var(--quote-panel-bg);
}

/* ==========================================================================
   Price Modal (Full Screen) - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .price-modal .modal-content {
    background-color: var(--quote-panel-bg) !important;
}

#quotePanel[data-theme="dark"] .price-modal .modal-header {
    background-color: var(--quote-panel-surface) !important;
    border-bottom: 1px solid var(--quote-table-border);
}

#quotePanel[data-theme="dark"] .price-modal .modal-body {
    background-color: var(--quote-panel-bg) !important;
}

/* ==========================================================================
   Chart Overlay Container - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .chart-overlay-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 15;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 8px 12px;
    pointer-events: none;
}

#quotePanel[data-theme="dark"] .chart-overlay-tools {
    pointer-events: auto;
    display: flex;
    gap: 6px;
    margin-left: auto;
    margin-right: 8px;
}

/* ==========================================================================
   Header Info Bar - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .chart-overlay-info {
    background: rgba(12, 10, 9, 0.85);
    backdrop-filter: blur(8px);
    border: 1px solid var(--quote-table-border);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

#quotePanel[data-theme="dark"] .chart-stock-code {
    color: #FFD700;
}

#quotePanel[data-theme="dark"] .chart-stock-name {
    color: var(--color-text-primary);
}

#quotePanel[data-theme="dark"] .chart-ohlc-bar .ohlc-item label {
    color: var(--color-text-muted);
}

#quotePanel[data-theme="dark"] .chart-ohlc-bar .ohlc-item span {
    color: var(--color-text-primary);
}

#quotePanel[data-theme="dark"] .chart-ohlc-bar .ohlc-change.price-up {
    color: var(--quote-price-up);
    background: rgba(255, 68, 68, 0.15);
}

#quotePanel[data-theme="dark"] .chart-ohlc-bar .ohlc-change.price-down {
    color: var(--quote-price-down);
    background: rgba(34, 197, 94, 0.15);
}

/* ==========================================================================
   左側面板 - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .price-modal-panel--left {
    background-color: var(--quote-panel-surface);
    border-right: 1px solid var(--quote-table-border);
}

#quotePanel[data-theme="dark"] .price-board-list-wrapper {
    background-color: var(--quote-panel-bg);
}

#quotePanel[data-theme="dark"] .tree-selector-container {
    background-color: var(--quote-panel-surface);
}

/* Combo Toolbox - 深色 */
#quotePanel[data-theme="dark"] .combo-toolbox {
    background: var(--quote-panel-surface);
    border-bottom: 1px solid var(--quote-table-border);
}

#quotePanel[data-theme="dark"] .combo-tool-btn {
    background: var(--quote-panel-surface);
    border: 1px solid var(--quote-table-border);
    color: var(--quote-table-text);
}

#quotePanel[data-theme="dark"] .combo-tool-btn:hover {
    background: var(--color-bg-hover);
    border-color: var(--color-accent);
    color: var(--color-accent);
}

/* 樹狀視圖深色 */
#quotePanel[data-theme="dark"] .price-combo-tree {
    background-color: var(--quote-panel-surface);
    color: var(--color-text-primary);
}

#quotePanel[data-theme="dark"] .tree-node {
    color: var(--color-text-primary);
}

#quotePanel[data-theme="dark"] .tree-node:hover {
    background: var(--color-bg-hover);
}

#quotePanel[data-theme="dark"] .tree-node.active {
    background: var(--color-accent);
    color: white;
}

#quotePanel[data-theme="dark"] .tree-toggle {
    color: var(--color-text-muted);
}

#quotePanel[data-theme="dark"] .tree-toggle:hover {
    color: var(--color-accent);
}

#quotePanel[data-theme="dark"] .tree-node-icon {
    color: var(--color-accent);
}

#quotePanel[data-theme="dark"] .tree-node-count {
    color: var(--color-text-muted);
}

#quotePanel[data-theme="dark"] .tree-node.active .tree-node-count {
    color: rgba(255, 255, 255, 0.9);
}

#quotePanel[data-theme="dark"] .tree-loading,
#quotePanel[data-theme="dark"] .tree-empty {
    color: var(--color-text-muted);
}

#quotePanel[data-theme="dark"] .tree-loading::before {
    border: 2px solid var(--color-border-default);
    border-top-color: var(--color-accent);
}

/* 不同節點類型的圖標顏色（深色版）— KEEP semantic per-type colors */
#quotePanel[data-theme="dark"] .tree-node-wrapper[data-node-type="category"]>.tree-node .tree-node-icon {
    color: #5B9BD5;
}

#quotePanel[data-theme="dark"] .tree-node-wrapper[data-node-type="group"]>.tree-node .tree-node-icon {
    color: #FFD700;
}

#quotePanel[data-theme="dark"] .tree-node-wrapper[data-node-type="preset"]>.tree-node .tree-node-icon {
    color: #4CD964;
}

#quotePanel[data-theme="dark"] .tree-node-wrapper[data-node-type="market"]>.tree-node .tree-node-icon {
    color: #AF52DE;
}

#quotePanel[data-theme="dark"] .tree-node-wrapper[data-node-type="industry"]>.tree-node .tree-node-icon {
    color: #FF9500;
}

#quotePanel[data-theme="dark"] .tree-node-wrapper[data-node-type="smart_filter"]>.tree-node .tree-node-icon {
    color: #BF5AF2;
}

#quotePanel[data-theme="dark"] .tree-node-wrapper[data-node-type="chat_filter"]>.tree-node .tree-node-icon {
    color: #BF5AF2;
}

/* ==========================================================================
   垂直分割線 - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .price-vertical-splitter {
    background: transparent;
}

#quotePanel[data-theme="dark"] .price-vertical-splitter::before {
    background: var(--quote-splitter-bg);
}

#quotePanel[data-theme="dark"] .price-vertical-splitter:hover::before {
    background: var(--color-accent);
    opacity: 0.4;
}

#quotePanel[data-theme="dark"] .price-vertical-splitter .splitter-handle {
    background: var(--quote-splitter-handle);
}

#quotePanel[data-theme="dark"] .price-vertical-splitter:hover .splitter-handle {
    background: var(--color-accent);
    opacity: 0.6;
}

/* ==========================================================================
   股票清單表格 - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .price-board-list-table-container {
    background-color: var(--quote-panel-bg);
}

#quotePanel[data-theme="dark"] .price-board-list-table {
    background-color: var(--quote-panel-bg);
    color: var(--color-text-primary);
    border-color: var(--color-border-default);
}

/* 表頭 */
#quotePanel[data-theme="dark"] .price-board-list-table thead th {
    background: var(--quote-table-header-bg);
    color: var(--color-text-primary);
    border-bottom: 1px solid var(--color-border-default);
    font-weight: 600;
}

/* 凍結欄位 */
#quotePanel[data-theme="dark"] .price-board-list-table thead th.code-col,
#quotePanel[data-theme="dark"] .price-board-list-table thead th.name-col {
    background: var(--quote-table-header-bg);
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.3);
}

/* 表格行 */
#quotePanel[data-theme="dark"] .price-board-list-table tbody tr {
    --row-bg-color: var(--quote-panel-bg);
    border-bottom: 1px solid var(--color-border-subtle, rgba(255, 255, 255, 0.04));
}

#quotePanel[data-theme="dark"] .price-board-list-table tbody tr:nth-child(odd) {
    --row-bg-color: var(--quote-panel-bg);
}

#quotePanel[data-theme="dark"] .price-board-list-table tbody tr:nth-child(even) {
    --row-bg-color: var(--color-bg-secondary);
}

/* 凍結欄位背景 - 使用明確背景色（修復 sticky 欄位透明問題） */
#quotePanel[data-theme="dark"] .price-board-list-table tbody tr td.code-col,
#quotePanel[data-theme="dark"] .price-board-list-table tbody tr td.name-col {
    background-color: var(--quote-panel-bg) !important;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.3);
}

/* 偶數行 */
#quotePanel[data-theme="dark"] .price-board-list-table tbody tr:nth-child(even) td.code-col,
#quotePanel[data-theme="dark"] .price-board-list-table tbody tr:nth-child(even) td.name-col {
    background-color: var(--color-bg-secondary) !important;
}

/* 選中行：無橘色邊框/背景，僅靠 >> 指示器區分 */
#quotePanel[data-theme="dark"] .price-board-list-table tbody tr.selected {
    /* 不改變背景 */
}

/* Active Row */
#quotePanel[data-theme="dark"] .board-price-list-row.active {
    --row-bg-color: var(--color-bg-active);
}

#quotePanel[data-theme="dark"] .board-price-list-row.active::after {
    border: 1px solid rgba(255, 255, 255, 0.75);
}

#quotePanel[data-theme="dark"] .price-board-list-table tbody tr.active td.code-col,
#quotePanel[data-theme="dark"] .price-board-list-table tbody tr.active td.name-col,
#quotePanel[data-theme="dark"] .board-price-list-row.active td.code-col,
#quotePanel[data-theme="dark"] .board-price-list-row.active td.name-col {
    background-color: var(--color-bg-active) !important;
}

/* 表格儲存格 */
#quotePanel[data-theme="dark"] .price-board-list-table td {
    border-bottom: 1px solid var(--color-border-default);
    color: var(--color-text-primary);
}

/* 非價格欄位 */
#quotePanel[data-theme="dark"] .price-board-list-table .code-col {
    color: var(--color-text-primary);
    font-weight: 600;
}

#quotePanel[data-theme="dark"] .price-board-list-table .name-col {
    color: var(--color-text-primary);
    font-weight: 600;
}

#quotePanel[data-theme="dark"] .price-board-list-table .volume-col {
    color: var(--color-text-primary);
}

/* 價格欄位預設（無漲跌資訊時） */
#quotePanel[data-theme="dark"] .price-board-list-table .price-col {
    color: var(--color-text-primary);
}

#quotePanel[data-theme="dark"] .price-board-list-table .open-col {
    color: var(--color-text-primary);
}

#quotePanel[data-theme="dark"] .price-board-list-table .high-col {
    color: var(--color-text-primary);
}

#quotePanel[data-theme="dark"] .price-board-list-table .low-col {
    color: var(--color-text-primary);
}

/* 漲（擴展到 open/high/low） */
#quotePanel[data-theme="dark"] .price-board-list-table .price-col.price-up,
#quotePanel[data-theme="dark"] .price-board-list-table .change-col.price-up,
#quotePanel[data-theme="dark"] .price-board-list-table .change-percent-col.price-up,
#quotePanel[data-theme="dark"] .price-board-list-table .open-col.price-up,
#quotePanel[data-theme="dark"] .price-board-list-table .high-col.price-up,
#quotePanel[data-theme="dark"] .price-board-list-table .low-col.price-up,
#quotePanel[data-theme="dark"] .price-board-list-table .positive {
    color: var(--quote-price-up);
}

/* 跌（擴展到 open/high/low） */
#quotePanel[data-theme="dark"] .price-board-list-table .price-col.price-down,
#quotePanel[data-theme="dark"] .price-board-list-table .change-col.price-down,
#quotePanel[data-theme="dark"] .price-board-list-table .change-percent-col.price-down,
#quotePanel[data-theme="dark"] .price-board-list-table .open-col.price-down,
#quotePanel[data-theme="dark"] .price-board-list-table .high-col.price-down,
#quotePanel[data-theme="dark"] .price-board-list-table .low-col.price-down,
#quotePanel[data-theme="dark"] .price-board-list-table .negative {
    color: var(--quote-price-down);
}

#quotePanel[data-theme="dark"] .price-board-list-table .neutral {
    color: var(--color-text-secondary);
}

/* ==========================================================================
   水平分割線 - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .price-modal-splitter {
    background: var(--quote-splitter-bg);
    border-left: none;
    border-right: none;
}

#quotePanel[data-theme="dark"] .price-modal-splitter::before {
    background: var(--quote-splitter-handle);
}

#quotePanel[data-theme="dark"] .price-modal-layout.resizing .price-modal-splitter::before {
    background: var(--color-accent);
    opacity: 0.8;
}

/* ==========================================================================
   右側面板 - 圖表區域 - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .price-modal-panel--right {
    background-color: var(--quote-panel-bg);
}

#quotePanel[data-theme="dark"] #priceTrendsChart,
#quotePanel[data-theme="dark"] .price-chart-area {
    background-color: var(--quote-panel-bg) !important;
}

/* 圖表工具列 */
#quotePanel[data-theme="dark"] .chart-toolbar-btn {
    background: rgba(12, 10, 9, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: var(--color-text-secondary);
}

#quotePanel[data-theme="dark"] .chart-toolbar-btn:hover {
    background: var(--color-bg-hover);
    color: var(--color-text-primary);
}

/* 圖表空狀態 */
#quotePanel[data-theme="dark"] .chart-empty-state {
    color: var(--color-text-muted);
}

/* ==========================================================================
   捲軸樣式 - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .price-board-list-table-container::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

#quotePanel[data-theme="dark"] .price-board-list-table-container::-webkit-scrollbar-track {
    background: var(--quote-panel-bg);
}

#quotePanel[data-theme="dark"] .price-board-list-table-container::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
}

#quotePanel[data-theme="dark"] .price-board-list-table-container::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.35);
}

#quotePanel[data-theme="dark"] .price-combo-tree::-webkit-scrollbar {
    width: 5px;
}

#quotePanel[data-theme="dark"] .price-combo-tree::-webkit-scrollbar-track {
    background: var(--quote-panel-surface);
}

#quotePanel[data-theme="dark"] .price-combo-tree::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
}

/* ==========================================================================
   Loading Overlay - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .chart-loading-overlay {
    background: rgba(12, 10, 9, 0.7);
}

#quotePanel[data-theme="dark"] .chart-loading-spinner {
    border: 4px solid var(--quote-table-border);
    border-top: 4px solid var(--color-accent);
}

/* ==========================================================================
   MA Values Display - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .price-ma-values .ma-value {
    color: var(--color-text-primary);
}

#quotePanel[data-theme="dark"] .price-ma-values .ma-trend-up {
    color: var(--quote-price-up);
}

#quotePanel[data-theme="dark"] .price-ma-values .ma-trend-down {
    color: var(--quote-price-down);
}

/* ==========================================================================
   Highcharts Date Input Dark Theme
   ========================================================================== */

#quotePanel[data-theme="dark"] .highcharts-range-input text {
    fill: #A8A29E !important;
}

#quotePanel[data-theme="dark"] .highcharts-range-input rect {
    fill: #292524 !important;
    stroke: #44403C !important;
}

#quotePanel[data-theme="dark"] .highcharts-input-group text {
    fill: var(--color-text-tertiary) !important;
}

/* ==========================================================================
   Price Board Toolbox - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .price-board-toolbox {
    background: var(--color-bg-tertiary);
    border-bottom: 1px solid var(--color-border-default);
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.2), 0 8px 18px rgba(0, 0, 0, 0.35);
}

#quotePanel[data-theme="dark"] .price-board-toolbox .group-selector .form-select {
    background-color: var(--color-bg-secondary);
    color: var(--color-text-primary);
    border: 1px solid var(--color-border-strong);
}

#quotePanel[data-theme="dark"] .price-toolbox-btn {
    border: 1px solid var(--color-border-strong);
    background: var(--color-bg-tertiary);
    color: var(--color-text-primary);
}

#quotePanel[data-theme="dark"] .price-toolbox-btn:hover {
    background: var(--color-bg-elevated);
    color: var(--color-text-primary);
}

/* ==========================================================================
   Price Board List Header - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .price-board-list-header {
    background: var(--color-bg-tertiary);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

#quotePanel[data-theme="dark"] .price-board-list-header h6 {
    color: var(--color-text-primary) !important;
}

#quotePanel[data-theme="dark"] .price-board-list-header small {
    color: var(--color-text-secondary);
}

/* ==========================================================================
   右鍵選單 - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .chart-context-menu {
    background-color: var(--quote-panel-surface);
    border: 1px solid var(--quote-table-border);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
}

#quotePanel[data-theme="dark"] .chart-context-menu__item {
    color: var(--color-text-primary);
}

#quotePanel[data-theme="dark"] .chart-context-menu__item:hover {
    background-color: var(--color-bg-active);
    color: #ffe17a;
}

/* ==========================================================================
   價格詳情彈窗 - 深色
   ========================================================================== */

#quotePanel[data-theme="dark"] .price-detail-popover-container {
    background-color: var(--quote-panel-surface) !important;
    border: 1px solid var(--quote-table-border) !important;
}

#quotePanel[data-theme="dark"] .price-detail-popover-container .popover-header {
    background-color: var(--color-bg-hover) !important;
    border-bottom: 1px solid var(--quote-table-border) !important;
    color: var(--quote-table-text) !important;
}

#quotePanel[data-theme="dark"] .price-detail-popover-container .popover-body {
    background-color: var(--quote-panel-surface) !important;
    color: var(--quote-table-text) !important;
}

/* ==========================================================================
   右側面板（智慧選股結果）深色主題
   與 #quotePanel 主題同步
   ========================================================================== */

#rightPanel[data-theme="dark"] {
    --quote-panel-bg: var(--color-bg-page);
    --quote-panel-surface: var(--color-bg-secondary);
    --quote-table-header-bg: var(--color-bg-tertiary);
    --quote-table-header-text: var(--color-text-primary);
    --quote-table-border: var(--color-border-default);
    --quote-table-text: var(--color-text-primary);
    --quote-price-up: var(--color-market-up);
    --quote-price-down: var(--color-market-down);
}

#rightPanel[data-theme="dark"] {
    background-color: var(--quote-panel-bg);
}

#rightPanel[data-theme="dark"] .stock-table-panel-top,
#rightPanel[data-theme="dark"] .chart-panel-bottom {
    background-color: var(--quote-panel-surface);
}

/* 報價表格 - 深色主題 */
#rightPanel[data-theme="dark"] .stock-table {
    background-color: var(--quote-panel-surface);
    color: var(--quote-table-text);
}

#rightPanel[data-theme="dark"] .stock-table thead th {
    background: var(--quote-table-header-bg);
    color: var(--quote-table-header-text);
    border-bottom: 1px solid var(--quote-table-border);
}

#rightPanel[data-theme="dark"] .stock-table tbody tr {
    border-bottom: 1px solid var(--quote-table-border);
    background-color: var(--quote-panel-surface);
}

#rightPanel[data-theme="dark"] .stock-table tbody tr:nth-child(even) {
    background-color: var(--color-bg-secondary);
}

#rightPanel[data-theme="dark"] .stock-table tbody tr:hover {
    background-color: var(--color-accent-subtle);
}

/* 漲跌色 - 深色 */
#rightPanel[data-theme="dark"] .stock-table .price-up,
#rightPanel[data-theme="dark"] .stock-table .positive {
    color: var(--quote-price-up);
}

#rightPanel[data-theme="dark"] .stock-table .price-down,
#rightPanel[data-theme="dark"] .stock-table .negative {
    color: var(--quote-price-down);
}

/* 圖表面板 - 深色主題 */
#rightPanel[data-theme="dark"] .chart-panel {
    background-color: var(--quote-panel-bg);
}

#rightPanel[data-theme="dark"] .chart-header {
    background-color: var(--quote-panel-surface);
    border-bottom: 1px solid var(--quote-table-border);
    color: var(--quote-table-text);
}

#rightPanel[data-theme="dark"] .chart-header .stock-code {
    color: #FFD700;
}

#rightPanel[data-theme="dark"] .chart-header .stock-name {
    color: var(--color-text-primary);
}

/* ==========================================================================
   聊天面板股票表格 (#stockResultTable) - 深色主題
   ========================================================================== */

#rightPanel[data-theme="dark"] #stockResultTable {
    background-color: var(--quote-panel-bg);
    color: var(--color-text-primary);
}

/* 表頭 - 暖石色 */
#rightPanel[data-theme="dark"] #stockResultTable thead th {
    background: var(--quote-table-header-bg);
    color: var(--color-text-primary);
    border-bottom: 1px solid var(--color-border-default);
}

/* 表格行 */
#rightPanel[data-theme="dark"] #stockResultTable tbody tr {
    background-color: var(--quote-panel-bg);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

#rightPanel[data-theme="dark"] #stockResultTable tbody tr:nth-child(even) {
    background-color: var(--quote-panel-bg);
}

#rightPanel[data-theme="dark"] #stockResultTable tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.08);
}

/* 選中行 */
#rightPanel[data-theme="dark"] #stockResultTable tbody tr.selected {
    background-color: var(--color-accent-subtle) !important;
}

/* 表格儲存格 */
#rightPanel[data-theme="dark"] #stockResultTable tbody td {
    color: var(--color-text-primary);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* 股票代碼欄 — warm stone */
#rightPanel[data-theme="dark"] #stockResultTable .code-col {
    color: #D6D3CE;
}

/* 股票名稱欄 */
#rightPanel[data-theme="dark"] #stockResultTable .name-col {
    color: var(--color-text-primary);
}

/* 凍結欄位背景 - 深色主題 */
#rightPanel[data-theme="dark"] #stockResultTable tbody td.code-col,
#rightPanel[data-theme="dark"] #stockResultTable tbody td.name-col {
    background-color: var(--quote-panel-surface) !important;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.3);
}

#rightPanel[data-theme="dark"] #stockResultTable tbody tr:nth-child(even) td.code-col,
#rightPanel[data-theme="dark"] #stockResultTable tbody tr:nth-child(even) td.name-col {
    background-color: var(--quote-panel-bg) !important;
}

/* Cell-level 漲跌色 - 深色主題 */
#rightPanel[data-theme="dark"] #stockResultTable .price-col.price-up,
#rightPanel[data-theme="dark"] #stockResultTable .change-col.price-up,
#rightPanel[data-theme="dark"] #stockResultTable .change-percent-col.price-up,
#rightPanel[data-theme="dark"] #stockResultTable .open-col.price-up,
#rightPanel[data-theme="dark"] #stockResultTable .high-col.price-up,
#rightPanel[data-theme="dark"] #stockResultTable .low-col.price-up {
    color: var(--quote-price-up);
}

#rightPanel[data-theme="dark"] #stockResultTable .price-col.price-down,
#rightPanel[data-theme="dark"] #stockResultTable .change-col.price-down,
#rightPanel[data-theme="dark"] #stockResultTable .change-percent-col.price-down,
#rightPanel[data-theme="dark"] #stockResultTable .open-col.price-down,
#rightPanel[data-theme="dark"] #stockResultTable .high-col.price-down,
#rightPanel[data-theme="dark"] #stockResultTable .low-col.price-down {
    color: var(--quote-price-down);
}

/* Row-level 向後相容 - 深色 */
#rightPanel[data-theme="dark"] #stockResultTable tbody tr.up .price-col,
#rightPanel[data-theme="dark"] #stockResultTable tbody tr.up .change-col,
#rightPanel[data-theme="dark"] #stockResultTable tbody tr.up .change-percent-col {
    color: var(--quote-price-up);
}

#rightPanel[data-theme="dark"] #stockResultTable tbody tr.down .price-col,
#rightPanel[data-theme="dark"] #stockResultTable tbody tr.down .change-col,
#rightPanel[data-theme="dark"] #stockResultTable tbody tr.down .change-percent-col {
    color: var(--quote-price-down);
}

#rightPanel[data-theme="dark"] #stockResultTable tbody tr.flat .price-col,
#rightPanel[data-theme="dark"] #stockResultTable tbody tr.flat .change-col,
#rightPanel[data-theme="dark"] #stockResultTable tbody tr.flat .change-percent-col {
    color: var(--color-text-secondary);
}

/* 量欄 — warm tone */
#rightPanel[data-theme="dark"] #stockResultTable .volume-col {
    color: #FBBF24;
}

/* 動態欄位 - 深色 — KEEP semantic info color */
#rightPanel[data-theme="dark"] #stockResultTable thead th.dynamic-col {
    background: linear-gradient(180deg, #2E4163 0%, #2C3344 100%);
    color: #60A5FA;
}

#rightPanel[data-theme="dark"] #stockResultTable tbody td.dynamic-col {
    color: #60A5FA;
}

/* 排序表頭 hover - 深色 */
#rightPanel[data-theme="dark"] #stockResultTable thead th.stp-sortable:hover {
    filter: brightness(1.15);
}

#rightPanel[data-theme="dark"] #stockResultTable thead th.stp-sortable.active {
    color: #FFD700;
}

#rightPanel[data-theme="dark"] #stockResultTable .stp-sort-icon.active {
    color: #FFD700;
}
