.list-panel { background: #0d1b17; flex-direction: column; height: calc(100vh - 285px); min-height: 360px; overflow: hidden; }
.view.list-panel.active { display: flex; }
body:has(.view.list-panel.active) { overflow: hidden; }
body:has(.view.list-panel.active) main { height: 100vh; overflow: hidden; }
body:has(.view.list-panel.active) footer { display: none; }

@media (max-height: 760px) {
  .list-panel { height: calc(100vh - 245px); min-height: 280px; }
}
.table-tools { padding: 24px 32px; }
.table-tools h2 { font-size: 24px; }
.signal-table { min-width: 1080px; table-layout: auto; }
.signal-table th { padding: 14px 14px; white-space: nowrap; font-size: 14px; }
.signal-table thead { position: sticky; top: 0; z-index: 5; }
.signal-table thead th { background: #27313c; box-shadow: 0 1px 0 var(--line); }
.signal-table td { padding: 10px 14px; white-space: nowrap; vertical-align: middle; font-size: 15px; }
.signal-table th:first-child,.signal-table td:first-child { padding-left: 30px; }
.signal-table th:last-child,.signal-table td:last-child { padding-right: 30px; }
.sort-head { position: relative; border: 0; padding: 0 17px 0 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; cursor: pointer; }
.sort-head::after { content: '↕'; position: absolute; right: 0; color: #42534c; }
.sort-head.active { color: var(--mint); }
.sort-head.active[data-direction="asc"]::after { content: '↑'; color: var(--mint); }
.sort-head.active[data-direction="desc"]::after { content: '↓'; color: var(--mint); }
.stock-code { color: #b8c8c1; font-family: "Microsoft YaHei", "PingFang SC", sans-serif; font-size: 18px; font-weight: 600; }
.signal-table td strong { font-size: 16px; }
.signal-table .reason { font-size: 14px; }
.sparkline { display: block; width: 120px; height: 38px; overflow: visible; }
.sparkline polyline { fill: none; stroke: var(--mint); stroke-width: 1.8; vector-effect: non-scaling-stroke; }
.sparkline.rise polyline { stroke: var(--red); }
.no-chart { color: #52615c; font-size: 10px; }
.list-actions { display: flex; align-items: center; gap: 10px; }
.delete-button { height: 38px; padding: 0 14px; border: 1px solid #743b3e; border-radius: 4px; background: transparent; color: #ff858a; font-size: 13px; cursor: pointer; }
.delete-button:hover:not(:disabled) { border-color: var(--red); background: rgba(255,108,114,.08); }
.delete-button:disabled { opacity: .35; cursor: default; }
.add-button,.restore-button { height: 38px; padding: 0 14px; border: 1px solid #49687b; border-radius: 4px; background: transparent; color: #8ec9e8; font-size: 13px; cursor: pointer; }
.add-button:hover,.restore-button:hover { background: rgba(98,180,220,.1); border-color: #7fbad3; }
.download-button { height: 38px; padding: 0 14px; border: 1px solid #3f806c; border-radius: 4px; background: transparent; color: var(--mint); font-size: 13px; cursor: pointer; white-space: nowrap; }
.download-button:hover { background: rgba(98,230,177,.1); border-color: var(--mint); }
.signal-table .select-cell { width: 42px; padding-left: 18px; padding-right: 6px; }
.signal-table input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--mint); cursor: pointer; }
.signal-table tbody tr.selected { background: rgba(98,230,177,.055); }
.signal-table tbody td:not(.select-cell) { cursor: crosshair; }
.signal-table tbody .stock-link { cursor: pointer; }
.stock-selection-box { position: fixed; z-index: 10000; display: none; pointer-events: none; border: 1px solid #62e6b1; background: rgba(98,230,177,.14); box-shadow: 0 0 0 1px rgba(98,230,177,.12) inset; }
body.box-selecting, body.box-selecting * { user-select: none !important; }
