.loading-overlay[data-v-32d8e4b9]{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loading-spinner[data-v-32d8e4b9]{display:flex;flex-direction:column;align-items:center;gap:12px}.spinner[data-v-32d8e4b9]{width:40px;height:40px;border:3px solid #e5e5e5;border-top-color:#1677ff;border-radius:50%;animation:spin-32d8e4b9 .8s linear infinite}@keyframes spin-32d8e4b9{to{transform:rotate(360deg)}}.loading-text[data-v-32d8e4b9]{color:#666;font-size:14px}.loading-fade-enter-from[data-v-32d8e4b9],.loading-fade-leave-to[data-v-32d8e4b9]{opacity:0}.global-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:4px;font-size:14px;z-index:10000;animation:fadeIn .3s;font-family:var(--font-sans)}.global-toast.success{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.global-toast.error{background:#fff2f0;border:1px solid #ffccc7;color:#ff4d4f}.global-toast.info{background:#e6f4ff;border:1px solid #91caff;color:#1677ff}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}:root{--bg-primary: #0a0e14;--bg-secondary: #11161d;--bg-tertiary: #1a1f28;--bg-hover: #222831;--bg-active: #2d3744;--accent-primary: #00d4ff;--accent-secondary: #ff6b35;--accent-success: #00c853;--accent-warning: #ffb300;--accent-danger: #ff1744;--text-primary: #ffffff;--text-secondary: #b0b8c4;--text-tertiary: #6b7280;--text-muted: #4b5563;--border-primary: #1f2937;--border-secondary: #374151;--up: #ff2d55;--down: #00c853;--up-bg: rgba(255, 45, 85, .1);--down-bg: rgba(0, 200, 83, .1);--bg-selected: rgba(88, 166, 255, .15);--bg-warning: rgba(217, 164, 30, .1);--bg-warning-border: rgba(217, 164, 30, .3);--bg-success: rgba(0, 200, 83, .15);--bg-success-border: rgba(0, 200, 83, .3);--bg-danger: rgba(255, 45, 85, .15);--bg-danger-border: rgba(255, 45, 85, .3);--bg-info: rgba(0, 212, 255, .15);--bg-info-border: rgba(0, 212, 255, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--shadow-glow: 0 4px 20px rgba(0, 212, 255, .3);--shadow-focus: 0 0 0 2px rgba(0, 212, 255, .1);--bg-code: rgba(0, 0, 0, .2);--bg-overlay: rgba(0, 0, 0, .6);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: Monaco, "SF Mono", Consolas, "Liberation Mono", monospace;--bg-page: var(--bg-primary);--bg-card: var(--bg-secondary);--bg-header: var(--bg-secondary);--bg-sidebar: var(--bg-secondary);--bg-sidebar-hover: var(--bg-hover);--primary: var(--accent-primary);--primary-hover: #33ddff;--accent: var(--accent-secondary);--success: var(--accent-success);--warning: var(--accent-warning);--danger: var(--accent-danger);--text: var(--text-secondary);--white: var(--bg-card);--bg: var(--bg-page);--border: var(--border-primary);--border-light: var(--border-secondary)}*{margin:0;padding:0;box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--border-secondary) var(--bg-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}body{font-family:var(--font-sans);color:var(--text-secondary);background:var(--bg-primary);font-size:12px;line-height:1.4}.form-input{height:28px;padding:0 10px;border:1px solid var(--border-secondary);border-radius:4px;font-size:12px;outline:none;background:var(--bg-primary);color:var(--text-primary);font-family:inherit;transition:all .15s}.form-input:focus{border-color:var(--accent-primary);box-shadow:var(--shadow-focus)}.form-input::placeholder{color:var(--text-muted)}.search-box{position:relative}.search-box input{width:160px;height:28px;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:4px;padding:0 10px 0 28px;color:var(--text-primary);font-size:12px;outline:none;transition:all .15s;font-family:inherit}.search-box input:focus{border-color:var(--accent-primary);width:200px}.search-box input::placeholder{color:var(--text-muted)}.search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:12px}.stock-code{font-family:var(--font-mono);color:var(--accent-primary);font-weight:500;font-size:12px}.stock-name{color:var(--text-primary);font-weight:500}.list-page{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);font-family:var(--font-sans);font-size:12px;line-height:1.4;color:var(--text-secondary)}.list-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;margin-bottom:12px;gap:10px;flex-wrap:wrap}.list-toolbar-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.list-toolbar-right{display:flex;align-items:center;gap:12px;margin-left:auto}.list-search{position:relative}.list-search-input{width:160px;height:28px;padding:0 10px;border:1px solid var(--border-secondary);border-radius:4px;font-size:12px;font-family:inherit;outline:none;background:var(--bg-primary);color:var(--text-primary);transition:all .15s}.list-search-input:focus{border-color:var(--accent-primary);width:200px}.list-search-input::placeholder{color:var(--text-muted)}.list-search-dropdown{position:absolute;top:100%;left:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;box-shadow:var(--shadow-lg);z-index:100;min-width:200px;max-height:240px;overflow-y:auto}.list-search-item{padding:6px 10px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.list-search-item:hover{background:var(--bg-hover)}.list-search-code{font-family:var(--font-mono);color:var(--accent-primary);font-weight:500}.list-search-name{color:var(--text-tertiary)}.list-filter-select{height:28px;padding:0 24px 0 8px;border:1px solid var(--border-secondary);border-radius:4px;font-size:11px;font-family:inherit;background:var(--bg-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 6px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;color:var(--text-secondary)}.list-filter-select:focus{border-color:var(--accent-primary);outline:none}.list-filter-checkbox{display:flex;align-items:center;gap:4px;font-size:11px;cursor:pointer;padding:4px 6px;border-radius:3px;color:var(--text-secondary)}.list-filter-checkbox:hover{background:var(--bg-hover)}.list-filter-checkbox input{margin:0;accent-color:var(--accent-primary)}.list-stats{display:flex;align-items:center;gap:16px;font-size:11px;color:var(--text-tertiary)}.list-stats-item{display:flex;align-items:center;gap:4px}.list-stats-value{color:var(--text-primary);font-weight:600}.list-table-container{flex:1;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;overflow:auto}.list-table{width:100%;border-collapse:collapse;font-size:12px}.list-table th,.list-table td{padding:8px;border-bottom:1px solid var(--border-primary);white-space:nowrap;height:32px}.list-table th{background:var(--bg-tertiary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;position:sticky;top:0;z-index:10;color:var(--text-secondary);text-align:left}.list-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.list-table th.sortable:hover{color:var(--text-secondary)}.sort-arrow{margin-left:4px;color:var(--text-muted);font-size:10px}.sort-arrow.active{color:var(--text-primary)}.bias{font-weight:500}.bias-positive{color:var(--up)}.bias-negative{color:var(--down)}.list-table td{color:var(--text-secondary)}.list-table tbody tr:nth-child(odd) td{background:var(--bg-secondary)}.list-table tbody tr:nth-child(2n) td{background:var(--bg-primary)}.list-table tr:hover td{background:var(--bg-hover)!important}.list-table tr.selected td{background:var(--bg-active)!important}.list-table tr:last-child td{border-bottom:none}.list-table .col-checkbox{width:32px;text-align:center}.list-table .col-code{width:70px}.list-table .col-name{width:80px}.list-table .col-price,.list-table .col-change,.list-table .col-change-pct{width:70px;text-align:right}.list-table .col-volume{width:80px;text-align:right}.list-table .col-amount{width:90px;text-align:right}.list-table .col-market{width:70px;text-align:right}.list-table .col-action{width:60px;text-align:center}.list-table th.col-checkbox,.list-table td.col-checkbox{text-align:center}.list-table th.col-price,.list-table th.col-change,.list-table th.col-change-pct,.list-table th.col-volume,.list-table th.col-amount,.list-table th.col-market,.list-table th.col-turnover,.list-table th.col-turnover-f,.list-table th.col-volume-ratio,.list-table th.col-total-mv,.list-table th.col-circ-mv,.list-table td.col-price,.list-table td.col-change,.list-table td.col-change-pct,.list-table td.col-volume,.list-table td.col-amount,.list-table td.col-market,.list-table td.col-turnover,.list-table td.col-turnover-f,.list-table td.col-volume-ratio,.list-table td.col-total-mv,.list-table td.col-circ-mv{text-align:right;font-family:var(--font-mono);font-size:12px}.list-stock-code{font-family:var(--font-mono);color:var(--accent-primary);font-weight:500;font-size:12px}.list-stock-name{font-weight:500;font-size:12px;color:var(--text-primary)}.list-price,.list-change{font-family:var(--font-mono);font-size:12px}.list-change.up{color:var(--up)!important;font-weight:600}.list-change.down{color:var(--down)!important;font-weight:600}.list-concept-tag{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:3px;font-size:10px;background:var(--bg-hover);border:1px solid var(--border-secondary);color:var(--text-secondary);margin-right:4px;margin-bottom:2px}.list-concept-tag:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.list-concept-tag .close{cursor:pointer;font-size:10px;opacity:.6}.list-concept-tag .close:hover{opacity:1}.list-pagination{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--border-primary);background:var(--bg-tertiary);font-size:11px;color:var(--text-tertiary)}.list-pagination-info{font-size:11px;color:var(--text-tertiary)}.list-pagination-pages{display:flex;gap:4px}.list-page-btn{min-width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding:0 6px;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s;font-family:inherit}.list-page-btn:hover:not(.disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.list-page-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary);font-weight:600}.list-page-btn.disabled{opacity:.4;cursor:not-allowed}.list-remark-input{width:100%;border:none;background:transparent;font-size:11px;font-family:inherit;padding:4px 6px;outline:none;color:var(--text-secondary);border-radius:3px}.list-remark-input:hover{background:var(--bg-primary);border:1px solid var(--border-secondary)}.list-remark-input:focus{background:var(--bg-primary);border:1px solid var(--accent-primary)}.list-remark-input::placeholder{color:var(--text-muted)}.list-action-btn{padding:4px 8px;background:transparent;border:1px solid var(--border-secondary);border-radius:3px;color:var(--text-tertiary);font-size:10px;cursor:pointer;transition:all .15s;font-family:inherit}.list-action-btn:hover{border-color:var(--accent-danger);color:var(--accent-danger)}.list-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.list-modal{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;width:400px;max-width:90%;box-shadow:var(--shadow-lg)}.list-modal-header{padding:12px 16px;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between}.list-modal-title{font-size:14px;font-weight:600;color:var(--text-primary)}.list-modal-close{cursor:pointer;font-size:18px;color:var(--text-muted)}.list-modal-close:hover{color:var(--text-primary)}.list-modal-body{padding:16px}.list-modal-footer{padding:12px 16px;border-top:1px solid var(--border-primary);display:flex;justify-content:flex-end;gap:8px}.list-form-item{margin-bottom:14px}.list-form-label{display:block;margin-bottom:4px;font-weight:500;font-size:13px;color:var(--text-secondary)}.list-form-input{width:100%;height:32px;padding:0 10px;border:1px solid var(--border-secondary);border-radius:4px;font-size:13px;font-family:inherit;outline:none;background:var(--bg-primary);color:var(--text-primary)}.list-form-input:focus{border-color:var(--accent-primary)}.list-tag-selector{position:relative}.list-tag-trigger{padding:2px 20px 2px 4px;border:1px solid transparent;border-radius:3px;cursor:pointer;display:flex;align-items:center;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 4px center;min-height:22px}.list-tag-trigger:hover{border-color:var(--accent-primary);background-color:var(--bg-primary)}.list-tag-dropdown{position:absolute;top:100%;left:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;box-shadow:var(--shadow-lg);z-index:100;min-width:90px}.list-tag-option{padding:4px 10px;cursor:pointer;font-size:12px;color:var(--text-secondary)}.list-tag-option:hover{background:var(--bg-hover)}.list-tag-option.selected{background:var(--bg-info);color:var(--accent-primary)}.list-concept-selector{position:relative}.list-concept-trigger{min-height:22px;padding:2px 4px;border:1px solid transparent;border-radius:3px;cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:2px}.list-concept-trigger:hover{border-color:var(--accent-primary);background-color:var(--bg-primary)}.list-concept-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;box-shadow:var(--shadow-lg);z-index:100;max-height:240px;overflow:hidden}.list-concept-search{padding:6px;border-bottom:1px solid var(--border-primary);position:sticky;top:0;background:var(--bg-secondary)}.list-concept-search input{width:100%;height:28px;padding:0 8px;border:1px solid var(--border-secondary);border-radius:3px;font-size:12px;font-family:inherit;outline:none;background:var(--bg-primary);color:var(--text-primary)}.list-concept-search input:focus{border-color:var(--accent-primary)}.list-concept-list{max-height:180px;overflow-y:auto}.list-concept-option{padding:4px 8px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.list-concept-option:hover{background:var(--bg-hover)}.list-concept-option.selected{background:var(--bg-info)}.list-concept-option input{accent-color:var(--accent-primary)}.list-concept-add{color:var(--accent-primary);font-size:11px;cursor:pointer;padding:0 4px}.list-concept-add:hover{background:var(--bg-info);border-radius:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 12px;height:28px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s;border:none;outline:none;white-space:nowrap;font-family:inherit}.btn-primary{background:var(--accent-primary);color:var(--bg-primary)}.btn-primary:hover:not(:disabled){background:var(--text-primary)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-secondary)}.btn-secondary:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.btn-danger{background:var(--accent-danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.85}.btn-sm{height:24px;padding:0 8px;font-size:10px}.btn:disabled{opacity:.5;cursor:not-allowed}.stop-loss-warning{color:#ff4d4f;font-weight:700}.profit-up{color:var(--up);font-weight:500}.profit-down{color:var(--down);font-weight:500}.empty-row{text-align:center;color:var(--text-muted);padding:40px}
