.market-switch-wrap[data-v-0cba4b62]{display:inline-block}.market-switch[data-v-0cba4b62]{min-width:96px}.market-pref-link[data-v-0cba4b62]{color:#69b1ff;text-decoration:underline;cursor:pointer}.theme-toggle[data-v-26f5610f]{color:var(--qf-text-secondary);font-size:16px;min-width:32px}.qf-header[data-v-56c605fc]{height:var(--qf-header-h);background:var(--qf-bg-secondary);border-bottom:1px solid var(--qf-border);display:flex;align-items:center;padding:0 20px;flex-shrink:0}.header-left[data-v-56c605fc]{display:flex;align-items:center;gap:16px}.header-page-title[data-v-56c605fc]{font-size:15px;font-weight:600;color:var(--qf-text-primary)}.header-right[data-v-56c605fc]{margin-left:auto;display:flex;align-items:center;gap:12px}.market-ticker[data-v-56c605fc]{display:flex;gap:14px;font-size:12px;color:var(--qf-text-secondary)}.ticker-item[data-v-56c605fc]{white-space:nowrap}.ticker-val[data-v-56c605fc]{margin-left:4px;font-weight:500}.ticker-muted[data-v-56c605fc]{color:var(--qf-text-muted)}.ticker-up[data-v-56c605fc]{color:var(--qf-green)}.ticker-down[data-v-56c605fc]{color:var(--qf-red)}.user-avatar[data-v-56c605fc]{width:30px;height:30px;border-radius:50%;background:var(--qf-accent);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600;cursor:pointer}.logout-item[data-v-56c605fc]{color:var(--qf-red)}@media(max-width:960px){.market-ticker[data-v-56c605fc]{display:none}}.qf-sidebar[data-v-b0b14390]{width:var(--qf-sidebar-w);background:var(--qf-bg-secondary);border-right:1px solid var(--qf-border);display:flex;flex-direction:column;flex-shrink:0;position:relative;transition:width .2s}.sidebar-logo[data-v-b0b14390]{padding:16px 18px;border-bottom:1px solid var(--qf-border);display:flex;align-items:center;gap:10px;cursor:pointer}.logo-icon[data-v-b0b14390]{width:32px;height:32px;background:linear-gradient(135deg,var(--qf-accent),var(--qf-purple));border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:14px;flex-shrink:0}.logo-text[data-v-b0b14390]{font-size:15px;font-weight:700;color:var(--qf-text-primary)}.logo-sub[data-v-b0b14390]{font-size:10px;color:var(--qf-text-muted)}.sidebar-nav[data-v-b0b14390]{flex:1;overflow-y:auto;padding:8px 0}.nav-group-label[data-v-b0b14390]{padding:8px 18px 4px;font-size:10px;color:var(--qf-text-muted);text-transform:uppercase;letter-spacing:1px}.nav-item[data-v-b0b14390]{display:flex;align-items:center;gap:10px;padding:9px 18px;color:var(--qf-text-secondary);transition:all .15s;font-size:13px;border-left:3px solid transparent;text-decoration:none}.nav-item[data-v-b0b14390]:hover{background:var(--qf-bg-hover);color:var(--qf-text-primary)}.nav-item.active[data-v-b0b14390]{background:color-mix(in srgb,var(--qf-accent) 8%,transparent);color:var(--qf-accent);border-left-color:var(--qf-accent)}.nav-icon[data-v-b0b14390]{font-size:16px;width:20px}.collapse-btn[data-v-b0b14390]{position:absolute;right:-12px;top:72px;width:24px;height:24px;border-radius:50%;border:1px solid var(--qf-border);background:var(--qf-bg-card);color:var(--qf-text-secondary);cursor:pointer;font-size:12px;line-height:1;z-index:2}.sidebar-footer[data-v-b0b14390]{padding:12px 18px;border-top:1px solid var(--qf-border)}.status-dot[data-v-b0b14390]{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.status-dot.ok[data-v-b0b14390]{background:var(--qf-green);box-shadow:0 0 6px var(--qf-green)}.status-dot.warn[data-v-b0b14390]{background:var(--qf-yellow)}.status-text[data-v-b0b14390]{font-size:11px;color:var(--qf-text-muted)}.dev-banner[data-v-ffa02211]{margin-bottom:12px}.wizard-actions[data-v-ac798d76]{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.unit[data-v-ac798d76]{margin-left:8px;color:var(--qf-text-muted)}.field-hint[data-v-ac798d76]{margin-top:6px;font-size:12px;color:var(--qf-text-muted)}.qf-app[data-v-43195219]{display:flex;height:100vh;overflow:hidden;background:var(--qf-bg-primary);background-image:var(--qf-gradient-hero);background-size:cover;background-attachment:fixed;position:relative}.qf-app[data-v-43195219]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--qf-bg-primary);opacity:.95;z-index:0;pointer-events:none}.qf-app[data-v-43195219]>*{position:relative;z-index:1}[data-theme=dark] .qf-app[data-v-43195219]:before{opacity:.92}.qf-app.sidebar-collapsed[data-v-43195219]{--qf-sidebar-w: 68px}.qf-main-wrap[data-v-43195219]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.qf-content[data-v-43195219]{flex:1;overflow-y:auto;padding:20px;background:var(--qf-content-bg);box-shadow:inset 0 1px 3px #0000000d}.paper-auto-status[data-v-de3fdbdd]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:16px;padding:10px 14px;border-radius:8px;border:1px dashed var(--qf-border);background:var(--qf-bg-elevated, transparent);font-size:13px}.paper-auto-status.is-banner[data-v-de3fdbdd]{margin:0;padding:6px 20px;border-radius:0;border:none;border-bottom:1px solid var(--qf-border);background:var(--qf-track-paper-bg, rgba(6, 182, 212, .08));font-size:12px}.dot[data-v-de3fdbdd]{width:8px;height:8px;border-radius:50%;background:var(--qf-text-muted, #999);flex-shrink:0}.paper-auto-status[data-state=running_sync] .dot[data-v-de3fdbdd],.paper-auto-status[data-state=running_async] .dot[data-v-de3fdbdd]{background:var(--qf-track-paper, #0891b2);box-shadow:0 0 0 0 var(--qf-track-paper, #0891b2);animation:pulse-dot-de3fdbdd 1.4s ease-out infinite}.paper-auto-status[data-state=running_async] .dot[data-v-de3fdbdd],.paper-auto-status[data-state=prefer_async] .dot[data-v-de3fdbdd]{background:var(--qf-track-shadow, #7c3aed)}.label[data-v-de3fdbdd]{font-weight:600;color:var(--qf-text-primary)}.meta[data-v-de3fdbdd]{color:var(--qf-text-secondary, #666)}.equity[data-v-de3fdbdd]{font-variant-numeric:tabular-nums}.hint[data-v-de3fdbdd]{flex:1 1 100%;color:var(--qf-text-muted, #999);font-size:12px}@keyframes pulse-dot-de3fdbdd{0%{box-shadow:0 0 #0891b273}70%{box-shadow:0 0 0 8px #0891b200}to{box-shadow:0 0 #0891b200}}.global-peek[data-v-500370a0]{margin:0 0 8px;padding:0 8px;background:var(--qf-bg-card, transparent);border-bottom:1px solid var(--qf-border)}.peek-card[data-v-500370a0]{padding:12px 14px;border-radius:8px;border:1px solid var(--qf-border);background:var(--qf-bg-elevated, transparent);cursor:pointer;transition:border-color .15s;min-height:88px}.peek-card[data-v-500370a0]:hover{border-color:var(--qf-accent)}.peek-label[data-v-500370a0]{font-size:12px;color:var(--qf-text-muted);margin-bottom:6px}.peek-value[data-v-500370a0]{font-size:20px;font-weight:700;color:var(--qf-text-primary);font-variant-numeric:tabular-nums}.peek-hint[data-v-500370a0]{margin-top:6px;font-size:11px;color:var(--qf-text-secondary)}.paper-market-switch[data-v-a17c7f0b]{min-width:110px}.single-hint[data-v-a17c7f0b]{font-size:11px;color:var(--qf-text-secondary);white-space:nowrap}.paper-layout[data-v-ffe22a39]{min-height:100vh;background:var(--qf-content-bg)}.paper-banner[data-v-ffe22a39]{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--qf-yellow-bg);border-bottom:2px solid var(--qf-yellow);color:var(--qf-text-primary)}.market-hint[data-v-ffe22a39]{font-size:12px;color:var(--qf-text-secondary)}.paper-body[data-v-ffe22a39]{padding:16px 24px;max-width:1400px;margin:0 auto}.paper-head[data-v-ffe22a39]{margin-bottom:8px}.paper-title[data-v-ffe22a39]{margin:0;font-size:20px;font-weight:600}.paper-sub[data-v-ffe22a39]{margin:4px 0 12px;color:var(--qf-text-secondary);font-size:13px}.debug-nav[data-v-ffe22a39]{margin-bottom:16px}.user-layout[data-v-4c58b62c]{min-height:100vh;display:grid;place-items:center;background:var(--qf-bg-primary);position:relative}.layout-theme-toggle[data-v-4c58b62c]{position:absolute;top:16px;right:16px}:root,:root[data-theme=light]{--qf-bg-primary: #f5f7fa;--qf-bg-secondary: #ffffff;--qf-bg-card: #ffffff;--qf-bg-hover: #f0f2f5;--qf-bg-elevated: #f9fafb;--qf-border: #e5e7eb;--qf-text-primary: #111827;--qf-text-secondary: #4b5563;--qf-text-muted: #9ca3af;--qf-accent: #6366f1;--qf-accent-hover: #4f46e5;--qf-accent-light: #818cf8;--qf-accent-dark: #4f46e5;--qf-gradient-primary: linear-gradient(135deg, #6366f1, #8b5cf6);--qf-gradient-success: linear-gradient(135deg, #11998e, #38ef7d);--qf-gradient-hero: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--qf-green: #10b981;--qf-green-bg: rgba(16, 185, 129, .12);--qf-red: #ef4444;--qf-red-bg: rgba(239, 68, 68, .12);--qf-yellow: #f59e0b;--qf-yellow-bg: rgba(245, 158, 11, .12);--qf-purple: #8b5cf6;--qf-cyan: #06b6d4;--qf-market-up: #ef4444;--qf-market-down: #16a34a;--qf-market-up-crypto: #16a34a;--qf-market-down-crypto: #ef4444;--qf-signal-buy: #22c55e;--qf-signal-sell: #ef4444;--qf-signal-hold: #fbbf24;--qf-chart-benchmark: #ff9900;--qf-chart-grid: rgba(0, 0, 0, .06);--qf-track-backtest: #6366f1;--qf-track-backtest-bg: rgba(99, 102, 241, .12);--qf-track-paper: #06b6d4;--qf-track-paper-bg: rgba(6, 182, 212, .12);--qf-track-live: #10b981;--qf-track-live-bg: rgba(16, 185, 129, .12);--qf-track-shadow: #8b5cf6;--qf-track-shadow-bg: rgba(139, 92, 246, .12);--qf-agent-demo-accent: #ff5a1f;--qf-agent-demo-bg: rgba(255, 90, 31, .08);--qf-sidebar-w: 230px;--qf-header-h: 56px;--qf-content-bg: #f5f7fa;--qf-shadow: 0 1px 2px rgba(0, 0, 0, .04);--qf-shadow-lg: 0 8px 32px rgba(99, 102, 241, .15)}:root[data-theme=dark]{--qf-bg-primary: #0a0e17;--qf-bg-secondary: #111827;--qf-bg-card: #1a2332;--qf-bg-hover: #243044;--qf-bg-elevated: #1f2937;--qf-border: #2d3a4a;--qf-text-primary: #e5e7eb;--qf-text-secondary: #9ca3af;--qf-text-muted: #6b7280;--qf-accent: #818cf8;--qf-accent-hover: #6366f1;--qf-accent-light: #a78bfa;--qf-accent-dark: #4f46e5;--qf-gradient-primary: linear-gradient(135deg, #6366f1, #8b5cf6);--qf-gradient-success: linear-gradient(135deg, #11998e, #38ef7d);--qf-gradient-hero: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--qf-green: #10b981;--qf-green-bg: rgba(16, 185, 129, .1);--qf-red: #ef4444;--qf-red-bg: rgba(239, 68, 68, .1);--qf-yellow: #f59e0b;--qf-yellow-bg: rgba(245, 158, 11, .1);--qf-purple: #8b5cf6;--qf-cyan: #06b6d4;--qf-market-up: #ef4444;--qf-market-down: #16a34a;--qf-market-up-crypto: #16a34a;--qf-market-down-crypto: #ef4444;--qf-signal-buy: #22c55e;--qf-signal-sell: #ef4444;--qf-signal-hold: #fbbf24;--qf-chart-benchmark: #ff9900;--qf-chart-grid: rgba(255, 255, 255, .08);--qf-track-backtest: #818cf8;--qf-track-backtest-bg: rgba(129, 140, 248, .15);--qf-track-paper: #22d3ee;--qf-track-paper-bg: rgba(34, 211, 238, .12);--qf-track-live: #34d399;--qf-track-live-bg: rgba(52, 211, 153, .12);--qf-track-shadow: #a78bfa;--qf-track-shadow-bg: rgba(167, 139, 250, .15);--qf-agent-demo-accent: #ff5a1f;--qf-agent-demo-bg: rgba(255, 90, 31, .12);--qf-content-bg: #0a0e17;--qf-shadow: none;--qf-shadow-lg: 0 8px 32px rgba(99, 102, 241, .3)}.qf-glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}[data-theme=dark] .qf-glass,.qf-glass-dark{background:#1a2332b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.qf-glass-strong{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 12px 40px #00000026}[data-theme=dark] .qf-glass-strong,.qf-glass-strong-dark{background:#1a2332d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);box-shadow:0 12px 40px #0006}.qf-glass-light{background:#ffffff80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 16px #00000014}[data-theme=dark] .qf-glass-light,.qf-glass-light-dark{background:#1a233280;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 16px #0003}.qf-card-glass{background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);border-radius:12px;box-shadow:0 8px 32px #6366f11a;transition:all .3s ease}.qf-card-glass:hover{background:#ffffffbf;box-shadow:0 12px 40px #6366f133;transform:translateY(-2px)}[data-theme=dark] .qf-card-glass:hover{background:#1a2332bf;box-shadow:0 12px 40px #0006}.qf-sidebar-glass{background:#fffc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid rgba(255,255,255,.2)}[data-theme=dark] .qf-sidebar-glass{background:#0a0e17d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid rgba(255,255,255,.08)}.qf-header-glass{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.2)}[data-theme=dark] .qf-header-glass{background:#0a0e17cc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}.qf-modal-glass .ant-modal-content{background:#ffffffd9!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.3)!important}[data-theme=dark] .qf-modal-glass .ant-modal-content{background:#1a2332e6!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.1)!important}.qf-app-gradient{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.qf-gradient-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.qf-gradient-primary-hover:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.qf-gradient-success{background:linear-gradient(135deg,#11998e,#38ef7d)}.qf-gradient-warning{background:linear-gradient(135deg,#f093fb,#f5576c)}.qf-gradient-info{background:linear-gradient(135deg,#4facfe,#00f2fe)}.qf-gradient-dark{background:linear-gradient(135deg,#0a0e17,#1a2332)}.qf-card-gradient{background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border:1px solid rgba(99,102,241,.1)}[data-theme=dark] .qf-card-gradient{background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:1px solid rgba(99,102,241,.2)}.qf-btn-gradient{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;border:none!important;color:#fff!important;box-shadow:0 4px 12px #6366f166;transition:all .3s ease}.qf-btn-gradient:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed)!important;box-shadow:0 6px 20px #6366f199;transform:translateY(-1px)}.qf-btn-gradient:active{transform:translateY(0)}.qf-sidebar-gradient{background:linear-gradient(180deg,#1a2332,#0a0e17)}.qf-header-gradient{background:linear-gradient(90deg,#6366f105,#8b5cf605)}[data-theme=dark] .qf-header-gradient{background:linear-gradient(90deg,#6366f10d,#8b5cf60d)}.qf-kpi-gradient-border{position:relative;background:var(--qf-bg-card);border-radius:12px;padding:1px}.qf-kpi-gradient-border:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:12px;padding:2px;background:linear-gradient(135deg,#6366f1,#8b5cf6,#ec4899);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease}.qf-kpi-gradient-border:hover:before{opacity:1}.qf-chart-gradient{background:linear-gradient(180deg,rgba(99,102,241,.03) 0%,transparent 100%)}[data-theme=dark] .qf-chart-gradient{background:linear-gradient(180deg,rgba(99,102,241,.08) 0%,transparent 100%)}.qf-text-gradient{background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .qf-text-gradient{background:linear-gradient(135deg,#818cf8,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.qf-shadow-gradient{box-shadow:0 4px 20px #6366f126}[data-theme=dark] .qf-shadow-gradient{box-shadow:0 4px 20px #6366f14d}.ant-btn{position:relative;overflow:hidden}.ant-btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s;pointer-events:none}.ant-btn:active:after{width:200%;height:200%}.ant-btn-primary:after{background:#ffffff4d}.ant-btn-default:after{background:#6366f133}.qf-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.qf-card:hover{transform:translateY(-4px);box-shadow:var(--qf-shadow-lg)}.qf-kpi-card{transition:all .3s cubic-bezier(.4,0,.2,1);cursor:default}.qf-kpi-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 24px #6366f133}.qf-kpi-card:active{transform:translateY(-2px) scale(.98)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.qf-animate-fade-in-up{animation:fadeInUp .5s ease forwards}.qf-animate-fade-in-down{animation:fadeInDown .5s ease forwards}.qf-animate-fade-in-left{animation:fadeInLeft .5s ease forwards}.qf-animate-fade-in-right{animation:fadeInRight .5s ease forwards}.qf-animate-scale-in{animation:scaleIn .4s ease forwards}.qf-delay-1{animation-delay:.1s;opacity:0}.qf-delay-2{animation-delay:.2s;opacity:0}.qf-delay-3{animation-delay:.3s;opacity:0}.qf-delay-4{animation-delay:.4s;opacity:0}.qf-delay-5{animation-delay:.5s;opacity:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.qf-skeleton{background:linear-gradient(90deg,var(--qf-bg-hover) 25%,var(--qf-bg-card) 50%,var(--qf-bg-hover) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.qf-spin{animation:spin 1s linear infinite}.qf-bounce{animation:bounce 1s infinite}.qf-chart-container{transition:all .3s ease}.qf-chart-container:hover{box-shadow:0 4px 12px #6366f126}.qf-kline-container{position:relative;overflow:hidden}.qf-kline-container:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(99,102,241,.05),transparent);animation:shimmer 3s infinite;pointer-events:none}.ant-table-tbody>tr:hover>td{background:var(--qf-bg-hover)!important;transition:background .2s ease}.ant-menu-item:hover{transition:all .3s ease!important}.ant-tabs-tab:hover{transition:all .3s ease;color:var(--qf-accent)!important}.ant-input:focus,.ant-input-focused{transition:all .3s ease;box-shadow:0 0 0 2px #6366f133!important}.ant-select-focused .ant-select-selector{transition:all .3s ease;box-shadow:0 0 0 2px #6366f133!important}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--qf-border);border-radius:3px;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:var(--qf-text-muted)}.ant-notification-notice{animation:fadeInRight .3s ease}.ant-modal-wrap{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ant-drawer-wrapper-body{animation:fadeInRight .3s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:768px){.qf-card:hover{transform:translateY(-2px)}.qf-kpi-card:hover{transform:translateY(-3px) scale(1.01)}}.qf-card{transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--qf-border);border-radius:12px;background:var(--qf-bg-card)}.qf-card:hover{transform:translateY(-4px);box-shadow:var(--qf-shadow-lg);border-color:var(--qf-accent)}.qf-card-glass{background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);border-radius:12px;box-shadow:0 8px 32px #6366f11a;transition:all .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .qf-card-glass{background:#1a233299;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.qf-card-glass:hover{background:#ffffffbf;box-shadow:0 12px 40px #6366f133;transform:translateY(-2px);border-color:#6366f14d}[data-theme=dark] .qf-card-glass:hover{background:#1a2332bf;box-shadow:0 12px 40px #0006;border-color:#6366f14d}.qf-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;padding:20px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-7-3{display:grid;grid-template-columns:7fr 3fr;gap:20px}@media(min-width:1200px){.qf-content{padding:24px;width:100%;max-width:none;margin:0}.kpi-row{grid-template-columns:repeat(5,1fr);gap:20px}}@media(max-width:1199px)and (min-width:992px){.qf-content{padding:20px}.grid-7-3{grid-template-columns:6fr 4fr}}@media(max-width:991px)and (min-width:768px){.qf-content{padding:16px}.grid-2,.grid-7-3{grid-template-columns:1fr}.kpi-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.qf-content{padding:12px}.grid-2,.grid-7-3{grid-template-columns:1fr;gap:12px}.kpi-row{grid-template-columns:repeat(2,1fr);gap:12px}.qf-card:hover{transform:translateY(-2px)}}@media(max-width:479px){.kpi-row{grid-template-columns:1fr}}.qf-content{flex:1;overflow-y:auto;padding:20px;background:var(--qf-content-bg);box-shadow:inset 0 1px 3px #0000000d}[data-theme=dark] .qf-content{box-shadow:inset 0 1px 3px #0003}.page-toolbar{margin-bottom:20px;padding:16px 20px;background:var(--qf-bg-card);border-radius:12px;border:1px solid var(--qf-border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.qf-chart-container{position:relative;width:100%;min-height:260px;padding:16px;background:var(--qf-bg-card);border-radius:12px;border:1px solid var(--qf-border);transition:all .3s ease}.qf-chart-container:hover{box-shadow:0 4px 12px #6366f126;border-color:#6366f14d}.qf-chart-title{font-size:14px;font-weight:600;color:var(--qf-text-primary);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.qf-chart-subtitle{font-size:12px;color:var(--qf-text-muted);margin-bottom:16px}.qf-section{margin-bottom:24px}.qf-section:last-child{margin-bottom:0}.qf-card-body{padding:20px}.qf-card-header{padding:16px 20px;border-bottom:1px solid var(--qf-border);display:flex;align-items:center;justify-content:space-between}*qf-scroll{scroll-behavior:smooth}.qf-scrollbar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--qf-border) transparent}.qf-scrollbar::-webkit-scrollbar{width:6px;height:6px}.qf-scrollbar::-webkit-scrollbar-track{background:transparent}.qf-scrollbar::-webkit-scrollbar-thumb{background:var(--qf-border);border-radius:3px;transition:background .3s ease}.qf-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--qf-text-muted)}.qf-skeleton-card{background:var(--qf-bg-card);border-radius:12px;padding:20px;border:1px solid var(--qf-border)}.qf-skeleton-line{height:16px;margin-bottom:12px;border-radius:8px;background:linear-gradient(90deg,var(--qf-bg-hover) 25%,var(--qf-bg-card) 50%,var(--qf-bg-hover) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.qf-skeleton-line:last-child{margin-bottom:0;width:60%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media print{.qf-card,.qf-card-glass{box-shadow:none!important;border:1px solid #e5e7eb!important}.qf-content{padding:0!important}}.qf-page{width:100%;max-width:100%;min-width:0}.qf-page-row{width:100%}.qf-page-row>.ant-col{min-width:0}.qf-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}.qf-toolbar .ant-form-inline{flex-wrap:wrap;row-gap:8px}.qf-toolbar .ant-form-item{margin-bottom:0!important}.qf-result-box{width:100%;min-width:0;margin-top:12px}.qf-result-box .structured-result,.qf-result-box .json-block{max-width:100%}.qf-table-expand{width:100%;min-width:0;max-width:100%;overflow-x:auto}.hub-body :deep(.row-selected){background:color-mix(in srgb,var(--qf-accent) 10%,transparent)!important}.hub-body :deep(.ant-table-tbody > tr){transition:background .12s}.hub-body :deep(.ant-table-tbody > tr:hover){background:color-mix(in srgb,var(--qf-accent) 4%,transparent)}.qf-page :deep(.ant-tabs),.qf-page :deep(.ant-tabs-content),.qf-page :deep(.ant-tabs-tabpane){width:100%;min-width:0}html,body,#app{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--qf-bg-primary);color:var(--qf-text-primary)}.page-toolbar{margin-bottom:16px}.json-block{max-height:360px;max-width:100%;overflow:auto;word-break:break-word;white-space:pre-wrap;background:var(--qf-bg-hover);border:1px solid var(--qf-border);border-radius:8px;padding:12px;font-size:12px;color:var(--qf-text-secondary)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-2>*,.grid-7-3>*{min-width:0}.grid-7-3{display:grid;grid-template-columns:7fr 3fr;gap:16px}@media(max-width:1024px){.grid-2,.grid-7-3{grid-template-columns:1fr}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--qf-border);border-radius:3px}.ant-table-wrapper .ant-table{background:transparent!important}.ant-table-thead>tr>th{background:var(--qf-bg-hover)!important;color:var(--qf-text-muted)!important;font-size:12px;font-weight:600;border-bottom:1px solid var(--qf-border)!important;padding:10px 12px!important}.ant-table-thead>tr>th:before{display:none!important}.ant-table-tbody>tr>td{background:transparent!important;color:var(--qf-text-primary)!important;border-bottom:1px solid var(--qf-border)!important;padding:10px 12px!important;font-size:13px}.ant-table-tbody>tr:last-child>td{border-bottom:none!important}.ant-table-tbody>tr.ant-table-row:hover>td,.ant-table-tbody>tr>td.ant-table-cell-row-hover{background:var(--qf-bg-hover)!important}.ant-table-placeholder .ant-table-cell{background:transparent!important;border-bottom:none!important}.ant-table-tbody>tr.ant-table-placeholder>td,.ant-table-tbody>tr.ant-table-placeholder:hover>td{background:transparent!important;color:var(--qf-text-muted)!important}.ant-table-wrapper .ant-table-body,.ant-table-wrapper .ant-table-content,.ant-table-wrapper .ant-table-content>table,.ant-table-wrapper .ant-spin-container,.ant-table-wrapper .ant-spin-nested-loading{background:transparent!important}.ant-empty-description,.ant-table-wrapper .ant-empty .ant-empty-description,.ant-table-placeholder .ant-empty-description{color:var(--qf-text-muted)!important}.ant-table-wrapper .ant-empty-image svg g,.ant-table-wrapper .ant-empty-image svg ellipse,.ant-table-wrapper .ant-empty-image svg path{fill:var(--qf-text-muted)!important;stroke:var(--qf-border)!important}.ant-empty .ant-empty-image svg g,.ant-empty .ant-empty-image svg ellipse,.ant-empty .ant-empty-image svg path{fill:var(--qf-text-muted)!important;stroke:var(--qf-border)!important}.ant-table-wrapper .ant-table-container{border:1px solid var(--qf-border)!important;border-radius:8px;overflow:hidden}.ant-table-wrapper .ant-table-bordered .ant-table-container{border:1px solid var(--qf-border)!important}.ant-table-wrapper .ant-table-bordered .ant-table-cell{border-color:var(--qf-border)!important}.ant-table-pagination{margin:12px 0 0!important}.ant-pagination-item,.ant-pagination-prev,.ant-pagination-next{background:var(--qf-bg-hover)!important;border-color:var(--qf-border)!important}.ant-pagination-item a{color:var(--qf-text-secondary)!important}.ant-pagination-item-active{background:var(--qf-accent)!important;border-color:var(--qf-accent)!important}.ant-pagination-item-active a{color:#fff!important}.ant-tabs-nav{margin-bottom:12px!important}.ant-tabs-tab{color:var(--qf-text-secondary)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--qf-accent)!important}.qf-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto}.qf-table-wrap .ant-table-wrapper,.qf-table-wrap .ant-table-wrapper .ant-spin-nested-loading,.qf-table-wrap .ant-table-wrapper .ant-spin-container,.qf-table-wrap .ant-table-wrapper .ant-table-container{max-width:100%}.ant-spin-nested-loading>div>.ant-spin{max-height:none}.ant-spin-container.ant-spin-blur:after{pointer-events:none}.qf-card .ant-statistic-title{color:var(--qf-text-muted);font-size:12px}.qf-card .ant-statistic-content{color:var(--qf-text-primary)}.qf-card .ant-descriptions-item-label{color:var(--qf-text-muted)!important;background:var(--qf-bg-hover)!important}.qf-card .ant-descriptions-item-content{color:var(--qf-text-primary)!important;background:transparent!important}.qf-card .ant-empty-description{color:var(--qf-text-muted)}.ant-list-bordered{border-color:var(--qf-border)!important}.ant-list-item{border-bottom-color:var(--qf-border)!important;color:var(--qf-text-primary)}
