.app-shell[data-v-81329aa0]{min-height:100vh;background:linear-gradient(180deg,#fff 0 84px,var(--bg) 84px)}.topbar[data-v-81329aa0]{height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 42px;border-bottom:1px solid #e5ebf2;background:#ffffffd6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.brand[data-v-81329aa0]{display:flex;align-items:center;gap:12px;justify-self:start;color:var(--navy);text-decoration:none;font-size:19px;font-weight:800}.brand-logo[data-v-81329aa0],.auth-logo[data-v-81329aa0]{width:38px;height:38px;object-fit:contain;border-radius:10px}.tabs[data-v-81329aa0]{display:flex;gap:6px;justify-self:center;padding:6px;border-radius:10px;background:#edf3f8}.tab[data-v-81329aa0]{padding:10px 16px;border-radius:7px;color:#657388;text-decoration:none;font-size:14px}.tab.on[data-v-81329aa0]{color:var(--navy);background:#fff;box-shadow:0 8px 18px #16284214;font-weight:700}.main[data-v-81329aa0]{min-height:calc(100vh - 84px)}.auth-page[data-v-81329aa0]{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 32% 18%,rgba(20,163,146,.12),transparent 32%),linear-gradient(180deg,#ffffff 0%,var(--bg) 100%)}.auth-card[data-v-81329aa0]{width:min(420px,100%);padding:34px;text-align:center;box-shadow:0 24px 70px #0d22401f}.auth-card h1[data-v-81329aa0]{margin:18px 0 8px;color:var(--text);font-size:30px}.auth-card p[data-v-81329aa0]{margin:0;color:var(--sub)}.auth-card form[data-v-81329aa0]{display:grid;gap:12px;margin-top:24px}.auth-card input[data-v-81329aa0]{height:46px;border:1px solid #dce5ef;border-radius:8px;padding:0 14px;color:var(--text);background:var(--panel-soft);font-size:16px}.auth-card button[data-v-81329aa0]{height:46px;border:none;border-radius:8px;color:#fff;background:var(--navy);font-weight:800;cursor:pointer}.auth-card button[data-v-81329aa0]:disabled{opacity:.55;cursor:not-allowed}.auth-error[data-v-81329aa0]{margin-top:14px!important;color:var(--rose)!important;font-weight:700}.date-filter[data-v-6d2402bc]{padding:20px}h2[data-v-6d2402bc]{margin:0;font-size:21px}h2 small[data-v-6d2402bc]{display:inline;margin-left:6px;color:var(--muted);font-size:12px;font-weight:500;line-height:1.5}.limit-text[data-v-6d2402bc]{color:var(--rose);font-weight:800}.field[data-v-6d2402bc]{display:block;margin-top:16px}.field span[data-v-6d2402bc],.quick-dates>span[data-v-6d2402bc]{display:block;margin-bottom:7px;color:var(--muted);font-size:13px}input[data-v-6d2402bc]{width:100%;height:42px;border-radius:7px;border:1px solid #dce5ef;background:var(--panel-soft);color:var(--text);padding:0 12px}.preset-tabs[data-v-6d2402bc],.quick-list[data-v-6d2402bc]{display:flex;flex-wrap:wrap;gap:8px}.preset-tabs button[data-v-6d2402bc],.quick-btn[data-v-6d2402bc]{min-height:32px;padding:0 12px;border-radius:999px;border:1px solid #d8e1eb;background:#fff;color:#526176;cursor:pointer}.quick-btn[data-v-6d2402bc]{display:inline-flex;align-items:center;gap:7px;padding-right:8px}.quick-btn i[data-v-6d2402bc]{width:18px;height:18px;display:inline-grid;place-items:center;border-radius:50%;color:#8a97aa;font-style:normal;font-weight:700}.quick-btn i[data-v-6d2402bc]:hover{color:#fff;background:var(--rose)}.quick-btn i.protected[data-v-6d2402bc],.quick-btn i.protected[data-v-6d2402bc]:hover{color:#b08113;background:#f2b6402e;cursor:not-allowed}.preset-tabs button.active[data-v-6d2402bc],.quick-btn.active[data-v-6d2402bc]{color:#fff;background:var(--navy);border-color:var(--navy)}.quick-btn.active i[data-v-6d2402bc]{color:#ffffffd1}.status-row[data-v-6d2402bc]{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.warn[data-v-6d2402bc]{color:var(--amber);border-color:#f5a6424d;background:#f5a6421a}.search-btn[data-v-6d2402bc]{width:100%;height:42px;margin-top:16px;border:none;border-radius:7px;color:#fff;background:var(--navy);font-weight:700;cursor:pointer}.search-btn[data-v-6d2402bc]:disabled{opacity:.5;cursor:not-allowed}.hint[data-v-6d2402bc]{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.quick-dates[data-v-6d2402bc]{margin-top:18px}.quick-dates>span[data-v-6d2402bc]{flex-basis:100%}.distribution-bars[data-v-64009563]{display:grid;gap:14px;padding:8px 0 2px}.bar-row[data-v-64009563]{display:grid;grid-template-columns:minmax(96px,150px) minmax(0,1fr) 62px;gap:14px;align-items:center}.bar-row span[data-v-64009563]{min-width:0;overflow:hidden;color:var(--text);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.track[data-v-64009563]{height:22px;overflow:hidden;border-radius:999px;background:#eaf0f6}.fill[data-v-64009563]{height:100%;min-width:34px;display:flex;align-items:center;justify-content:flex-end;padding:0 9px;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue))}.fill em[data-v-64009563]{color:#fff;font-size:12px;font-style:normal;font-weight:800;line-height:1;text-shadow:0 1px 2px rgba(13,34,64,.22);white-space:nowrap}.bar-row b[data-v-64009563]{color:var(--text);font-size:15px;text-align:right}.line-chart[data-v-86be3587]{position:relative;min-height:260px}.line-chart__legend[data-v-86be3587]{display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:8px}.legend-item[data-v-86be3587]{display:inline-flex;align-items:center;gap:6px;color:var(--sub);font-size:12px}.legend-item i[data-v-86be3587]{width:9px;height:9px;border-radius:50%}svg[data-v-86be3587]{display:block;width:100%;height:260px}.grid line[data-v-86be3587]{stroke:#e8eef5;stroke-width:1}.labels text[data-v-86be3587]{fill:var(--muted);font-size:12px}.hover-layer[data-v-86be3587]{pointer-events:none}.hover-layer line[data-v-86be3587]{stroke:#0d22403d;stroke-width:1.5;stroke-dasharray:4 5}.hover-layer circle[data-v-86be3587]{stroke:#fff;stroke-width:3;filter:drop-shadow(0 4px 8px rgba(13,34,64,.18))}.hit-area[data-v-86be3587]{fill:transparent;cursor:crosshair}.chart-tooltip[data-v-86be3587]{position:absolute;z-index:5;min-width:168px;max-width:260px;padding:10px 12px;border:1px solid #dce6f0;border-radius:8px;background:#fffffff5;box-shadow:0 14px 32px #0d224024;transform:translate(-50%,-100%);pointer-events:none}.chart-tooltip strong[data-v-86be3587]{display:block;margin-bottom:8px;color:var(--text);font-size:13px}.chart-tooltip p[data-v-86be3587]{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:7px;align-items:center;margin:6px 0 0;color:var(--sub);font-size:12px}.chart-tooltip i[data-v-86be3587]{width:9px;height:9px;border-radius:50%}.chart-tooltip span[data-v-86be3587]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-tooltip b[data-v-86be3587]{color:var(--text)}.metric-card[data-v-e1ec97d1]{min-height:142px;padding:18px}small[data-v-e1ec97d1]{display:block;color:var(--muted);margin-bottom:10px}strong[data-v-e1ec97d1]{display:block;color:var(--text);font-size:30px;line-height:1;letter-spacing:0}p[data-v-e1ec97d1]{margin-top:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ul[data-v-e1ec97d1]{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}li[data-v-e1ec97d1]{display:flex;justify-content:space-between;gap:12px;color:var(--sub);font-size:12px}li b[data-v-e1ec97d1]{color:var(--teal)}.workbench-layout[data-v-6855d4c3]{display:grid;grid-template-columns:330px 1fr;gap:22px;padding:28px 42px}.workbench-main[data-v-6855d4c3]{display:grid;gap:18px}.page-head[data-v-6855d4c3],.section-head[data-v-6855d4c3],.trend-title[data-v-6855d4c3]{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}h1[data-v-6855d4c3]{margin:0;font-size:34px}.page-head p[data-v-6855d4c3]{margin:8px 0 0;color:var(--sub)}.header-side[data-v-6855d4c3]{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:18px}.total-rate-card[data-v-6855d4c3]{min-width:240px;padding:16px 20px;border:4px solid #f2b640;box-shadow:0 0 0 3px #fff6d6f2,0 18px 38px #a471102e}.total-rate-card span[data-v-6855d4c3]{display:block;color:var(--muted);font-size:13px}.total-rate-card strong[data-v-6855d4c3]{display:block;margin-top:8px;color:var(--teal);font-size:34px;line-height:1}.total-rate-card small[data-v-6855d4c3]{display:block;margin-top:8px;color:var(--sub);font-size:12px}.actions[data-v-6855d4c3]{display:flex;gap:10px}.notice[data-v-6855d4c3]{margin:0;color:var(--teal);font-size:13px}.kpi-grid[data-v-6855d4c3]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.highlight-new-user[data-v-6855d4c3]{border:4px solid var(--teal);border-radius:10px;box-shadow:0 0 0 3px #ddf9f4f2,0 18px 38px #14a3922e}.highlight-new-user[data-v-6855d4c3] .metric-card{height:100%;border-color:#14a39247}.content-grid[data-v-6855d4c3]{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.section[data-v-6855d4c3]{padding:18px}.section h2[data-v-6855d4c3],.trend-title h3[data-v-6855d4c3]{margin:0}.trend-block+.trend-block[data-v-6855d4c3]{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.status-list[data-v-6855d4c3]{display:grid;gap:10px}.status-row[data-v-6855d4c3]{display:grid;grid-template-columns:1fr 48px 64px;gap:10px;align-items:center;padding:12px;border:1px solid #e6edf4;border-radius:8px;background:#fbfcfe;font-size:13px}.status-row span[data-v-6855d4c3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-row em[data-v-6855d4c3]{color:var(--teal);font-style:normal;font-weight:700}.status-row em.bad[data-v-6855d4c3]{color:var(--rose)}.empty[data-v-6855d4c3],.center[data-v-6855d4c3]{padding:2rem;text-align:center;color:var(--muted)}.table-card[data-v-847c076e]{border:1px solid #e3eaf2;border-radius:8px;overflow:hidden;background:#fff}.table-title[data-v-847c076e]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #e8eef5}.table-title h3[data-v-847c076e]{margin:0;font-size:15px}.table-scroll[data-v-847c076e]{overflow:auto}table[data-v-847c076e]{width:100%;border-collapse:collapse;font-size:13px}th[data-v-847c076e],td[data-v-847c076e]{padding:12px 14px;text-align:left;border-bottom:1px solid #e8eef5;white-space:nowrap}th[data-v-847c076e]{color:var(--muted);background:#f7f9fc;font-weight:500}.metrics-layout[data-v-c175be58]{display:grid;grid-template-columns:330px 1fr;gap:22px;padding:28px 42px}.left-stack[data-v-c175be58],.metrics-main[data-v-c175be58]{display:grid;gap:18px;align-content:start}.chart-nav[data-v-c175be58]{padding:12px 20px;max-height:calc(100vh - 420px);overflow:auto}.chart-nav button[data-v-c175be58]{width:100%;display:flex;justify-content:space-between;gap:12px;padding:13px 0;border:none;border-bottom:1px solid #edf2f7;background:transparent;color:var(--sub);text-align:left;cursor:pointer}.chart-nav button.active[data-v-c175be58]{color:var(--navy);font-weight:700}.page-head[data-v-c175be58],.section-head[data-v-c175be58],.trend-title[data-v-c175be58]{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}h1[data-v-c175be58]{margin:0;font-size:34px}.page-head p[data-v-c175be58]{margin:8px 0 0;color:var(--sub)}.actions[data-v-c175be58]{display:flex;gap:10px}.kpi-grid[data-v-c175be58],.metric-grid[data-v-c175be58]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.chart-section[data-v-c175be58]{padding:18px;scroll-margin-top:110px}.chart-section+.chart-section[data-v-c175be58]{margin-top:0}.section-head[data-v-c175be58]{margin-bottom:16px}.section-head h2[data-v-c175be58],.trend-title h3[data-v-c175be58]{margin:0}.trend-card[data-v-c175be58]{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.trend-card+.table-card[data-v-c175be58],.metric-grid+.table-card[data-v-c175be58],.table-card+.table-card[data-v-c175be58]{margin-top:16px}.notice[data-v-c175be58]{margin:0;color:var(--teal);font-size:13px}.center[data-v-c175be58],.empty[data-v-c175be58]{padding:2rem;text-align:center;color:var(--muted)}.danger[data-v-c175be58]{color:var(--rose);border-color:#e766834d;background:#e7668314}.inline-error[data-v-c175be58]{padding:1rem}.funnel-layout[data-v-05242e83]{display:grid;grid-template-columns:330px 1fr;gap:22px;padding:28px 42px}.funnel-main[data-v-05242e83]{display:grid;gap:18px;align-content:start}.page-head[data-v-05242e83],.section-head[data-v-05242e83]{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}h1[data-v-05242e83]{margin:0;font-size:34px}.page-head p[data-v-05242e83]{margin:8px 0 0;color:var(--sub)}.summary-slot[data-v-05242e83]{flex:1;display:flex;justify-content:flex-end}.total-rate-card[data-v-05242e83]{min-width:260px;padding:18px 22px;align-self:stretch;border:4px solid #f2b640;box-shadow:0 0 0 3px #fff6d6f2,0 18px 38px #a471102e}.total-rate-card span[data-v-05242e83]{display:block;color:var(--muted);font-size:14px}.total-rate-card strong[data-v-05242e83]{display:block;margin-top:8px;color:var(--teal);font-size:38px;line-height:1}.total-rate-card small[data-v-05242e83]{display:block;margin-top:8px;color:var(--sub);font-size:13px}.notice[data-v-05242e83]{margin:0;color:var(--teal);font-size:13px}.kpi-grid[data-v-05242e83],.trend-grid[data-v-05242e83]{display:grid;gap:14px}.kpi-grid[data-v-05242e83]{grid-template-columns:repeat(5,minmax(0,1fr))}.trend-grid[data-v-05242e83]{grid-template-columns:minmax(0,1fr)}.trend-card[data-v-05242e83]{padding:18px;min-height:320px}.kpi[data-v-05242e83]{padding:18px;min-height:142px}.kpi small[data-v-05242e83]{display:block;color:var(--muted);margin-bottom:11px}.kpi strong[data-v-05242e83]{display:block;font-size:30px;line-height:1}.kpi p[data-v-05242e83]{margin:14px 0 0;color:var(--teal);font-weight:700}.kpi p.warn[data-v-05242e83]{color:var(--amber)}.funnel-grid[data-v-05242e83]{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.section[data-v-05242e83]{padding:18px}.funnel-big[data-v-05242e83]{display:grid;gap:16px}.stage[data-v-05242e83]{display:grid;grid-template-columns:150px 1fr 80px;gap:14px;align-items:center}.bar[data-v-05242e83]{height:52px;overflow:hidden;border-radius:8px;background:#edf3f8}.inside[data-v-05242e83]{height:100%;min-width:68px;display:flex;align-items:center;padding-left:16px;border-radius:8px;background:linear-gradient(90deg,var(--blue),var(--teal));color:#fff;font-weight:800}.bars[data-v-05242e83]{display:grid;gap:14px}.bar-row[data-v-05242e83]{display:grid;grid-template-columns:90px 1fr 58px;gap:12px;align-items:center;font-size:13px}.track[data-v-05242e83]{height:11px;overflow:hidden;border-radius:999px;background:#eaf0f6}.fill[data-v-05242e83]{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue))}.fill.not_added[data-v-05242e83]{background:var(--rose)}.fill.pending[data-v-05242e83]{background:var(--amber)}.note[data-v-05242e83]{margin:24px 0 0;line-height:1.7}.center[data-v-05242e83]{padding:2rem;text-align:center}.traffic-layout[data-v-962aec0e]{display:grid;grid-template-columns:330px 1fr;gap:22px;padding:28px 42px}.left-stack[data-v-962aec0e],.traffic-main[data-v-962aec0e]{display:grid;gap:18px;align-content:start}.section[data-v-962aec0e]{min-height:100%;padding:18px}.page-head[data-v-962aec0e],.section-head[data-v-962aec0e]{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}h1[data-v-962aec0e]{margin:0;font-size:34px}.page-head p[data-v-962aec0e]{margin:8px 0 0;color:var(--sub)}.actions[data-v-962aec0e]{display:flex;gap:10px}.notice[data-v-962aec0e]{margin:0;color:var(--teal);font-size:13px}.kpi-grid[data-v-962aec0e]{display:grid;gap:14px;width:100%}.kpi[data-v-962aec0e]{min-width:0;min-height:142px;padding:18px}.kpi small[data-v-962aec0e]{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin-bottom:11px}.kpi strong[data-v-962aec0e]{display:block;font-size:30px;line-height:1}.kpi p[data-v-962aec0e]{margin:14px 0 0;color:var(--teal);font-weight:700}.source-grid[data-v-962aec0e]{display:grid;grid-template-columns:minmax(220px,.56fr) minmax(360px,1fr) minmax(320px,.78fr);gap:18px;align-items:stretch;width:100%}.level1-list[data-v-962aec0e],.bars[data-v-962aec0e],.tree[data-v-962aec0e]{display:grid;gap:12px}.level1-row[data-v-962aec0e]{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #edf2f7}.level1-row div[data-v-962aec0e]{min-width:0}.level1-row span[data-v-962aec0e],.bar-row span[data-v-962aec0e],.tree-row button span[data-v-962aec0e],li span[data-v-962aec0e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level1-row small[data-v-962aec0e]{display:block;margin-top:4px;color:var(--muted)}.bar-row[data-v-962aec0e]{display:grid;grid-template-columns:minmax(92px,118px) minmax(0,1fr) 54px;gap:12px;align-items:center;font-size:13px}.track[data-v-962aec0e]{height:11px;overflow:hidden;border-radius:999px;background:#eaf0f6}.fill[data-v-962aec0e]{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue))}.tree-row[data-v-962aec0e]{padding:14px;border:1px solid #e6edf4;border-radius:8px;background:#fbfcfe}.tree-row button[data-v-962aec0e]{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:none;background:transparent;color:var(--text);padding:0 0 10px;font-weight:700;cursor:pointer;text-align:left}ul[data-v-962aec0e]{margin:12px 0 0;padding:10px 0 0;list-style:none;border-top:1px solid #edf2f7}li[data-v-962aec0e]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:7px 0;color:var(--sub);font-size:12px}.center[data-v-962aec0e]{padding:2rem;text-align:center}:root{--bg: #f3f6fa;--panel: #ffffff;--panel-soft: #f8fafc;--line: #dfe8f2;--text: #0d1b2f;--sub: #506176;--muted: #7a899b;--navy: #102542;--teal: #14a392;--blue: #3478f6;--sky: #3bb5d8;--amber: #f5a642;--rose: #e76683;--green: #20b486;--shadow: 0 18px 42px rgba(19, 38, 63, .08);--radius: 8px}*{box-sizing:border-box}body{margin:0;min-width:1180px;background:var(--bg);color:var(--text);font-family:Microsoft YaHei,PingFang SC,Segoe UI,sans-serif}button,input,select{font:inherit}.muted{color:var(--muted);font-size:.85rem}.error{color:var(--rose);padding:2rem;text-align:center}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.chip{height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border-radius:999px;border:1px solid #d8e1eb;background:#fff;color:#526176;font-size:13px;white-space:nowrap}.chip.ok{color:var(--teal);border-color:#14a39242;background:#14a39214}.chip.dark{color:#fff;border-color:var(--navy);background:var(--navy)}
