.bell-wrap[data-v-9b0d447d]{z-index:300;position:fixed;top:14px;right:14px}.bell-btn[data-v-9b0d447d]{border:1px solid var(--border);background:var(--card);width:38px;height:38px;color:var(--text-2);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:relative;box-shadow:0 2px 10px #0000000f}.bell-btn[data-v-9b0d447d]:hover{color:var(--brand);border-color:var(--brand);background:var(--brand-soft)}.bell-btn.open[data-v-9b0d447d],.bell-wrap.open .bell-btn[data-v-9b0d447d]{color:var(--brand);border-color:var(--brand)}.bell-dot[data-v-9b0d447d]{color:#fff;text-align:center;border:2px solid var(--card);background:#e5484d;border-radius:9px;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;position:absolute;top:-5px;right:-6px}.bell-panel[data-v-9b0d447d]{background:var(--card);border:1px solid var(--border);z-index:301;border-radius:12px;width:330px;display:none;position:absolute;top:46px;right:0;overflow:hidden;box-shadow:0 12px 40px #00000024}.bell-wrap.open .bell-panel[data-v-9b0d447d]{animation:.16s bp-in-9b0d447d;display:block}@keyframes bp-in-9b0d447d{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.bp-head[data-v-9b0d447d]{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.bp-title[data-v-9b0d447d]{color:var(--text);font-size:13.5px;font-weight:800}.bp-readall[data-v-9b0d447d]{color:var(--brand);cursor:pointer;background:0 0;border:none;font-size:11.5px;font-weight:600}.bp-readall[data-v-9b0d447d]:hover{text-decoration:underline}.bp-empty[data-v-9b0d447d]{text-align:center;color:var(--text-3);padding:28px 16px;font-size:12.5px}.bp-empty-icon[data-v-9b0d447d]{margin-bottom:8px;font-size:26px}.bp-empty-sub[data-v-9b0d447d]{margin-top:6px;font-size:11px;line-height:1.6}.bp-list[data-v-9b0d447d]{max-height:380px;overflow-y:auto}.bp-item[data-v-9b0d447d]{border-bottom:1px solid var(--border-soft);cursor:pointer;gap:10px;padding:11px 14px;transition:background .12s;display:flex;position:relative}.bp-item[data-v-9b0d447d]:last-child{border-bottom:none}.bp-item[data-v-9b0d447d]:hover{background:var(--card-2)}.bp-item.unread[data-v-9b0d447d],.bp-item.unread[data-v-9b0d447d]:hover{background:var(--brand-soft)}.bp-thumb[data-v-9b0d447d]{object-fit:cover;background:var(--card-2);width:40px;height:40px;color:var(--brand);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.bp-body[data-v-9b0d447d]{flex:1;min-width:0}.bp-name[data-v-9b0d447d]{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.bp-meta[data-v-9b0d447d]{color:var(--text-2);margin-top:4px;font-size:11.5px}.bp-meta b[data-v-9b0d447d]{font-family:var(--mono);color:var(--up)}.bp-th[data-v-9b0d447d]{color:#e5484d;background:#e5484d1f;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10.5px}.bp-date[data-v-9b0d447d]{color:var(--text-3);margin-top:3px;font-size:10.5px}.bp-dot[data-v-9b0d447d]{background:#e5484d;border-radius:50%;width:7px;height:7px;position:absolute;top:14px;right:12px}.bell-mask[data-v-9b0d447d]{z-index:299;background:0 0;position:fixed;inset:0}@media (width<=768px){.bell-wrap[data-v-9b0d447d]{top:8px;right:52px}.bell-btn[data-v-9b0d447d]{width:34px;height:34px;box-shadow:none;border-radius:9px}.bell-panel[data-v-9b0d447d]{width:calc(100vw - 24px);max-width:330px}}.app-shell[data-v-2b3a354b]{flex-direction:column;min-height:100vh;display:flex}.sidebar[data-v-2b3a354b]{z-index:200;background:var(--card);border-right:1px solid var(--border);flex-direction:column;width:216px;padding:16px 12px;transition:transform .22s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand[data-v-2b3a354b]{align-items:center;gap:8px;padding:4px 8px 18px;display:flex}.logo[data-v-2b3a354b]{color:var(--brand);font-size:20px;line-height:1}.brand-text[data-v-2b3a354b]{color:var(--text);letter-spacing:.3px;font-size:15px;font-weight:800}.sidebar-nav[data-v-2b3a354b]{flex-direction:column;flex:1;gap:4px;display:flex}.nav-item[data-v-2b3a354b]{color:var(--text-2);border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item[data-v-2b3a354b]:hover{background:var(--card-2);color:var(--text)}.nav-item.active[data-v-2b3a354b]{background:var(--brand-soft);color:var(--brand);font-weight:600}.nav-icon[data-v-2b3a354b]{align-items:center;display:flex}.sidebar-foot[data-v-2b3a354b]{border-top:1px solid var(--border-soft);flex-direction:column;gap:10px;padding-top:12px;display:flex}.side-user[data-v-2b3a354b]{align-items:center;gap:8px;padding:4px 8px;display:flex}.side-username[data-v-2b3a354b]{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.mobile-topbar[data-v-2b3a354b]{z-index:150;background:var(--card);border-bottom:1px solid var(--border);align-items:center;gap:10px;height:50px;padding:0 12px;display:none;position:sticky;top:0}.icon-btn[data-v-2b3a354b]{border:1px solid var(--border);background:var(--card-2);width:34px;height:34px;color:var(--text);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-topbar .brand[data-v-2b3a354b]{color:var(--brand);flex:1;font-size:15px;font-weight:800}.mobile-topbar .theme-toggle[data-v-2b3a354b]{border-radius:50%;flex-shrink:0;width:34px;height:34px;margin-left:auto;padding:0;font-size:15px}.theme-toggle[data-v-2b3a354b]{background:var(--card-2);height:34px;color:var(--text-2);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:13px;transition:all .15s;display:flex}.theme-toggle.wide[data-v-2b3a354b]{width:100%;padding:0 10px}.theme-toggle[data-v-2b3a354b]:hover{background:var(--brand-soft);color:var(--brand)}.avatar[data-v-2b3a354b]{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:flex}.main[data-v-2b3a354b]{flex:1;min-width:0;margin-left:216px;overflow-x:clip}.main--auth[data-v-2b3a354b]{margin-left:0}.drawer-mask[data-v-2b3a354b]{z-index:190;background:#0006;display:none;position:fixed;inset:0}@media (width<=768px){.sidebar[data-v-2b3a354b]{box-shadow:none;width:240px;transform:translate(-100%)}.sidebar.open[data-v-2b3a354b]{transform:translate(0);box-shadow:0 0 40px #00000040}.drawer-mask[data-v-2b3a354b]{display:block}.mobile-topbar[data-v-2b3a354b]{display:flex}.main[data-v-2b3a354b]{margin-left:0}}:root{--brand:#4f46e5;--brand-strong:#4338ca;--brand-soft:#eef2ff;--brand-border:#c7d2fe;--brand-light:#818cf8;--up:#dc2626;--down:#059669;--up-soft:#fee2e2;--down-soft:#d1fae5;--bg:#f7f8fa;--card:#fff;--card-2:#f9fafb;--border:#e5e7eb;--border-soft:#f3f4f6;--text:#111827;--text-2:#6b7280;--text-3:#9ca3af;--live:#10b981;--warn:#d97706;--warn-bg:#fef3c7;--warn-text:#92400e;--radius:10px;--radius-sm:6px;--shadow:0 1px 2px #1118270a;--shadow-lift:0 4px 14px #11182714;--font:-apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;--mono:"SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}[data-theme=dark]{--brand:#6366f1;--brand-strong:#818cf8;--brand-soft:#312e81;--brand-border:#3730a3;--brand-light:#a5b4fc;--up:#f87171;--down:#34d399;--up-soft:#7f1d1d;--down-soft:#064e3b;--bg:#0f1117;--card:#1a1d27;--card-2:#14161f;--border:#2a2e3a;--border-soft:#2a2e3a;--text:#e5e7eb;--text-2:#6b7280;--text-3:#4b5563;--warn-bg:#78350f;--warn-text:#fbbf24;--shadow:0 1px 2px #0003;--shadow-lift:0 4px 14px #00000059}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.6;transition:background .25s,color .25s}a{color:var(--brand);text-decoration:none}button{cursor:pointer;font-family:inherit}input{font-family:inherit}.page{max-width:1200px;margin:0 auto;padding:16px 20px 48px}.page-head{align-items:baseline;gap:12px;margin:8px 0 14px;display:flex}.page-title{letter-spacing:.2px;font-size:22px;font-weight:800}.page-sub{color:var(--text-2);font-size:12px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.metric{background:var(--card);border-radius:var(--radius);border-left:3px solid var(--brand);box-shadow:var(--shadow);padding:10px 14px}.metric .m-label{color:var(--text-2);font-size:11px}.metric .m-value{letter-spacing:.2px;margin-top:2px;font-size:20px;font-weight:800}.metric .m-foot{color:var(--text-3);margin-top:2px;font-size:11px}.data-table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.data-table thead{z-index:3;position:sticky;top:0}.data-table th{text-align:right;color:var(--text-2);background:var(--card-2);border-bottom:1px solid var(--border);padding:8px;font-weight:600}.data-table th:first-child,.data-table th.align-left{text-align:left}.data-table td{text-align:right;border-bottom:1px solid var(--border-soft);white-space:nowrap;padding:9px 8px}.data-table td.align-left{text-align:left}@media (width>=721px){.data-table th:first-child,.data-table td:first-child{width:280px;min-width:280px;max-width:280px}}.data-table tbody tr{background:var(--card);transition:background .15s}.data-table tbody tr:hover{background:var(--brand-soft)}.data-table th:first-child,.data-table td:first-child{z-index:2;background:var(--card);box-shadow:2px 0 0 var(--border-soft);position:sticky;left:0}.data-table th:last-child,.data-table td:last-child{z-index:2;background:var(--card);box-shadow:-2px 0 0 var(--border-soft);position:sticky;right:0}.data-table thead th:first-child,.data-table thead th:last-child{background:var(--card-2);z-index:6}.data-table tbody tr:hover td:first-child,.data-table tbody tr:hover td:last-child{background:var(--brand-soft)}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{background:var(--card);border:1px solid var(--border);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:5px 12px;font-size:12px;transition:all .15s}.chip:hover{border-color:var(--brand);color:var(--brand)}.chip.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:600}.chip-search{background:var(--card);border:1px solid var(--border);color:var(--text-2);border-radius:6px;flex-shrink:0;align-items:center;gap:6px;width:220px;max-width:100%;padding:5px 12px;font-size:12px;display:flex}.search-ico{width:12px;height:12px;color:var(--text-3);flex-shrink:0}.chip-search input{color:var(--text);background:0 0;border:none;outline:none;width:100%;min-width:0;font-size:12px}.btn{background:var(--brand);color:#fff;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s,transform 50ms;display:inline-flex}.btn:hover{background:var(--brand-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{border:1px solid var(--border);color:var(--brand);background:0 0}.btn-ghost:hover{border-color:var(--brand);background:var(--brand-soft)}.btn-sm{border-radius:5px;padding:4px 10px;font-size:11px}.btn-add{background:var(--brand-soft);color:var(--brand);font-weight:600}.btn-add:hover{background:var(--brand);color:#fff}.badge{border-radius:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-brand{background:var(--brand-soft);color:var(--brand)}.badge-added{background:var(--down-soft);color:var(--down);font-weight:600}.badge-up{background:var(--up-soft);color:var(--up)}.badge-down{background:var(--down-soft);color:var(--down)}.badge-warn{background:var(--warn-bg);color:var(--warn-text)}.up{color:var(--up)}.down{color:var(--down)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.col-lbl{color:var(--text-3);letter-spacing:.3px;vertical-align:1px;white-space:nowrap;margin-right:3px;font-size:9px;font-weight:400}.live-bar{background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-strong);border-radius:8px;align-items:center;gap:10px;padding:7px 12px;font-size:12px;display:flex}.live-dot{background:var(--live);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s infinite pulse}.live-bar b{font-weight:700}.live-now{opacity:.55;margin-left:auto;font-size:10px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.feed{color:var(--text-2);padding:10px 14px;font-size:12px}.feed-title{color:var(--text);align-items:center;gap:8px;margin-bottom:4px;font-weight:700;display:flex}.feed-note{color:var(--text-3);font-size:10px;font-weight:400}.feed-item{gap:6px;line-height:1.8;display:flex}.feed-item .dot{color:var(--live);margin-top:5px;font-size:10px}.pager{color:var(--text-2);justify-content:space-between;align-items:center;padding:10px 2px;font-size:12px;display:flex}.pager-pages{align-items:center;gap:4px;display:flex}.pager-pages span{cursor:pointer;border-radius:5px;padding:2px 8px}.pager-pages span:hover{background:var(--brand-soft)}.pager-pages span.cur{background:var(--brand);color:#fff;font-weight:600}.empty{text-align:center;color:var(--text-3);padding:36px 16px;font-size:13px}.skeleton{background:linear-gradient(90deg, var(--border-soft) 25%, var(--border) 50%, var(--border-soft) 75%);background-size:400% 100%;border-radius:6px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (width<=720px){.page{padding:10px 10px calc(32px + env(safe-area-inset-bottom,0px))}.page-title{font-size:18px}.page-head{gap:8px;margin:4px 0 10px}.mobile-cards{display:none!important}.data-table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:block;overflow-x:auto}.data-table-wrap::-webkit-scrollbar{display:none}.data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:700px}.data-table th,.data-table td{padding:8px 6px;font-size:11px}.data-table th:first-child,.data-table td:first-child{z-index:2;background:var(--card);box-shadow:2px 0 0 var(--border-soft);position:sticky;left:0}.data-table th:last-child,.data-table td:last-child{z-index:2;background:var(--card);box-shadow:-2px 0 0 var(--border-soft);position:sticky;right:0}.data-table thead th:first-child,.data-table thead th:last-child{background:var(--card-2);z-index:6}.data-table tbody tr:hover td:first-child,.data-table tbody tr:hover td:last-child{background:var(--brand-soft)}.data-table th:first-child,.data-table td:first-child{text-align:left;width:160px;max-width:160px;padding:8px 6px}.data-table td:first-child .prod-meta{min-width:0;max-width:112px;display:block}.data-table td:first-child .prod-thumb{border-radius:6px;flex-shrink:0;width:32px;height:32px;margin:0}.data-table td:first-child .prod-cell{align-items:center;gap:6px}.data-table td:first-child .prod-name{max-width:112px;font-size:11px}.data-table td:first-child .prod-shop{max-width:112px}.data-table td .spark{width:30px;height:12px}.data-table .btn-sm{padding:4px 6px;font-size:11px}.data-table .badge{padding:3px 7px;font-size:10px}.pager{margin-top:6px;font-size:11px}.metric .m-value{font-size:16px}.metric{padding:10px 8px}.metric .m-label{font-size:10px}.filter-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;row-gap:8px;padding-bottom:6px;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.chip{white-space:nowrap;flex-shrink:0}.chip-search{flex:1 0 100%;width:100%;max-width:100%}.live-bar{flex-wrap:wrap;font-size:11px}.live-now{display:none}.card{border-radius:10px}}@media (width>=721px){.mobile-cards{display:none!important}}@media (width<=480px){.detail-table{overflow-x:auto}.dt-row{min-width:360px}.chart{height:140px}.detail-grid{gap:8px}}.fade-enter-active,.fade-leave-active{transition:opacity .18s}.fade-enter-from,.fade-leave-to{opacity:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
