/* index.html 主样式（自 <head> <style> 抽出，规则顺序与原文件一致） */
        /* --- 大厂级专业金融 SaaS 设计系统 (Design Tokens) --- */

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            scrollbar-width: thin;
            scrollbar-color: #cbd5e1 transparent;
        }

        :root {
            color-scheme: light;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            font-variant-numeric: tabular-nums;
            background-color: var(--bg-main);
            background-image:
                radial-gradient(at 0% 0%, rgba(79, 70, 229, 0.04) 0px, transparent 50%),
                radial-gradient(at 100% 100%, rgba(99, 102, 241, 0.04) 0px, transparent 50%);
            color: var(--text-main);
            min-height: 100vh;
            line-height: 1.5;
            -webkit-font-smoothing: antialiased;
        }

        .container {
            max-width: 1440px;
            margin: 0 auto;
            padding: 12px 20px 24px;
        }

        /* ======= 大厂级 App Header 导航栏 ======= */
        .app-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 16px;
            padding: 10px 18px;
            background: rgba(255, 255, 255, 0.92);
            border: 1px solid var(--border-color);
            border-radius: 18px;
            box-shadow: 0 4px 20px -4px rgba(15, 23, 42, 0.05);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            position: relative;
            z-index: 1000;
        }

        .header-left {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .brand-logo-box {
            width: 38px;
            height: 38px;
            background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 6px 14px -2px rgba(79, 70, 229, 0.4);
            flex-shrink: 0;
        }

        .brand-title-wrap {
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .brand-main-title {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            font-size: 1.25rem;
            font-weight: 800;
            background: linear-gradient(135deg, #0f172a 30%, #334155 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            letter-spacing: -0.4px;
            /* 关键：品牌名不得换行。否则体验版顶部多一个"激活专业版"按钮时，
               标题会被 flex 压成两行（"网格回测大 / 师"） */
            white-space: nowrap;
        }

        .brand-pro-tag {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            font-size: 0.65rem;
            font-weight: 800;
            padding: 1px 5px;
            border-radius: 4px;
            background: linear-gradient(135deg, #4f46e5, #7c3aed);
            color: #ffffff;
            letter-spacing: 0.5px;
        }

        .header-stock-pill {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 4px 12px;
            background: #f1f5f9;
            border: 1px solid #e2e8f0;
            border-radius: 100px;
            font-size: 0.8rem;
            font-weight: 600;
            color: #334155;
            margin-left: 8px;
            max-width: 240px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .stock-live-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: #10b981;
            box-shadow: 0 0 6px #10b981;
            flex-shrink: 0;
        }

        /* 核心导航 Tabs */
        .header-nav-tabs {
            display: flex;
            align-items: center;
            background: #f1f5f9;
            padding: 3px;
            border-radius: 12px;
            gap: 2px;
            border: 1px solid rgba(226, 232, 240, 0.8);
        }

        .nav-link-tab {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 14px;
            font-size: 0.82rem;
            font-weight: 600;
            color: #64748b;
            text-decoration: none;
            border-radius: 9px;
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .nav-link-tab:hover {
            color: var(--primary);
            background: rgba(79, 70, 229, 0.05);
        }

        .nav-link-tab.active {
            background: #ffffff;
            color: var(--primary);
            font-weight: 700;
            box-shadow: 0 2px 6px rgba(15, 23, 42, 0.05);
        }

        /* 右侧用户与工具栏 */
        .header-right {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .header-quick-tools {
            display: flex;
            align-items: center;
            gap: 4px;
        }

        /* ===== 顶部栏抗挤压 =====
           体验版比专业版多一个「激活专业版」按钮，元素更多，此前会把
           品牌名与导航文字压成两行。这里改为：
             左右两侧固定不收缩，中间导航在空间不足时横向滚动（隐藏滚动条），
           保证任何版本下标题与文字都保持单行。 */
        .header-left,
        .header-right {
            flex-shrink: 0;
        }

        .header-nav-tabs {
            flex-shrink: 1;
            min-width: 0;
            overflow-x: auto;
            scrollbar-width: none;
        }

        .header-nav-tabs::-webkit-scrollbar {
            display: none;
        }

        .nav-link-tab {
            white-space: nowrap;
            flex-shrink: 0;
        }

        .tool-icon-btn {
            width: 34px;
            height: 34px;
            border-radius: 10px;
            border: 1px solid var(--border-color);
            background: #ffffff;
            color: #475569;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .tool-icon-btn:hover {
            background: #f8fafc;
            border-color: #cbd5e1;
            transform: translateY(-1px);
        }

        /* 个人中心下拉胶囊 */
        .profile-dropdown-wrapper {
            position: relative;
        }

        .profile-capsule-btn {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 4px 12px 4px 6px;
            background: #ffffff;
            border: 1.5px solid var(--border-color);
            border-radius: 100px;
            cursor: pointer;
            transition: all 0.2s ease;
            box-shadow: var(--shadow-sm);
        }

        .profile-capsule-btn:hover {
            border-color: #cbd5e1;
            box-shadow: var(--shadow-md);
            transform: translateY(-1px);
        }

        .avatar-circle {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            background: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 100%);
            border: 1px solid #c7d2fe;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.85rem;
            color: var(--primary);
            font-weight: 700;
        }

        .profile-info-mini {
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .profile-name {
            font-size: 0.82rem;
            font-weight: 700;
            color: #0f172a;
            max-width: 90px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .dropdown-chevron {
            color: var(--text-light);
            transition: transform 0.2s ease;
        }

        .profile-dropdown-wrapper.active .dropdown-chevron {
            transform: rotate(180deg);
        }

        /* 下拉菜单面板 */
        .profile-dropdown-menu {
            display: none;
            position: absolute;
            top: calc(100% + 8px);
            right: 0;
            width: 220px;
            background: #ffffff;
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 8px;
            box-shadow: var(--shadow-lg);
            z-index: 2000;
            animation: fadeInScale 0.2s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .profile-dropdown-wrapper.active .profile-dropdown-menu {
            display: block;
        }

        @keyframes fadeInScale {
            from { opacity: 0; transform: translateY(-6px) scale(0.96); }
            to { opacity: 1; transform: translateY(0) scale(1); }
        }

        /* ==================== 参数表单字段"被自动填充"高亮动画 ==================== */
        /* 场景：诊断报告点「应用量化建议到参数表单」后，提示"初始建仓"等字段已被同步改写 */
        @keyframes fieldFlashPulse {
            0% {
                box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.55);
                background-color: #eef2ff;
                border-color: #6366f1;
            }

            45% {
                box-shadow: 0 0 0 7px rgba(99, 102, 241, 0.16);
                background-color: #e0e7ff;
                border-color: #4f46e5;
            }

            100% {
                box-shadow: 0 0 0 0 rgba(99, 102, 241, 0);
                background-color: #ffffff;
                border-color: #cbd5e1;
            }
        }

        .field-flash {
            animation: fieldFlashPulse 1.3s cubic-bezier(0.22, 1, 0.36, 1) 2;
        }

        /* 数值写入瞬间的轻微弹跳，强调"这个值刚被改写" */
        @keyframes fieldValuePop {
            0% {
                transform: scale(1);
            }

            35% {
                transform: scale(1.035);
            }

            100% {
                transform: scale(1);
            }
        }

        .field-pop {
            animation: fieldValuePop 0.55s ease-out;
        }



        .dropdown-user-header {
            padding: 8px 12px 6px;
        }

        .dropdown-user-name {
            font-size: 0.88rem;
            font-weight: 700;
            color: #0f172a;
        }

        .dropdown-user-sub {
            font-size: 0.75rem;
            color: var(--text-muted);
            margin-top: 2px;
        }

        .dropdown-divider {
            height: 1px;
            background: #f1f5f9;
            margin: 6px 0;
        }

        .dropdown-item {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 8px 12px;
            border-radius: 10px;
            font-size: 0.82rem;
            font-weight: 600;
            color: #334155;
            text-decoration: none;
            cursor: pointer;
            transition: all 0.15s ease;
        }

        .dropdown-item:hover {
            background: #f8fafc;
            color: var(--primary);
        }

        .dropdown-item.item-danger {
            color: #ef4444;
        }

        .dropdown-item.item-danger:hover {
            background: #fef2f2;
            color: #dc2626;
        }

        .v-badge {
            font-size: 0.7rem;
            padding: 2px 7px;
            border-radius: 6px;
            background: #f1f5f9;
            color: #475569;
            font-weight: 700;
            border: 1px solid #e2e8f0;
        }

        .btn-head-pill {
            padding: 6px 14px;
            font-size: 0.8rem;
            font-weight: 700;
            border-radius: 100px;
            white-space: nowrap;
            border: 1px solid transparent;
            cursor: pointer;
            transition: all 0.2s ease;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .btn-pill-vip {
            background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
            color: #ffffff;
            box-shadow: 0 3px 10px rgba(79, 70, 229, 0.3);
            border: none;
        }

        .btn-pill-vip:hover {
            transform: translateY(-1px);
            box-shadow: 0 6px 16px rgba(79, 70, 229, 0.45);
        }

        .modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(15, 23, 42, 0.6);
            backdrop-filter: blur(4px);
            z-index: 2000;
            align-items: center;
            justify-content: center;
        }

        .help-modal {
            background: white;
            width: 90%;
            max-width: 960px;
            max-height: 85vh;
            border-radius: 20px;
            padding: 32px;
            position: relative;
            overflow-y: auto;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
        }

        .help-content h3 {
            margin: 20px 0 10px;
            color: var(--primary);
            font-size: 1.1rem;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .help-content p {
            font-size: 0.9rem;
            color: var(--text-dim);
            line-height: 1.6;
            margin-bottom: 10px;
        }

        .btn-activate {
            background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
            color: white;
            border: none;
            padding: 4px 16px;
            border-radius: 100px;
            font-size: 0.8rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
            display: none;
        }

        .btn-activate:hover {
            transform: translateY(-1px);
            box-shadow: 0 4px 10px rgba(245, 158, 11, 0.3);
        }

        /* 栅格系统 */
        .dashboard-grid {
            display: grid;
            grid-template-columns: 320px 1fr;
            gap: 14px;
            align-items: start;
        }

        .glass-card {
            background: var(--card-bg);
            border: 1px solid var(--border-color);
            border-radius: 10px;
            padding: 10px 12px;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.02);
        }

        .card-title {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            font-size: 0.95rem;
            font-weight: 700;
            margin-bottom: 6px;
            color: var(--text-main);
            display: flex;
            align-items: center;
            gap: 6px;
        }

        /* 表单样式优化 */
        .form-section {
            display: flex;
            flex-direction: column;
            gap: 3px;
        }

        .input-group {
            position: relative;
            margin-bottom: 2px;
        }

        .input-group label {
            display: block;
            margin-bottom: 1px;
            font-size: 0.78rem;
            font-weight: 600;
            color: var(--text-main);
            letter-spacing: 0.2px;
        }

        .input-row {
            display: flex;
            gap: 6px;
        }

        input,
        select {
            background: #fff;
            border: 1px solid var(--border-color);
            border-radius: 5px;
            padding: 3px 6px;
            color: var(--text-main);
            font-size: 0.78rem;
            width: 100%;
            transition: all 0.2s;
            outline: none;
            box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
        }

        input:focus,
        select:focus {
            border-color: var(--primary);
            background: #fff;
            box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.1);
        }

        /* 解决下拉框视觉问题 */
        select option {
            background-color: #fff;
            color: var(--text-main);
        }

        .btn-action {
            width: 100%;
            padding: 5px;
            border-radius: 5px;
            border: 1px solid transparent;
            font-weight: 600;
            font-size: 0.8rem;
            cursor: pointer;
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 3px;
        }

        .form-section>.btn-action,
        .form-section>a[style*="display:flex"] {
            margin-top: 2px;
        }

        .btn-search {
            background: var(--primary);
            color: #fff;
            flex-shrink: 0;
            width: auto;
            padding: 0 20px;
        }

        .btn-save {
            background: #f1f5f9;
            color: #475569;
            border: 1px solid #e2e8f0;
        }

        .btn-save:hover {
            background: #e2e8f0;
            transform: translateY(-1px);
        }

        .btn-collect {
            background: #ecfdf5;
            color: #059669;
            border: 1px solid #d1fae5;
        }

        .btn-collect:hover {
            background: #d1fae5;
            transform: translateY(-1px);
        }

        .btn-analysis {
            background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
            color: white !important;
            border: none !important;
            width: auto !important;
            padding: 0 16px !important;
            flex-shrink: 0;
            box-shadow: 0 4px 6px -1px rgba(79, 70, 229, 0.2);
        }

        .btn-analysis:hover {
            transform: translateY(-1px);
            box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.3);
            filter: brightness(1.1);
        }

        input,
        select {
            height: 38px;
            /* 强制统一高度 */
        }

        .btn-search,
        .btn-analysis {
            height: 38px;
            /* 强制统一高度 */
        }

        .btn-run {
            background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
            color: #fff;
            margin-top: 10px;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            font-size: 1.05rem;
            box-shadow: 0 4px 6px -1px rgba(79, 70, 229, 0.2);
        }

        .btn-run:hover {
            transform: translateY(-2px);
            box-shadow: 0 15px 30px -5px rgba(99, 102, 241, 0.5);
        }

        /* 结果看板 */
        .summary-row {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 12px;
            margin-bottom: 12px;
        }

        /* 体验用户：AI动态步长明日执行预览钩子 */
        .prediction-preview-box {
            display: flex;
            align-items: center;
            gap: 16px;
            margin-bottom: 14px;
            padding: 14px 18px;
            background: linear-gradient(135deg, rgba(99, 102, 241, 0.10) 0%, rgba(34, 197, 94, 0.08) 100%);
            border: 1px solid rgba(99, 102, 241, 0.35);
            border-radius: 14px;
            box-shadow: 0 4px 16px -4px rgba(99, 102, 241, 0.18);
        }

        .prediction-preview-box .pp-icon {
            font-size: 1.8rem;
            line-height: 1;
        }

        .prediction-preview-box .pp-body {
            flex: 1;
            min-width: 0;
        }

        .prediction-preview-box .pp-title {
            font-weight: 700;
            font-size: 0.95rem;
            color: #4f46e5;
            margin-bottom: 4px;
        }

        .prediction-preview-box .pp-text {
            font-size: 0.82rem;
            color: #475569;
            line-height: 1.5;
            margin-bottom: 8px;
        }

        .prediction-preview-box .pp-steps {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .prediction-preview-box .pp-chip {
            font-size: 0.78rem;
            color: #334155;
            background: #fff;
            border: 1px solid #e2e8f0;
            border-radius: 999px;
            padding: 3px 10px;
        }

        .prediction-preview-box .pp-chip b {
            color: #4f46e5;
        }

        .prediction-preview-box .pp-sell b {
            color: #e11d48;
        }

        .prediction-preview-box .pp-buy b {
            color: #059669;
        }

        .prediction-preview-box .pp-btn {
            flex-shrink: 0;
            border: none;
            cursor: pointer;
            background: linear-gradient(135deg, #6366f1, #4f46e5);
            color: #fff;
            font-weight: 600;
            font-size: 0.85rem;
            padding: 9px 18px;
            border-radius: 10px;
            box-shadow: 0 6px 16px -4px rgba(99, 102, 241, 0.5);
            transition: transform .15s ease, box-shadow .15s ease;
        }

        .prediction-preview-box .pp-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 10px 22px -6px rgba(99, 102, 241, 0.6);
        }

        .summary-row:last-child {
            margin-bottom: 16px;
        }

        .summary-item {
            background: #ffffff;
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 14px 16px;
            transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            min-height: 92px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 2px 6px rgba(15, 23, 42, 0.02);
        }

        .summary-item::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(90deg, transparent, rgba(79, 70, 229, 0.25), transparent);
            opacity: 0;
            transition: opacity 0.25s ease;
        }

        .summary-item:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 24px -4px rgba(15, 23, 42, 0.08);
            border-color: #cbd5e1;
        }

        .summary-item:hover::before {
            opacity: 1;
        }

        /* 差异化主题卡片微高光 */
        .summary-item.kpi-profit {
            background: linear-gradient(135deg, #ffffff 65%, #fffbeb 100%);
            border-color: rgba(251, 191, 36, 0.3);
        }
        .summary-item.kpi-return {
            background: linear-gradient(135deg, #ffffff 65%, #fef2f2 100%);
            border-color: rgba(248, 113, 113, 0.3);
        }
        .summary-item.kpi-sharpe {
            background: linear-gradient(135deg, #ffffff 65%, #eef2ff 100%);
            border-color: rgba(165, 180, 252, 0.3);
        }
        .summary-item.kpi-drawdown {
            background: linear-gradient(135deg, #ffffff 65%, #f8fafc 100%);
            border-color: rgba(203, 213, 225, 0.6);
        }

        .summary-header-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 4px;
        }

        .summary-label {
            font-size: 0.76rem;
            color: var(--text-dim);
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 5px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .kpi-icon-badge {
            font-size: 0.92rem;
            line-height: 1;
        }

        .summary-sub-tag {
            font-size: 0.65rem;
            font-weight: 700;
            padding: 2px 6px;
            border-radius: 6px;
            background: #f1f5f9;
            color: #64748b;
            white-space: nowrap;
        }

        .summary-value {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            font-size: 1.5rem;
            font-weight: 800;
            color: var(--text-main);
            line-height: 1.2;
            letter-spacing: -0.4px;
            margin-top: 3px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .val-profit,
        .val-return,
        .val-hold {
            color: #ef4444;
        }

        .val-loss {
            color: #10b981;
        }

        /* 表格设计 */
        .table-container {
            max-height: 520px;
            overflow: auto;
            border-radius: 12px;
            border: 1px solid var(--border-color);
            background: #fff;
        }

        table {
            width: 100%;
            border-collapse: collapse;
            background: #fff;
        }

        th {
            position: sticky;
            top: 0;
            background: #f8fafc;
            z-index: 10;
            padding: 12px 14px;
            text-align: left;
            font-size: 0.85rem;
            color: var(--text-dim);
            text-transform: uppercase;
            font-weight: 600;
            border-bottom: 2px solid var(--border-color);
        }

        td {
            padding: 10px 14px;
            font-size: 0.85rem;
            border-bottom: 1px solid var(--border-color);
            color: var(--text-main);
        }

        tr:hover td {
            background: rgba(0, 0, 0, 0.02);
        }

        .badge-buy {
            color: #ef4444;
            background: rgba(239, 68, 68, 0.1);
            padding: 2px 8px;
            border-radius: 4px;
            font-weight: 600;
        }

        .badge-sell {
            color: #10b981;
            background: rgba(16, 185, 129, 0.1);
            padding: 2px 8px;
            border-radius: 4px;
            font-weight: 600;
        }

        .badge-init {
            color: white;
            background: #3b82f6;
            padding: 2px 8px;
            border-radius: 4px;
            font-weight: 700;
            border: 1px solid #2563eb;
            box-shadow: 0 2px 4px rgba(59, 130, 246, 0.3);
        }

        /* AI 建仓：本质是买入，但需与普通买入区分（紫色） */
        .badge-aibuild {
            color: white;
            background: #7c3aed;
            padding: 2px 8px;
            border-radius: 4px;
            font-weight: 700;
            border: 1px solid #6d28d9;
            box-shadow: 0 2px 4px rgba(124, 58, 237, 0.3);
        }

        .btn-pwd {
            background: #f8fafc;
            color: #475569;
            border: 1px solid #e2e8f0;
            padding: 6px 14px;
            border-radius: 6px;
            font-size: 0.85rem;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.2s;
        }

        .btn-pwd:hover {
            background: #f1f5f9;
            border-color: #cbd5e1;
            color: var(--primary);
        }

        /* 修改密码弹窗 */
        .modal-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.4);
            backdrop-filter: blur(4px);
            z-index: 2000;
            align-items: center;
            justify-content: center;
        }

        .pwd-modal {
            background: white;
            padding: 30px;
            border-radius: 12px;
            width: 380px;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
        }

        .pwd-modal h2 {
            margin-bottom: 20px;
            font-size: 1.25rem;
            color: var(--text-main);
        }

        .pwd-modal .input-group {
            margin-bottom: 15px;
        }

        .pwd-modal label {
            display: block;
            margin-bottom: 5px;
            font-size: 0.85rem;
            color: var(--text-dim);
        }

        .pwd-modal input {
            width: 100%;
            padding: 10px;
            border: 1px solid #e2e8f0;
            border-radius: 6px;
            outline: none;
        }

        .pwd-modal input:focus {
            border-color: var(--primary);
        }

        .pwd-modal .actions {
            display: flex;
            gap: 12px;
            margin-top: 25px;
        }

        .pwd-modal .actions button {
            flex: 1;
            padding: 10px;
            border-radius: 6px;
            cursor: pointer;
            border: none;
            font-weight: 500;
        }

        .pwd-modal .btn-confirm {
            background: var(--primary);
            color: white;
        }

        .pwd-modal .btn-cancel {
            background: #f1f5f9;
            color: #64748b;
        }

        .loader-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(4px);
            z-index: 1000;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            gap: 20px;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            font-size: 1.2rem;
            color: var(--text-main);
        }

        /* ======= 智能建议弹窗样式 ======= */
        .advice-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(15, 23, 42, 0.6);
            backdrop-filter: blur(6px);
            z-index: 3000;
            align-items: center;
            justify-content: center;
        }

        .advice-panel {
            background: #fff;
            width: 95%;
            max-width: 820px;
            max-height: 92vh;
            border-radius: 16px;
            padding: 0;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
        }

        .advice-header {
            background: #ffffff;
            color: #1e293b;
            padding: 20px 24px 16px;
            border-radius: 16px 16px 0 0;
            flex-shrink: 0;
            border-bottom: 1px solid #e2e8f0;
        }

        .advice-header-top {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 16px;
        }

        .advice-title-box {
            display: flex;
            gap: 12px;
            align-items: center;
        }

        .advice-title-box .advice-icon {
            font-size: 1.8rem;
            background: #f5f3ff;
            width: 48px;
            height: 48px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 12px;
            border: 1px solid #ddd6fe;
        }

        .advice-header h2 {
            font-size: 1.25rem;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.01em;
            margin-bottom: 2px;
        }

        .advice-header .sub {
            font-size: 0.85rem;
            color: #64748b;
            font-weight: 500;
        }

        .btn-close-modal {
            background: #f1f5f9;
            border: none;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            color: #64748b;
            cursor: pointer;
            transition: all 0.2s;
        }

        .btn-close-modal:hover {
            background: #e2e8f0;
            color: #0f172a;
        }

        .advice-toolbar {
            display: flex;
            gap: 16px;
            align-items: center;
            background: #f8fafc;
            padding: 12px 16px;
            border-radius: 12px;
            border: 1px solid #edf2f7;
        }

        .advice-tool-item {
            display: flex;
            flex-direction: column;
            gap: 5px;
        }

        .advice-tool-item label {
            font-size: 0.65rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: #94a3b8;
        }

        .tool-input-row {
            display: flex;
            align-items: center;
            background: #ffffff;
            border: 1px solid #cbd5e1;
            border-radius: 8px;
            padding: 2px;
            height: 34px;
        }

        .tool-input {
            border: none !important;
            background: transparent !important;
            height: 100% !important;
            padding: 0 10px !important;
            font-size: 0.85rem !important;
            font-weight: 600 !important;
            color: #1e293b !important;
            outline: none !important;
            box-shadow: none !important;
            width: auto !important;
        }

        .tool-sep {
            color: #94a3b8;
            font-size: 0.75rem;
            font-weight: 500;
            padding: 0 4px;
        }

        .tool-select {
            background: #ffffff !important;
            border: 1px solid #cbd5e1 !important;
            border-radius: 8px !important;
            height: 34px !important;
            padding: 0 10px !important;
            font-size: 0.85rem !important;
            font-weight: 600 !important;
            color: #1e293b !important;
            outline: none !important;
            transition: border-color 0.2s !important;
        }

        .tool-select:focus {
            border-color: #4f46e5 !important;
        }

        .btn-tool-action {
            background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
            color: white;
            border: none;
            height: 34px;
            padding: 0 20px;
            border-radius: 8px;
            font-size: 0.88rem;
            font-weight: 700;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 6px;
            transition: all 0.2s;
            margin-left: auto;
            box-shadow: 0 4px 6px -1px rgba(79, 70, 229, 0.2);
        }

        .btn-tool-action:hover {
            transform: translateY(-1px);
            box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.3);
            filter: brightness(1.1);
        }

        .btn-tool-action:active {
            transform: translateY(0);
        }

        .advice-body {
            padding: 12px 20px;
            overflow-y: auto;
            flex-grow: 1;
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        .advice-body::-webkit-scrollbar {
            display: none;
            width: 0 !important;
        }

        .advice-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
            margin-bottom: 10px;
        }

        .advice-card {
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 10px;
            padding: 12px;
        }

        .advice-card h4 {
            font-size: 0.75rem;
            color: #64748b;
            margin-bottom: 6px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .gauge-container {
            text-align: center;
            padding: 4px 0;
        }

        .gauge-value {
            font-size: 1.8rem;
            font-weight: 800;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
        }

        .gauge-label {
            font-size: 0.85rem;
            margin-top: 2px;
            font-weight: 600;
        }

        .stat-row {
            display: flex;
            justify-content: space-between;
            padding: 4px 0;
            font-size: 0.85rem;
            border-bottom: 1px solid #f1f5f9;
        }

        .stat-row:last-child {
            border-bottom: none;
        }

        .stat-label {
            color: #64748b;
        }

        .stat-value {
            font-weight: 600;
            color: #0f172a;
        }

        .suggestion-box {
            background: linear-gradient(135deg, #f0fdf4, #ecfdf5);
            border: 1px solid #bbf7d0;
            border-radius: 10px;
            padding: 12px 20px;
            margin-bottom: 10px;
        }

        .suggestion-box h3 {
            color: #166534;
            font-size: 1rem;
            margin-bottom: 12px;
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .param-compare {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            margin-bottom: 14px;
        }

        .param-item {
            background: white;
            border-radius: 8px;
            padding: 12px;
            text-align: center;
        }

        .param-item .label {
            font-size: 0.8rem;
            color: #64748b;
            margin-bottom: 4px;
        }

        .param-item .value {
            font-size: 1.5rem;
            font-weight: 700;
            color: #166534;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
        }

        .param-item .unit {
            font-size: 0.8rem;
            color: #64748b;
        }

        .reason-text {
            font-size: 0.88rem;
            color: #15803d;
            line-height: 1.7;
            white-space: pre-line;
        }

        .advice-actions {
            display: flex;
            gap: 12px;
            margin-top: 6px;
        }

        .btn-apply {
            flex: 1;
            background: linear-gradient(135deg, #4f46e5, #7c3aed);
            color: white;
            border: none;
            padding: 12px;
            border-radius: 8px;
            font-size: 0.95rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
        }

        .btn-apply:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(79, 70, 229, 0.3);
        }

        .btn-close-advice {
            background: #f1f5f9;
            color: #475569;
            border: 1px solid #e2e8f0;
            padding: 12px 24px;
            border-radius: 8px;
            font-size: 0.95rem;
            font-weight: 500;
            cursor: pointer;
        }

        .toast {
            position: fixed;
            top: 20px;
            left: 50%;
            transform: translateX(-50%);
            background: #10b981;
            color: white;
            padding: 12px 24px;
            border-radius: 50px;
            box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
            z-index: 9999;
            font-weight: 700;
            display: none;
            animation: fadeInOut 2.5s forwards;
        }

        @keyframes fadeInOut {
            0% {
                opacity: 0;
                top: 0;
            }

            15% {
                opacity: 1;
                top: 20px;
            }

            85% {
                opacity: 1;
                top: 20px;
            }

            100% {
                opacity: 0;
                top: 0;
            }
        }

        .trade-date-text {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-main);
            line-height: 1.2;
        }

        .trade-time-text {
            font-size: 0.85rem;
            color: var(--text-dim);
            line-height: 1.2;
        }

        /* ======= 入场分析面板样式 ======= */
        .analysis-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(15, 23, 42, 0.7);
            backdrop-filter: blur(8px);
            z-index: 4000;
            align-items: center;
            justify-content: center;
        }

        .analysis-modal {
            background: #fff;
            width: 92%;
            max-width: 1050px;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
            display: flex;
            flex-direction: column;
            max-height: 92vh;
        }

        .analysis-header {
            background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
            color: white;
            padding: 18px 26px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .analysis-body {
            padding: 24px;
            overflow-y: auto;
            display: grid;
            grid-template-columns: 1fr 340px;
            gap: 24px;
        }

        /* ======= 各指标独立打分卡片列表样式 ======= */
        .analysis-indicator-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 12px;
            margin-top: 12px;
        }

        .ind-score-card {
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 12px 14px;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
            transition: all 0.2s ease;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            gap: 6px;
        }

        .ind-score-card:hover {
            border-color: #cbd5e1;
            box-shadow: 0 6px 14px rgba(0, 0, 0, 0.06);
            transform: translateY(-1px);
        }

        .ind-card-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .ind-title {
            font-size: 0.9rem;
            color: #1e293b;
            display: flex;
            align-items: center;
            gap: 6px;
            font-weight: 700;
        }

        .ind-icon {
            font-size: 1.1rem;
        }

        .ind-weight {
            font-size: 0.72rem;
            color: #94a3b8;
            font-weight: 500;
        }

        .ind-score-badge {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            font-size: 1.3rem;
            font-weight: 800;
            padding: 2px 10px;
            border-radius: 8px;
            line-height: 1;
        }

        .ind-score-bar-bg {
            height: 6px;
            background: #f1f5f9;
            border-radius: 3px;
            overflow: hidden;
        }

        .ind-score-bar-fill {
            height: 100%;
            border-radius: 3px;
            transition: width 0.8s ease-out;
        }

        .period-tab {
            background: transparent;
            border: none;
            color: rgba(255, 255, 255, 0.75);
            font-size: 0.75rem;
            font-weight: 600;
            padding: 4px 10px;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .period-tab.active,
        .period-tab:hover {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

        .ind-meta-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            flex-wrap: wrap;
        }

        .ind-status-badge {
            font-size: 0.72rem;
            font-weight: 700;
            padding: 2px 8px;
            border-radius: 4px;
            background: #f8fafc;
            color: #334155;
            border: 1px solid #e2e8f0;
            white-space: nowrap;
        }

        .ind-val-text {
            font-size: 0.73rem;
            color: #64748b;
            font-weight: 600;
            word-break: break-all;
            white-space: normal;
            line-height: 1.3;
        }

        .ind-advice-text {
            font-size: 0.76rem;
            color: #475569;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            padding: 7px 10px;
            border-radius: 8px;
            line-height: 1.4;
        }

        .pos-card {
            background: linear-gradient(135deg, #eef2ff 0%, #f0fdf4 100%);
            border: 1px solid #c7d2fe;
            border-radius: 12px;
            padding: 10px 14px;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .pos-card-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 8px;
        }

        .pos-title {
            font-size: 0.78rem;
            color: #3730a3;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 4px;
            white-space: nowrap;
        }

        .pos-val {
            font-size: 1.15rem;
            font-weight: 900;
            color: #312e81;
            letter-spacing: -0.3px;
            white-space: nowrap;
        }

        .pos-desc-badge {
            font-size: 0.75rem;
            font-weight: 600;
            color: #4338ca;
            background: rgba(99, 102, 241, 0.09);
            border: 1px solid rgba(99, 102, 241, 0.2);
            border-radius: 6px;
            padding: 3px 8px;
            line-height: 1.4;
            display: inline-block;
        }

        .score-circle {
            text-align: center;
            padding: 20px;
            background: #f8fafc;
            border-radius: 16px;
            border: 1px solid #e2e8f0;
        }

        .score-val {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            font-size: 4rem;
            font-weight: 800;
            line-height: 1;
            margin-bottom: 5px;
        }

        .signal-badge {
            display: inline-block;
            padding: 6px 20px;
            border-radius: 100px;
            color: white;
            font-weight: 700;
            font-size: 1.1rem;
            margin-top: 10px;
        }

        .dim-item {
            margin-bottom: 15px;
        }

        .dim-label-row {
            display: flex;
            justify-content: space-between;
            font-size: 0.9rem;
            margin-bottom: 5px;
            font-weight: 600;
        }

        .dim-bar-bg {
            height: 8px;
            background: #e2e8f0;
            border-radius: 4px;
            overflow: hidden;
        }

        .dim-bar-fill {
            height: 100%;
            transition: width 1s ease-out;
        }

        .conclusion-list {
            margin-top: 20px;
        }

        .conclusion-item {
            display: flex;
            gap: 10px;
            padding: 10px 12px;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 8px;
            margin-bottom: 8px;
            font-size: 0.85rem;
            color: #334155;
        }

        /* ======= 详细指标列表样式 ======= */
        .analysis-detail-grid {
            margin-top: 20px;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
        }

        .detail-card {
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            padding: 10px;
            border-radius: 8px;
        }

        .detail-label {
            font-size: 0.75rem;
            color: #64748b;
            margin-bottom: 4px;
        }

        .detail-value {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            font-size: 1rem;
            font-weight: 700;
            color: #1e293b;
        }

        /* ======= 移动端响应式适配 ======= */
        @media (max-width: 1024px) {
            .dashboard-grid {
                display: flex !important;
                flex-direction: column !important;
                gap: 20px;
            }

            .main-content {
                width: 100% !important;
                min-width: 0 !important;
            }

            .summary-row {
                grid-template-columns: repeat(2, 1fr) !important;
                gap: 12px;
            }
        }

        @media (max-width: 640px) {
            .container {
                padding: 6px;
                overflow-x: hidden;
            }

            .app-header {
                flex-direction: column !important;
                align-items: stretch !important;
                gap: 10px !important;
                padding: 10px 12px !important;
                border-radius: 14px !important;
                margin-bottom: 10px !important;
            }

            .header-left {
                justify-content: space-between !important;
                width: 100% !important;
                flex-wrap: wrap !important;
                gap: 8px !important;
            }

            .brand-main-title {
                font-size: 1.1rem !important;
            }

            .header-stock-pill {
                margin-left: 0 !important;
                max-width: 100% !important;
                font-size: 0.75rem !important;
                padding: 3px 10px !important;
            }

            .header-nav-tabs {
                width: 100% !important;
                justify-content: space-between !important;
            }

            .nav-link-tab {
                flex: 1 !important;
                justify-content: center !important;
                padding: 5px 6px !important;
                font-size: 0.75rem !important;
                gap: 4px !important;
            }

            .header-right {
                width: 100% !important;
                justify-content: space-between !important;
                gap: 8px !important;
            }

            .btn-pill-vip {
                flex: 1 !important;
                justify-content: center !important;
                padding: 6px 10px !important;
                font-size: 0.75rem !important;
            }

            .profile-capsule-btn {
                padding: 3px 8px 3px 4px !important;
            }

            .profile-name {
                max-width: 70px !important;
                font-size: 0.75rem !important;
            }

            .profile-dropdown-menu {
                right: 0 !important;
                left: auto !important;
                width: 200px !important;
            }

            .main-content {
                width: 100% !important;
                min-width: 0 !important;
            }

            .glass-card {
                width: 100% !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
            }

            .summary-row {
                display: flex !important;
                flex-wrap: wrap !important;
                gap: 6px !important;
                width: 100% !important;
            }

            .summary-item {
                flex: 1 1 calc(50% - 6px) !important;
                padding: 8px !important;
            }

            .summary-label {
                font-size: 0.6rem !important;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .summary-value {
                font-size: 1.22rem !important;
            }

            /* 手机端隐藏部分列以节省空间 */
            .hide-on-mobile {
                display: none !important;
            }

            .hide-on-tiny {
                display: table-cell !important;
            }

            .desktop-text {
                display: none !important;
            }

            .table-container {
                overflow-x: auto !important;
            }

            #tradeDetailTable {
                width: 100% !important;
                min-width: 0 !important;
                table-layout: fixed !important;
                font-size: 8.5px !important;
            }

            #tradeDetailTable th,
            #tradeDetailTable td {
                padding: 4px 1px !important;
                letter-spacing: -0.8px;
                text-align: center !important;
                word-break: break-all !important;
            }

            /* 自适应分配各列宽度 */
            #tradeDetailTable th:nth-child(1),
            #tradeDetailTable td:nth-child(1) {
                width: 15% !important;
            }

            /* 时间 */
            #tradeDetailTable th:nth-child(2),
            #tradeDetailTable td:nth-child(2) {
                width: 11% !important;
            }

            /* 方向 */
            #tradeDetailTable th:nth-child(3),
            #tradeDetailTable td:nth-child(3) {
                width: 13% !important;
            }

            /* 价格 */
            #tradeDetailTable th:nth-child(4),
            #tradeDetailTable td:nth-child(4) {
                display: none !important;
            }

            /* 数量 */
            #tradeDetailTable th:nth-child(5),
            #tradeDetailTable td:nth-child(5) {
                display: none !important;
            }

            /* 手续费 */
            #tradeDetailTable th:nth-child(6),
            #tradeDetailTable td:nth-child(6) {
                width: 18% !important;
            }

            /* 余额 */
            #tradeDetailTable th:nth-child(7),
            #tradeDetailTable td:nth-child(7) {
                width: 13% !important;
            }

            /* 盈亏 */
            #tradeDetailTable th:nth-child(8),
            #tradeDetailTable td:nth-child(8) {
                width: 13% !important;
            }

            /* 仓位 */
            #tradeDetailTable th:nth-child(9),
            #tradeDetailTable td:nth-child(9) {
                width: 9% !important;
            }

            /* 买步 */
            #tradeDetailTable th:nth-child(10),
            #tradeDetailTable td:nth-child(10) {
                width: 9% !important;
            }

            /* 卖步 */

            /* 价格、余、仓文字变小，买卖文字变大且加粗 */
            #tradeDetailTable td:nth-child(3) {
                font-size: 7.2px !important;
                font-weight: 500 !important;
            }

            #tradeDetailTable td:nth-child(6) {
                font-size: 7.2px !important;
            }

            #tradeDetailTable td:nth-child(7) {
                font-size: 8.8px !important;
                font-weight: 700 !important;
            }

            #tradeDetailTable td:nth-child(8) {
                font-size: 7.2px !important;
            }

            #tradeDetailTable td:nth-child(9) {
                font-size: 8.8px !important;
                font-weight: 700 !important;
            }

            #tradeDetailTable td:nth-child(10) {
                font-size: 8.8px !important;
                font-weight: 700 !important;
            }

            /* 缩小方向标签 */
            .badge-buy,
            .badge-sell {
                padding: 1px 3px !important;
                font-size: 8px !important;
                min-width: 28px !important;
            }

            .glass-card {
                padding: 8px !important;
            }

            .card-title {
                font-size: 0.85rem !important;
                margin-bottom: 8px !important;
            }

            .trade-date-text {
                font-size: 8.5px !important;
            }

            .trade-time-text {
                font-size: 7.5px !important;
            }

            /* ======= 弹窗/模态框移动端适配 ======= */
            .advice-panel {
                width: 98% !important;
                max-height: 96vh !important;
                border-radius: 12px !important;
            }

            .advice-header {
                padding: 12px 16px 8px !important;
            }

            .advice-header-top {
                margin-bottom: 10px !important;
            }

            .advice-title-box {
                gap: 8px !important;
            }

            .advice-title-box .advice-icon {
                width: 36px !important;
                height: 36px !important;
                font-size: 1.3rem !important;
                border-radius: 8px !important;
            }

            .advice-header h2 {
                font-size: 1.05rem !important;
            }

            .advice-header .sub {
                font-size: 0.75rem !important;
            }

            .advice-toolbar {
                flex-direction: column !important;
                align-items: stretch !important;
                gap: 8px !important;
                padding: 10px 12px !important;
                border-radius: 8px !important;
            }

            .advice-tool-item {
                width: 100% !important;
            }

            .tool-input-row {
                width: 100% !important;
                justify-content: space-between !important;
            }

            .tool-input {
                flex: 1 !important;
                width: auto !important;
                text-align: center !important;
                font-size: 0.8rem !important;
                padding: 0 4px !important;
            }

            .tool-select {
                width: 100% !important;
                font-size: 0.8rem !important;
                height: 34px !important;
            }

            .btn-tool-action {
                width: 100% !important;
                margin-left: 0 !important;
                justify-content: center !important;
                font-size: 0.85rem !important;
                height: 36px !important;
            }

            .advice-body {
                padding: 10px 12px !important;
            }

            .advice-grid {
                grid-template-columns: 1fr !important;
                gap: 8px !important;
                margin-bottom: 8px !important;
            }

            .advice-card {
                padding: 10px !important;
            }

            .advice-card h4 {
                font-size: 0.7rem !important;
                margin-bottom: 4px !important;
            }

            .gauge-value {
                font-size: 1.5rem !important;
            }

            .gauge-label {
                font-size: 0.75rem !important;
            }

            .stat-row {
                font-size: 0.75rem !important;
                padding: 3px 0 !important;
            }

            .param-compare {
                gap: 8px !important;
                margin-bottom: 10px !important;
            }

            .param-item {
                padding: 8px !important;
            }

            .param-item .value {
                font-size: 1.25rem !important;
            }

            .advice-footer {
                gap: 8px !important;
                flex-direction: column-reverse !important;
                padding: 12px 16px !important;
            }

            .btn-apply,
            .btn-close-advice {
                width: 100% !important;
                padding: 10px !important;
                font-size: 0.9rem !important;
                text-align: center !important;
            }

            /* 修改密码弹窗 */
            .pwd-modal {
                width: 95% !important;
                max-width: 380px !important;
                padding: 16px !important;
            }

            /* 保存/加载配置弹窗 */
            #saveConfigModal>.glass-card {
                width: 95% !important;
                max-width: 380px !important;
                padding: 12px !important;
            }

            #loadConfigModal>.glass-card {
                width: 95% !important;
                max-width: 500px !important;
                padding: 16px !important;
            }

            /* 证券多维度诊断弹窗手机端完美适配 */
            .analysis-modal {
                width: 96% !important;
                max-height: 95vh !important;
                border-radius: 14px !important;
            }

            .analysis-header {
                padding: 12px 14px !important;
                flex-direction: column !important;
                align-items: stretch !important;
                gap: 10px !important;
            }

            .analysis-header>div:first-child {
                display: flex !important;
                justify-content: space-between !important;
                align-items: center !important;
                width: 100% !important;
            }

            .analysis-header h2 {
                font-size: 1.05rem !important;
            }

            .analysis-period-tabs {
                width: 100% !important;
                justify-content: space-between !important;
                gap: 2px !important;
            }

            .period-tab {
                flex: 1 !important;
                padding: 5px 0 !important;
                font-size: 0.72rem !important;
                text-align: center !important;
                justify-content: center !important;
            }

            .analysis-body {
                grid-template-columns: 1fr !important;
                gap: 14px !important;
                padding: 12px !important;
            }

            .analysis-left>div:first-child {
                grid-template-columns: 1fr !important;
                gap: 10px !important;
            }

            .score-circle-dashboard {
                padding: 12px !important;
            }

            .score-val {
                font-size: 1.7rem !important;
            }

            .pos-card {
                padding: 10px 12px !important;
            }

            .pos-val {
                font-size: 0.9rem !important;
            }

            .analysis-indicator-grid {
                grid-template-columns: 1fr !important;
                gap: 8px !important;
            }

            .ind-score-card {
                padding: 10px 12px !important;
            }

            .ind-title {
                font-size: 0.82rem !important;
            }

            .ind-score-badge {
                font-size: 1.15rem !important;
            }

            #radarChart {
                height: 210px !important;
            }

            .analysis-detail-grid {
                grid-template-columns: 1fr 1fr !important;
                gap: 6px !important;
            }

            /* 支付/激活弹窗 */
            .pay-panel {
                width: 98% !important;
                max-height: 96vh !important;
            }

            /* 版本更新说明弹窗 - 手机端完美适配 */
            #releaseNotesOverlay .help-modal {
                width: 96% !important;
                max-width: 96% !important;
                max-height: 92vh !important;
                padding: 16px 14px !important;
                border-radius: 14px !important;
            }

            #releaseNotesOverlay .help-modal>div:first-child {
                margin-bottom: 14px !important;
                padding-bottom: 10px !important;
                gap: 8px !important;
            }

            #releaseNotesOverlay .help-modal>div:first-child>div:first-child {
                gap: 8px !important;
                flex: 1 !important;
                min-width: 0 !important;
            }

            #releaseNotesOverlay .help-modal>div:first-child>div:first-child>div:first-child {
                font-size: 1.4rem !important;
            }

            #releaseNotesOverlay .help-modal>div:first-child h2 {
                font-size: 1.05rem !important;
                line-height: 1.3 !important;
            }

            #releaseNotesOverlay .help-modal>div:first-child h2+div {
                font-size: 0.72rem !important;
                margin-top: 3px !important;
                line-height: 1.4 !important;
            }

            #releaseNotesOverlay .help-modal>div:first-child>div:last-child {
                font-size: 1.3rem !important;
                flex-shrink: 0 !important;
                padding: 0 4px !important;
                line-height: 1 !important;
            }

            #releaseNotesOverlay .help-content>div {
                padding: 12px 12px !important;
                border-radius: 10px !important;
                margin-bottom: 12px !important;
            }

            #releaseNotesOverlay .help-content>div>div:first-child {
                flex-direction: column !important;
                align-items: flex-start !important;
                gap: 6px !important;
            }

            #releaseNotesOverlay .help-content>div>div:first-child>span:first-child {
                font-size: 0.8rem !important;
                padding: 3px 10px !important;
                white-space: normal !important;
                line-height: 1.3 !important;
            }

            #releaseNotesOverlay .help-content>div>div:first-child>span:last-child {
                font-size: 0.72rem !important;
                color: #94a3b8 !important;
            }

            #releaseNotesOverlay .help-content>div>h4 {
                font-size: 0.85rem !important;
                margin: 8px 0 6px !important;
                line-height: 1.4 !important;
            }

            #releaseNotesOverlay .help-content>div>p {
                font-size: 0.78rem !important;
                line-height: 1.6 !important;
                margin-bottom: 6px !important;
                word-wrap: break-word !important;
                overflow-wrap: break-word !important;
            }

            #releaseNotesOverlay .btn-action {
                margin-top: 14px !important;
                padding: 10px !important;
                font-size: 0.9rem !important;
            }

            .pay-header {
                padding: 16px 20px !important;
            }

            .pay-body {
                padding: 16px !important;
                gap: 16px !important;
            }

            .pay-pkg-grid {
                gap: 8px !important;
            }

            .pay-pkg-card {
                padding: 12px 8px !important;
            }

            .pay-pkg-price {
                font-size: 1.3rem !important;
            }

            .pay-qr-container {
                grid-template-columns: 1fr !important;
                text-align: center !important;
                gap: 16px !important;
                padding: 16px !important;
            }

            .pay-info-box {
                text-align: center !important;
                align-items: center !important;
            }

            /* ========== 微信/钉钉盘前挂单推送弹窗 手机端完美自适应适配 ========== */
            .push-order-card {
                width: 96% !important;
                max-width: 96% !important;
                max-height: 94vh !important;
                padding: 16px 14px 14px !important;
                border-radius: 16px !important;
            }

            .push-modal-header {
                margin-bottom: 12px !important;
                padding-bottom: 10px !important;
            }

            .push-modal-header > div:first-child {
                gap: 10px !important;
            }

            .push-header-icon {
                width: 36px !important;
                height: 36px !important;
                font-size: 1.15rem !important;
                border-radius: 10px !important;
            }

            .push-header-title {
                font-size: 1.05rem !important;
                line-height: 1.25 !important;
            }

            .push-vip-badge {
                font-size: 0.65rem !important;
                padding: 1px 6px !important;
            }

            .push-header-sub {
                font-size: 0.72rem !important;
                margin-top: 2px !important;
                line-height: 1.3 !important;
            }

            .push-section-item {
                margin-bottom: 12px !important;
            }

            #pushChannelGrid {
                gap: 6px !important;
            }

            .push-channel-card {
                padding: 8px 8px !important;
                border-radius: 10px !important;
            }

            .channel-card-head {
                flex-direction: column !important;
                align-items: flex-start !important;
                gap: 3px !important;
                margin-bottom: 2px !important;
            }

            .channel-title {
                font-size: 0.78rem !important;
                line-height: 1.2 !important;
            }

            .channel-badge {
                font-size: 0.6rem !important;
                padding: 1px 4px !important;
                white-space: nowrap !important;
                transform: scale(0.95);
                transform-origin: left center;
            }

            .channel-desc {
                font-size: 0.66rem !important;
                line-height: 1.3 !important;
                display: -webkit-box;
                -webkit-line-clamp: 2;
                line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }

            .push-stock-section {
                padding: 10px 10px !important;
                border-radius: 12px !important;
                margin-bottom: 12px !important;
            }

            #pushStockTagsBox {
                min-height: 38px !important;
                padding: 4px 6px !important;
                gap: 4px !important;
            }

            #pushStockTagInlineInput {
                font-size: 0.78rem !important;
                min-width: 100px !important;
                padding: 2px 4px !important;
            }

            .push-chips-wrapper {
                gap: 4px !important;
                margin-top: 6px !important;
            }

            .push-chip {
                font-size: 0.68rem !important;
                padding: 2px 6px !important;
            }

            #pushTokenInput {
                padding: 8px 10px !important;
                font-size: 0.8rem !important;
            }

            #pushTokenTip {
                font-size: 0.68rem !important;
                padding: 6px 8px !important;
                margin-top: 4px !important;
                line-height: 1.35 !important;
            }

            .push-footer-bar {
                flex-direction: column !important;
                align-items: stretch !important;
                gap: 8px !important;
                padding-top: 10px !important;
            }

            .push-footer-bar > div:first-child {
                justify-content: center !important;
                font-size: 0.72rem !important;
            }

            .push-btn-group {
                display: flex !important;
                gap: 6px !important;
                width: 100% !important;
            }

            .push-btn-group .btn-action {
                flex: 1 !important;
                padding: 8px 4px !important;
                font-size: 0.75rem !important;
                white-space: nowrap !important;
                text-align: center !important;
                justify-content: center !important;
                border-radius: 8px !important;
            }
        }

        @media (min-width: 481px) and (max-width: 1024px) {
            .hide-on-tiny {
                display: table-cell !important;
            }
        }

        /* ========== Professional Business Style ========== */

        /* Clean Card Style */
        .glass-card,
        .card {
            transition: box-shadow 0.2s ease;
        }

        .glass-card:hover,
        .card:hover {
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
        }

        /* Subtle Button Hover */
        .btn-action {
            transition: background-color 0.2s ease, border-color 0.2s ease;
        }

        /* Clean Input Focus */
        input:focus,
        select:focus {
            border-color: #4f46e5 !important;
            outline: none;
        }

        #historyBacktestList {
            display: flex;
            flex-direction: column;
            gap: 14px;
            padding-right: 12px;
            overflow-x: hidden;
        }

        .history-card {
            background: #ffffff !important;
            border: 1px solid #e8edf3 !important;
            border-radius: 12px !important;
            padding: 18px !important;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            gap: 12px;
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.01);
            color: var(--text-main);
            margin-right: 8px;
        }

        .history-card-hover:hover {
            border-color: var(--primary) !important;
            transform: translateY(-2px);
            box-shadow: 0 12px 20px -8px rgba(79, 70, 229, 0.15) !important;
        }

        .btn-history-load {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 4px;
            height: 28px;
            padding: 0 12px;
            font-size: 0.72rem;
            font-weight: 600;
            border-radius: 6px;
            border: 1px solid #c7d2fe;
            background: #eef2ff;
            color: #4f46e5;
            cursor: pointer;
            transition: all 0.2s ease;
            box-shadow: 0 1px 2px rgba(79, 70, 229, 0.05);
            white-space: nowrap;
        }

        .btn-history-load:hover {
            background: #4f46e5;
            color: #ffffff;
            border-color: #4f46e5;
            box-shadow: 0 4px 6px rgba(79, 70, 229, 0.2);
        }

        /* 彻底移除任何顶部消息/Toast浮层 */
        #toast,
        .toast,
        .toast-notification,
        div[id*="toast"],
        div[class*="toast"] {
            display: none !important;
            opacity: 0 !important;
            visibility: hidden !important;
            pointer-events: none !important;
        }

        .btn-history-delete {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            height: 28px;
            padding: 0 10px;
            font-size: 0.72rem;
            font-weight: 600;
            border-radius: 6px;
            border: 1px solid #fed7d7;
            background: #fff5f5;
            color: #ef4444;
            cursor: pointer;
            transition: all 0.2s ease;
            white-space: nowrap;
        }

        .btn-history-delete:hover {
            background: #ef4444;
            color: #ffffff;
            border-color: #ef4444;
            box-shadow: 0 4px 6px rgba(239, 68, 68, 0.2);
        }

        /* 历史回测模态框：移动端占满视口 */
        @media (max-width: 768px) {
            #historyBacktestModal>div {
                width: calc(100vw - 16px) !important;
                max-width: none !important;
                padding: 16px !important;
                max-height: 92vh !important;
                border-radius: 12px !important;
            }

            #historyBacktestModal h3 {
                font-size: 1rem !important;
            }

            #historyBacktestModal #historyBacktestPagination {
                flex-wrap: wrap !important;
            }
        }

        .text-emerald {
            color: #10b981 !important;
        }

        .text-rose {
            color: #ef4444 !important;
        }

        /* ======= 动态推演回放 (Simulation Playback) 样式 ======= */
        .trade-row-active {
            background: linear-gradient(90deg, rgba(99, 102, 241, 0.18), rgba(99, 102, 241, 0.04)) !important;
            border-left: 4px solid #4f46e5 !important;
            font-weight: 700 !important;
            transition: all 0.2s ease;
        }

        .trade-row-dimmed {
            opacity: 0.3 !important;
            filter: grayscale(80%);
            transition: opacity 0.2s ease;
        }

        #playbackTradeAlert {
            z-index: 20;
            pointer-events: none;
            border-radius: 8px;
            font-size: 0.8rem;
            font-weight: 700;
            line-height: 1.4;
            backdrop-filter: blur(8px);
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .trade-alert-buy {
            background: rgba(254, 242, 242, 0.95) !important;
            border: 1px solid #fca5a5 !important;
            color: #dc2626 !important;
        }

        .trade-alert-sell {
            background: rgba(236, 253, 245, 0.95) !important;
            border: 1px solid #6ee7b7 !important;
            color: #059669 !important;
        }

        .trade-alert-init {
            background: rgba(239, 246, 255, 0.95) !important;
            border: 1px solid #93c5fd !important;
            color: #2563eb !important;
        }

        /* 标的模糊搜索下拉 */
        .stock-suggest {
            position: absolute;
            top: calc(100% + 4px);
            left: 0;
            right: 0;
            z-index: 9999;
            max-height: 280px;
            overflow-y: auto;
            background: #fff;
            border: 1px solid #cbd5e1;
            border-radius: 10px;
            box-shadow: 0 12px 32px rgba(15, 23, 42, 0.2), 0 4px 10px rgba(15, 23, 42, 0.08);
            padding: 4px;
        }

        .stock-suggest .sg-item {
            display: flex;
            justify-content: space-between;
            gap: 10px;
            padding: 8px 10px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 0.85rem;
        }

        .stock-suggest .sg-item:hover,
        .stock-suggest .sg-item.active {
            background: #f1f5f9;
        }

        .stock-suggest .sg-code {
            font-family: monospace;
            font-weight: 700;
            color: #0f172a;
        }

        .stock-suggest .sg-name {
            color: #475569;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .stock-suggest .sg-empty {
            padding: 10px;
            color: #94a3b8;
            font-size: 0.8rem;
            text-align: center;
        }

/* ===== 以下为原正文内第二段样式（自助充值/推送弹窗），规则顺序保持不变 ===== */
        /* ======= 专业版功能专属提示 Modal ======= */
        .vip-prompt-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(15, 23, 42, 0.65);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            z-index: 5500;
            align-items: center;
            justify-content: center;
            padding: 16px;
        }

        .vip-prompt-card {
            background: #ffffff;
            width: 100%;
            max-width: 420px;
            border-radius: 20px;
            padding: 28px 24px 24px;
            position: relative;
            box-shadow: 0 25px 50px -12px rgba(79, 70, 229, 0.25), 0 10px 20px -5px rgba(0, 0, 0, 0.1);
            border: 1px solid rgba(226, 232, 240, 0.9);
            text-align: center;
            animation: vipSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
        }

        @keyframes vipSlideUp {
            from {
                transform: translateY(18px) scale(0.95);
                opacity: 0;
            }

            to {
                transform: translateY(0) scale(1);
                opacity: 1;
            }
        }

        .vip-prompt-close {
            position: absolute;
            top: 14px;
            right: 18px;
            font-size: 1.4rem;
            color: #94a3b8;
            cursor: pointer;
            width: 30px;
            height: 30px;
            line-height: 28px;
            border-radius: 50%;
            transition: all 0.15s ease;
        }

        .vip-prompt-close:hover {
            background: #f1f5f9;
            color: #334155;
        }

        .vip-prompt-icon-wrapper {
            width: 64px;
            height: 64px;
            margin: 0 auto 16px;
            background: linear-gradient(135deg, #e0e7ff 0%, #f3e8ff 100%);
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid #c7d2fe;
            box-shadow: 0 8px 16px rgba(79, 70, 229, 0.15);
        }

        .vip-prompt-icon {
            font-size: 2.2rem;
            animation: vipPulse 2s infinite ease-in-out;
        }

        @keyframes vipPulse {

            0%,
            100% {
                transform: scale(1);
            }

            50% {
                transform: scale(1.08);
            }
        }

        .vip-prompt-title {
            font-size: 1.25rem;
            font-weight: 800;
            color: #1e293b;
            margin: 0 0 10px;
            letter-spacing: -0.01em;
        }

        .vip-prompt-desc {
            font-size: 0.9rem;
            color: #475569;
            line-height: 1.5;
            margin: 0 0 18px;
        }

        .vip-prompt-benefits {
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 12px 16px;
            margin-bottom: 22px;
            text-align: left;
        }

        .benefit-item {
            font-size: 0.82rem;
            color: #334155;
            margin-bottom: 6px;
            line-height: 1.4;
        }

        .benefit-item:last-child {
            margin-bottom: 0;
        }

        .vip-prompt-actions {
            display: flex;
            gap: 12px;
            justify-content: center;
        }

        .btn-vip-cancel {
            flex: 1;
            padding: 11px 16px;
            background: #f1f5f9;
            color: #64748b;
            border: 1px solid #cbd5e1;
            border-radius: 12px;
            font-size: 0.88rem;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.15s ease;
        }

        .btn-vip-cancel:hover {
            background: #e2e8f0;
            color: #334155;
        }

        .btn-vip-upgrade {
            flex: 1.4;
            padding: 11px 18px;
            background: linear-gradient(135deg, #4f46e5 0%, #3730a3 100%);
            color: #ffffff;
            border: none;
            border-radius: 12px;
            font-size: 0.88rem;
            font-weight: 800;
            cursor: pointer;
            box-shadow: 0 4px 14px rgba(79, 70, 229, 0.4);
            transition: all 0.15s ease;
        }

        .btn-vip-upgrade:hover {
            transform: translateY(-1px);
            box-shadow: 0 6px 18px rgba(79, 70, 229, 0.5);
        }

        /* ======= 自助充值激活中心弹窗样式 ======= */
        .pay-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(15, 23, 42, 0.65);
            backdrop-filter: blur(8px);
            z-index: 5000;
            align-items: center;
            justify-content: center;
        }

        .pay-panel {
            background: #ffffff;
            width: 95%;
            max-width: 480px;
            border-radius: 24px;
            padding: 0;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.25);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            animation: payFadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        @keyframes payFadeIn {
            from {
                opacity: 0;
                transform: translateY(16px) scale(0.97);
            }

            to {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }

        .pay-header {
            padding: 20px 26px;
            border-bottom: 1px solid #f1f5f9;
            background: #ffffff;
            display: flex;
            justify-content: space-between;
            align-items: center;
            position: relative;
        }

        .pay-header h2 {
            font-size: 1.2rem;
            font-weight: 800;
            color: #0f172a;
            margin: 0;
            display: flex;
            align-items: center;
            gap: 8px;
            letter-spacing: 0.2px;
        }

        .pay-header .btn-close {
            background: #f1f5f9;
            border: none;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.1rem;
            color: #64748b;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .pay-header .btn-close:hover {
            background: #e2e8f0;
            color: #0f172a;
            transform: rotate(90deg);
        }

        .pay-body {
            padding: 24px 26px;
            display: flex;
            flex-direction: column;
            gap: 18px;
            background: #ffffff;
        }

        /* 授权用户状态卡片 */
        .pay-status-card {
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 14px;
            padding: 14px 18px;
            font-size: 0.85rem;
            transition: all 0.25s ease;
        }

        .pay-status-card:hover {
            border-color: #cbd5e1;
            background: #f1f5f9;
        }

        .pay-status-card strong {
            color: #0f172a;
            font-weight: 700;
            margin-left: 4px;
        }

        .pay-status-card span {
            color: #475569;
            font-weight: 500;
        }

        .pay-status-card .badge {
            padding: 4px 12px;
            font-weight: 700;
            border-radius: 20px;
            font-size: 0.75rem;
            letter-spacing: 0.5px;
            box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
            border: 1px solid rgba(0, 0, 0, 0.03);
            display: inline-block;
        }

        /* 激活码输入区域卡片 */
        .pay-input-card {
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 16px;
            padding: 18px;
            box-shadow: 0 4px 12px rgba(15, 23, 42, 0.015);
            display: flex;
            flex-direction: column;
            gap: 12px;
            transition: all 0.25s ease;
        }

        .pay-input-card:hover {
            border-color: #cbd5e1;
            box-shadow: 0 6px 16px rgba(15, 23, 42, 0.03);
        }

        .pay-input-card label {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 0.85rem;
            font-weight: 700;
            color: #334155;
            margin: 0;
            letter-spacing: 0.3px;
        }

        .pay-input-wrapper {
            position: relative;
            flex: 1;
            display: flex;
            align-items: center;
        }

        .pay-input-icon {
            position: absolute;
            left: 14px;
            color: #94a3b8;
            font-size: 0.95rem;
            pointer-events: none;
        }

        .pay-redeem-input {
            width: 100%;
            height: 44px;
            padding: 0 16px 0 42px;
            border: 1.5px solid #e2e8f0;
            border-radius: 12px;
            font-size: 0.88rem;
            font-weight: 500;
            outline: none;
            transition: all 0.25s ease;
            box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.02);
            background: #fdfdfd;
        }

        .pay-redeem-input:focus {
            border-color: #4f46e5;
            box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
            background: #ffffff;
        }

        .btn-redeem-submit {
            height: 44px;
            padding: 0 22px;
            background: linear-gradient(135deg, #4f46e5, #4338ca);
            color: white;
            border: none;
            border-radius: 12px;
            font-weight: 700;
            font-size: 0.88rem;
            cursor: pointer;
            transition: all 0.25s ease;
            box-shadow: 0 4px 14px rgba(79, 70, 229, 0.25);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
        }

        .btn-redeem-submit:hover {
            transform: translateY(-1.5px);
            box-shadow: 0 6px 18px rgba(79, 70, 229, 0.35);
        }

        .btn-redeem-submit:active {
            transform: translateY(0);
        }

        /* 快捷获取通道卡片 */
        .pay-channel-card {
            background: linear-gradient(135deg, #fffcf0 0%, #fef3c7 100%);
            border: 1px solid #fde68a;
            border-radius: 16px;
            padding: 18px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            box-shadow: 0 4px 12px rgba(251, 191, 36, 0.08);
            position: relative;
            overflow: hidden;
            transition: all 0.25s ease;
        }

        .pay-channel-card:hover {
            transform: translateY(-1.5px);
            box-shadow: 0 8px 20px rgba(251, 191, 36, 0.16);
            border-color: #fcd34d;
        }

        .pay-channel-info {
            display: flex;
            flex-direction: column;
            gap: 4px;
            z-index: 1;
        }

        .pay-channel-title {
            color: #b45309;
            font-weight: 800;
            font-size: 0.92rem;
            display: flex;
            align-items: center;
            gap: 6px;
            letter-spacing: 0.3px;
        }

        .pay-channel-desc {
            color: #d97706;
            font-size: 0.75rem;
            font-weight: 500;
        }

        .pay-channel-btn {
            background: linear-gradient(135deg, #f59e0b, #d97706);
            color: white !important;
            text-decoration: none;
            padding: 9px 20px;
            border-radius: 12px;
            font-weight: 700;
            font-size: 0.82rem;
            box-shadow: 0 4px 12px rgba(217, 119, 6, 0.25);
            transition: all 0.25s ease;
            z-index: 1;
            display: flex;
            align-items: center;
            gap: 4px;
            border: none;
        }

        .pay-channel-btn:hover {
            background: linear-gradient(135deg, #d97706, #b45309);
            transform: translateY(-1.5px);
            box-shadow: 0 6px 16px rgba(217, 119, 6, 0.4);
        }

        .pay-channel-bg-decor {
            position: absolute;
            right: -15px;
            bottom: -15px;
            font-size: 5rem;
            opacity: 0.08;
            transform: rotate(-15deg);
            user-select: none;
            pointer-events: none;
        }

        /* 激活说明卡片 */
        .pay-info-card {
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            border-radius: 16px;
            padding: 18px;
            font-size: 0.8rem;
            color: #475569;
            line-height: 1.6;
            transition: all 0.25s ease;
        }

        .pay-info-card:hover {
            border-color: #cbd5e1;
            background: #f1f5f9;
            box-shadow: 0 4px 12px rgba(15, 23, 42, 0.02);
        }

        /* ======= 历史回测与参数库卡片精细化样式 ======= */
        .history-card {
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 12px 14px;
            margin-bottom: 8px;
            box-shadow: 0 2px 6px rgba(15, 23, 42, 0.02);
            transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
        }

        .history-card-hover:hover {
            border-color: #cbd5e1;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
            transform: translateY(-2px);
        }

        .pay-info-title {
            font-weight: 800;
            color: #4f46e5;
            margin-bottom: 12px;
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 0.85rem;
            letter-spacing: 0.5px;
        }

        .pay-info-list {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .pay-info-item {
            display: flex;
            gap: 8px;
        }

        .pay-info-bullet {
            color: #4f46e5;
            font-weight: 700;
        }

        /* 下方的原本支付相关样式保留 */
        .pay-pkg-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 16px;
        }

        .pay-pkg-card {
            border: 2px solid #e2e8f0;
            border-radius: 16px;
            padding: 20px 16px;
            text-align: center;
            cursor: pointer;
            transition: all 0.25s ease;
            position: relative;
            background: #ffffff;
        }

        .pay-pkg-card:hover {
            border-color: #cbd5e1;
            transform: translateY(-2px);
        }

        .pay-pkg-card.active {
            border-color: #3b82f6;
            background: rgba(59, 130, 246, 0.02);
            box-shadow: 0 8px 20px rgba(59, 130, 246, 0.08);
        }

        .pay-pkg-card.active::before {
            content: '推荐';
            position: absolute;
            top: -12px;
            left: 50%;
            transform: translateX(-50%);
            background: linear-gradient(135deg, #3b82f6, #2563eb);
            color: white;
            font-size: 0.7rem;
            font-weight: 700;
            padding: 2px 8px;
            border-radius: 100px;
            letter-spacing: 0.5px;
        }

        .pay-pkg-card:nth-child(3).active::before {
            content: '终身无限';
        }

        .pay-pkg-card h3 {
            font-size: 0.95rem;
            font-weight: 700;
            color: #1e293b;
            margin-bottom: 6px;
        }

        .pay-pkg-price {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
            font-size: 1.8rem;
            font-weight: 800;
            color: #0f172a;
            margin-bottom: 6px;
            display: flex;
            align-items: baseline;
            justify-content: center;
        }

        .pay-pkg-price span {
            font-size: 0.9rem;
            font-weight: 600;
            color: #64748b;
            margin-left: 2px;
        }

        .pay-pkg-desc {
            font-size: 0.75rem;
            color: #64748b;
            line-height: 1.3;
        }

        .pay-channels {
            display: flex;
            gap: 12px;
            border-bottom: 1px solid #f1f5f9;
            padding-bottom: 16px;
        }

        .pay-channel-tab {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 12px;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            cursor: pointer;
            font-weight: 600;
            font-size: 0.9rem;
            transition: all 0.2s;
            background: #ffffff;
        }

        .pay-channel-tab.alipay.active {
            border-color: #1677ff;
            background: rgba(22, 119, 255, 0.03);
            color: #1677ff;
        }

        .pay-channel-tab.wechat.active {
            border-color: #07c160;
            background: rgba(7, 193, 96, 0.03);
            color: #07c160;
        }

        .pay-qr-container {
            display: grid;
            grid-template-columns: 200px 1fr;
            gap: 24px;
            align-items: center;
            background: #f8fafc;
            border-radius: 16px;
            padding: 24px;
            border: 1px solid #e2e8f0;
        }

        .pay-qr-box {
            background: #ffffff;
            padding: 10px;
            border-radius: 12px;
            box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .pay-qr-box::after {
            content: '';
            position: absolute;
            left: 10px;
            right: 10px;
            height: 2px;
            background: currentColor;
            opacity: 0.8;
            top: 10px;
            box-shadow: 0 0 8px currentColor;
            animation: qrScanLine 2s infinite ease-in-out;
        }

        @keyframes qrScanLine {
            0% {
                top: 10px;
            }

            50% {
                top: 140px;
            }

            100% {
                top: 10px;
            }
        }

        .pay-info-box {
            display: flex;
            flex-direction: column;
            gap: 12px;
            text-align: left;
        }

        .pay-info-price {
            font-size: 1.6rem;
            font-weight: 800;
            color: #0f172a;
        }

        .pay-info-order {
            font-size: 0.8rem;
            color: #64748b;
        }

        .pay-status-ticker {
            font-size: 0.85rem;
            color: #3b82f6;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 6px;
            margin: 4px 0 8px;
        }

        .btn-pay-simulate {
            width: 100%;
            padding: 12px;
            background: linear-gradient(135deg, #10b981, #059669);
            color: white;
            border: none;
            border-radius: 10px;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.2s;
            box-shadow: 0 4px 12px rgba(16, 185, 129, 0.15);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
        }

        .btn-pay-simulate:hover {
            transform: translateY(-1px);
            box-shadow: 0 6px 16px rgba(16, 185, 129, 0.25);
        }

        .pay-redeem-drawer {
            border-top: 1px dashed #e2e8f0;
            padding-top: 16px;
            text-align: center;
        }

        .pay-redeem-toggle {
            font-size: 0.8rem;
            color: #64748b;
            cursor: pointer;
            transition: color 0.2s;
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }

        .pay-redeem-toggle:hover {
            color: #3b82f6;
        }

        .pay-redeem-content {
            display: flex;
            margin-top: 12px;
            gap: 8px;
        }

        @keyframes pulse {
            0% {
                transform: scale(0.9);
                opacity: 0.6;
            }

            50% {
                transform: scale(1.1);
                opacity: 1;
            }

            100% {
                transform: scale(0.9);
                opacity: 0.6;
            }
        }

        /* ==================================================================
           内联样式外提 · 交互态 · 骨架屏 · 暗色模式
           1) u-* 通用工具类：替换页面中重复出现的静态内联样式；
           2) 交互态（hover）统一收敛到 CSS，不再由 JS 改 style；
           3) 骨架屏仅在回测请求进行中显示；
           4) 暗色模式由 <html data-theme="dark"> 切换，颜色优先取设计令牌。
           ================================================================== */

        /* ---------- 工具类：布局 ---------- */
        .u-flex { display: flex; align-items: center; }
        .u-inline-flex { display: inline-flex; align-items: center; }
        .u-flex-between { display: flex; align-items: center; justify-content: space-between; }
        .u-flex-1 { flex: 1; }
        .u-w-full { width: 100%; }
        .u-nowrap { white-space: nowrap; }
        .u-text-center { text-align: center; }
        .u-gap-4 { gap: 4px; }
        .u-gap-5 { gap: 5px; }
        .u-gap-6 { gap: 6px; }
        .u-gap-8 { gap: 8px; }
        .u-gap-10 { gap: 10px; }
        .u-mb-4 { margin-bottom: 4px; }
        .u-mb-6 { margin-bottom: 6px; }
        .u-mb-8 { margin-bottom: 8px; }
        .u-mb-10 { margin-bottom: 10px; }
        .u-mt-0 { margin-top: 0; }
        .u-mt-4 { margin-top: 4px; }
        .u-size-12 { width: 12px; height: 12px; flex: 0 0 12px; }

        /* ---------- 工具类：字体 / 颜色 ---------- */
        .u-fs-58 { font-size: 0.58rem; }
        .u-fs-60 { font-size: 0.6rem; }
        .u-fs-72 { font-size: 0.72rem; }
        .u-fs-75 { font-size: 0.75rem; }
        .u-fs-76 { font-size: 0.76rem; }
        .u-fs-80 { font-size: 0.8rem; }
        .u-fs-92 { font-size: 0.92rem; }
        .u-fs-95 { font-size: 0.95rem; }
        .u-fs-140 { font-size: 1.4rem; }
        .u-fw-600 { font-weight: 600; }
        .u-fw-700 { font-weight: 700; }
        .u-fw-800 { font-weight: 800; }
        .u-text-main { color: var(--text-main); }
        .u-text-body { color: var(--text-body); }
        .u-text-dim { color: var(--text-dim); }
        .u-text-light { color: var(--text-light); }

        /* ---------- 组件类：参数面板 ---------- */
        .param-title {
            font-size: 0.95rem;
            color: var(--text-main);
            margin: 10px 0 6px;
            font-weight: 700;
        }

        .param-subtitle {
            font-size: 0.9rem;
            color: var(--text-main);
            margin: 8px 0 6px;
            font-weight: 700;
        }

        .info-panel {
            margin-bottom: 20px;
            background: var(--card-bg);
            padding: 18px 20px;
            border-radius: 14px;
            border: 1px solid var(--border-color);
        }

        .badge-success {
            font-size: 0.9rem;
            font-weight: 700;
            color: #059669;
            background: #ecfdf5;
            padding: 3px 10px;
            border-radius: 20px;
            border: 1px solid #a7f3d0;
        }

        .badge-info {
            background: #e0f2fe;
            color: #0369a1;
            font-size: 0.68rem;
            font-weight: 700;
            padding: 2px 6px;
            border-radius: 4px;
            white-space: nowrap;
        }

        .hint-text {
            font-size: 0.8rem;
            color: var(--text-dim);
            font-weight: 600;
        }

        .hint-text-muted {
            font-size: 0.8rem;
            color: var(--text-light);
            font-weight: 600;
        }

        .field-label {
            font-size: 0.76rem;
            font-weight: 600;
            color: var(--text-main);
            display: block;
            margin-bottom: 1px;
        }

        .field-label--xs {
            font-size: 0.66rem;
        }

        .input-xs {
            height: 26px;
            font-size: 0.72rem;
        }

        .input-xs--narrow {
            width: 50px;
            text-align: center;
        }

        .grid-2 {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4px;
        }

        /* ---------- 组件类：按钮 / 卡片 / 提示 ---------- */
        .mini-btn {
            cursor: pointer;
            background: var(--card-bg);
            color: var(--text-body);
            border: 1px solid #cbd5e1;
            padding: 3px 9px;
            border-radius: 6px;
            font-size: 0.75rem;
            font-weight: 600;
            transition: all 0.2s;
        }

        .mini-btn:hover {
            border-color: var(--primary);
            color: var(--primary);
        }

        /* 参数面板底部的"淡色功能按钮"（原为内联渐变背景，深色模式需要另一套配色） */
        .btn-soft-warn {
            background: #fef3c7;
            color: #92400e;
            border-color: #fde68a;
            margin-top: 0;
        }

        .btn-soft-violet {
            background: linear-gradient(135deg, #ede9fe, #e0e7ff);
            color: #4338ca;
            border: 1px solid #c7d2fe;
            font-weight: 600;
            margin-bottom: 4px;
        }

        .btn-soft-blue {
            background: linear-gradient(135deg, #e0f2fe, #bae6fd);
            color: #0369a1;
            border: 1px solid #7dd3fc;
            font-weight: 600;
            margin-top: 4px;
            width: 100%;
        }

        .btn-soft-mint {
            background: linear-gradient(135deg, #ecfdf5, #d1fae5);
            color: #047857;
            border: 1px solid #6ee7b7;
            font-weight: 700;
            margin-top: 4px;
            width: 100%;
            box-shadow: 0 2px 4px rgba(16, 185, 129, 0.15);
        }

        .click-card {
            cursor: pointer;
            border: 1px solid var(--border-color);
            background: var(--bg-subtle);
            border-radius: 12px;
            padding: 12px 14px;
            position: relative;
            transition: all 0.2s;
        }

        .click-card:hover {
            border-color: var(--primary);
            box-shadow: var(--shadow-md);
        }

        .icon-btn-outline {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            border: 1px solid #cbd5e1;
            border-radius: 6px;
            background: var(--card-bg);
            color: var(--text-body);
            font-size: 0.85rem;
            cursor: pointer;
            transition: all 0.15s;
        }

        .icon-btn-outline:hover {
            border-color: var(--primary);
            color: var(--primary);
        }

        .stat-chip {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            background: var(--card-bg);
            border: 1px solid var(--border-color);
            padding: 3px 8px;
            border-radius: 6px;
            font-weight: 600;
            color: var(--text-body);
        }

        .card-details {
            margin-bottom: 14px;
            padding: 0;
        }

        .card-details > summary {
            margin: 0;
            padding: 14px;
            cursor: pointer;
            list-style: none;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px;
        }

        .card-details-body {
            padding: 0 14px 14px;
        }

        .summary-note {
            font-size: 0.72rem;
            color: var(--text-dim);
            font-weight: 400;
        }

        .chart-280 {
            width: 100%;
            height: 280px;
        }

        /* ---------- 组件类：弹窗 ---------- */
        .modal-header-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin: 0;
            border-bottom: 1px solid var(--border-color);
            padding-bottom: 16px;
        }

        .modal-title {
            font-size: 1.15rem;
            font-weight: 800;
            color: var(--text-main);
            margin: 0;
        }

        .modal-subtitle {
            font-size: 0.78rem;
            color: var(--text-dim);
            margin: 2px 0 0 0;
            font-weight: 500;
        }

        .modal-close-btn {
            background: #f1f5f9;
            border: none;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--text-dim);
            font-size: 1rem;
            cursor: pointer;
            transition: all 0.2s;
        }

        .modal-close-btn:hover {
            background: #e2e8f0;
            color: var(--text-main);
        }

        /* 弹窗右上角"×"（正文中的纯文本关闭按钮） */
        .close-icon {
            cursor: pointer;
            font-size: 1.5rem;
            color: var(--text-dim);
            line-height: 1;
        }

        .close-icon:hover {
            color: var(--danger);
        }

        /* 顶部快捷工具：胶囊形态（复用 .tool-icon-btn 基础样式） */
        .tool-icon-btn--pill {
            width: auto;
            padding: 0 11px;
            gap: 5px;
            border-radius: 100px;
        }

        /* ---------- 组件类：JS 动态生成的内容 ---------- */
        .stat-label {
            font-size: 0.65rem;
            color: var(--text-dim);
            margin-bottom: 2px;
            font-weight: 600;
        }

        .section-head {
            font-weight: 800;
            font-size: 0.92rem;
            margin-bottom: 6px;
            color: var(--text-dim);
        }

        .info-note {
            margin-top: 14px;
            padding: 12px 14px;
            border-radius: 10px;
            background: var(--bg-subtle);
            border: 1px solid var(--border-color);
        }

        .tip-list {
            font-size: 0.8rem;
            color: var(--text-dim);
            line-height: 1.9;
        }

        .note-brown {
            font-size: 0.75rem;
            color: #8b735b;
            margin-bottom: 4px;
        }

        /* ---------- 分页控件（hover 由 CSS 接管） ---------- */
        .pg-btn {
            padding: 4px 10px;
            font-size: 0.85rem;
            border: 1px solid #e2e8f0;
            background: var(--card-bg);
            color: var(--text-body);
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.2s;
            margin: 0 2px;
        }

        .pg-btn:hover:not(:disabled):not(.is-active) {
            border-color: var(--primary);
            color: var(--primary);
        }

        .pg-btn.is-active {
            background: var(--primary);
            border-color: var(--primary);
            color: #ffffff;
            font-weight: 700;
            cursor: default;
        }

        .pg-btn:disabled {
            opacity: 0.4;
            background: #f1f5f9;
            cursor: not-allowed;
        }

        .pg-ellipsis {
            padding: 4px 8px;
            font-size: 0.85rem;
            color: var(--text-light);
            display: inline-block;
            align-self: center;
        }

        /* 推送标的标签上的删除按钮（hover 由 CSS 控制，替换原 JS 的 onmouseover） */
        .push-tag-close {
            cursor: pointer;
            font-size: 0.85rem;
            color: #93c5fd;
            font-weight: 800;
            margin-left: 2px;
            border-radius: 4px;
            padding: 0 2px;
            transition: color 0.15s;
        }

        .push-tag-close:hover {
            color: #ef4444;
        }

        /* ---------- 加载骨架态 ---------- */
        .result-skeleton {
            display: none;
        }

        .main-content.is-loading > .result-skeleton {
            display: block;
        }

        /* 加载中隐藏旧结果，避免旧图表与新一次回测的数字混在一起 */
        .main-content.is-loading > :not(.result-skeleton) {
            display: none !important;
        }

        .sk-kpi-row {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 12px;
            margin-bottom: 12px;
        }

        .sk-kpi {
            height: 76px;
            border-radius: 12px;
        }

        .sk-panel {
            border-radius: 12px;
            margin-bottom: 14px;
        }

        .sk-panel--chart {
            height: 330px;
        }

        .sk-panel--list {
            padding: 14px;
        }

        .sk-line {
            height: 14px;
            border-radius: 6px;
            margin-bottom: 10px;
        }

        .sk-line:last-child {
            margin-bottom: 0;
            width: 60%;
        }

        .sk-kpi,
        .sk-panel,
        .sk-line {
            background: linear-gradient(90deg, #e6edf7 25%, #f4f8fd 37%, #e6edf7 63%);
            background-size: 400% 100%;
            animation: sk-shimmer 1.4s ease infinite;
        }

        /* 列表骨架里的横条需要比底板深一点，否则和 .sk-panel 同色看不出来 */
        .sk-panel .sk-line {
            background: linear-gradient(90deg, #d9e4f2 25%, #eef4fb 37%, #d9e4f2 63%);
            background-size: 400% 100%;
        }

        @keyframes sk-shimmer {
            0% { background-position: 100% 50%; }
            100% { background-position: 0 50%; }
        }

        @media (prefers-reduced-motion: reduce) {
            .sk-kpi,
            .sk-panel,
            .sk-line {
                animation: none;
            }
        }

        @media (max-width: 640px) {
            .sk-kpi-row {
                grid-template-columns: repeat(2, 1fr);
            }

            .sk-panel--chart {
                height: 220px;
            }
        }

        /* ---------- 暗色模式 ---------- */
        /* index.css 靠后的 :root{color-scheme:light} 会盖掉 theme.css 里的同名声明，这里补一条更靠后的 */
        [data-theme="dark"] {
            color-scheme: dark;
        }

        [data-theme="dark"] body {
            background: var(--bg-main);
        }

        [data-theme="dark"] .app-header {
            background: rgba(17, 24, 39, 0.92);
            border-color: var(--card-border);
        }

        [data-theme="dark"] .nav-link-tab.active {
            background: #1e293b;
            color: #a5b4fc;
            box-shadow: none;
        }

        [data-theme="dark"] .header-nav-tabs {
            background: #0f172a;
            border-color: var(--card-border);
        }

        /* 品牌标题是渐变裁切文字，只改 color 无效，需要换掉渐变本身 */
        [data-theme="dark"] .brand-main-title {
            background: linear-gradient(135deg, #e2e8f0 30%, #94a3b8 100%);
            -webkit-background-clip: text;
            background-clip: text;
        }

        [data-theme="dark"] .btn-save,
        [data-theme="dark"] .btn-load,
        [data-theme="dark"] .btn-collect {
            background: #16233a;
            border-color: var(--card-border);
            color: var(--text-body);
        }

        [data-theme="dark"] .btn-save:hover,
        [data-theme="dark"] .btn-load:hover,
        [data-theme="dark"] .btn-collect:hover {
            background: #1e293b;
        }

        [data-theme="dark"] .btn-soft-warn {
            background: rgba(245, 158, 11, 0.16);
            color: #fbbf24;
            border-color: rgba(245, 158, 11, 0.35);
        }

        [data-theme="dark"] .btn-soft-violet {
            background: rgba(139, 92, 246, 0.16);
            color: #c4b5fd;
            border-color: rgba(139, 92, 246, 0.35);
        }

        [data-theme="dark"] .btn-soft-blue {
            background: rgba(14, 165, 233, 0.16);
            color: #7dd3fc;
            border-color: rgba(14, 165, 233, 0.35);
        }

        [data-theme="dark"] .btn-soft-mint {
            background: rgba(16, 185, 129, 0.16);
            color: #6ee7b7;
            border-color: rgba(16, 185, 129, 0.35);
            box-shadow: none;
        }

        [data-theme="dark"] .stock-suggest {
            background: #16233a;
            border-color: var(--card-border);
        }

        [data-theme="dark"] .tool-icon-btn,
        [data-theme="dark"] .profile-capsule-btn,
        [data-theme="dark"] .header-stock-pill,
        [data-theme="dark"] .profile-dropdown-menu {
            background: #16233a;
            border-color: var(--card-border);
            color: var(--text-main);
        }

        [data-theme="dark"] .profile-name,
        [data-theme="dark"] .dropdown-user-name,
        [data-theme="dark"] .brand-main-title {
            color: var(--text-main);
        }

        [data-theme="dark"] .dropdown-item {
            color: var(--text-body);
        }

        [data-theme="dark"] .dropdown-item:hover {
            background: #1e293b;
        }

        [data-theme="dark"] .dropdown-divider {
            background: var(--card-border);
        }

        [data-theme="dark"] .glass-card {
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
        }

        [data-theme="dark"] .summary-item,
        [data-theme="dark"] .summary-item.kpi-profit,
        [data-theme="dark"] .summary-item.kpi-return,
        [data-theme="dark"] .summary-item.kpi-sharpe,
        [data-theme="dark"] .summary-item.kpi-drawdown {
            background: var(--card-bg);
            border-color: var(--card-border);
            box-shadow: none;
        }

        [data-theme="dark"] .summary-sub-tag {
            background: #1e293b;
            color: var(--text-dim);
        }

        [data-theme="dark"] .table-container,
        [data-theme="dark"] table {
            background: var(--card-bg);
        }

        [data-theme="dark"] th {
            background: #0f172a;
            color: var(--text-dim);
        }

        [data-theme="dark"] tr:hover td {
            background: rgba(255, 255, 255, 0.04);
        }

        [data-theme="dark"] input,
        [data-theme="dark"] select,
        [data-theme="dark"] textarea {
            background: #16233a;
            color: var(--text-main);
            border-color: var(--card-border);
            box-shadow: none;
        }

        [data-theme="dark"] input:focus,
        [data-theme="dark"] select:focus,
        [data-theme="dark"] textarea:focus {
            background: #16233a;
        }

        [data-theme="dark"] .loader-overlay {
            background: rgba(11, 18, 32, 0.78);
        }

        [data-theme="dark"] .pwd-modal,
        [data-theme="dark"] .pay-body,
        [data-theme="dark"] .pay-input-card {
            background: var(--card-bg);
            border-color: var(--card-border);
        }

        /* 各类弹窗（帮助 / 更新 / 加群 / 分析报告 / 推送设置）的底色 */
        [data-theme="dark"] .help-modal,
        [data-theme="dark"] .analysis-modal {
            background: var(--card-bg);
        }

        /* 推送设置弹窗底色写在内联 style 里，只能用 !important 覆盖 */
        [data-theme="dark"] .push-order-card {
            background: var(--card-bg) !important;
            box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.6), 0 0 0 1px var(--card-border) !important;
        }

        [data-theme="dark"] .advice-card {
            background: var(--bg-subtle);
            border-color: var(--card-border);
        }

        [data-theme="dark"] .advice-card h4 {
            color: var(--text-dim);
        }

        [data-theme="dark"] .stock-suggest .sg-item:hover,
        [data-theme="dark"] .stock-suggest .sg-item.active {
            background: #1e293b;
        }

        [data-theme="dark"] .badge-success {
            background: rgba(16, 185, 129, 0.14);
            color: #34d399;
            border-color: rgba(16, 185, 129, 0.35);
        }

        [data-theme="dark"] .badge-info {
            background: rgba(14, 165, 233, 0.16);
            color: #38bdf8;
        }

        [data-theme="dark"] .modal-close-btn,
        [data-theme="dark"] .modal-close-btn:hover {
            background: #1e293b;
            color: var(--text-main);
        }

        [data-theme="dark"] .pg-btn {
            border-color: var(--card-border);
        }

        [data-theme="dark"] .pg-btn:disabled {
            background: #1e293b;
        }

        [data-theme="dark"] .mini-btn,
        [data-theme="dark"] .icon-btn-outline {
            border-color: var(--card-border);
        }

        [data-theme="dark"] .sk-kpi,
        [data-theme="dark"] .sk-panel {
            background: linear-gradient(90deg, #131f33 25%, #1c2b45 37%, #131f33 63%);
            background-size: 400% 100%;
        }

        [data-theme="dark"] .sk-panel .sk-line {
            background: linear-gradient(90deg, #1c2b45 25%, #26364f 37%, #1c2b45 63%);
            background-size: 400% 100%;
        }
