.login-page[data-v-13330343]{display:grid;place-items:center;padding:24px}.login-card[data-v-13330343]{width:min(420px,100%);padding:32px}.brand[data-v-13330343]{margin-bottom:24px}.brand h1[data-v-13330343]{margin:0 0 8px;font-size:24px}form[data-v-13330343]{display:grid;gap:16px}label[data-v-13330343]{display:grid;gap:8px}label span[data-v-13330343]{font-size:14px;color:var(--muted)}input[data-v-13330343]{border:1px solid var(--border);border-radius:10px;padding:12px 14px}.error[data-v-13330343]{margin:0;color:var(--danger);font-size:14px}button[data-v-13330343]{width:100%}.dashboard[data-v-393e143e]{padding:20px;display:grid;gap:16px;max-width:1440px;margin:0 auto}.topbar[data-v-393e143e]{padding:18px 22px;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.topbar h1[data-v-393e143e]{margin:0 0 4px;font-size:22px}.topbar-actions[data-v-393e143e]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.auto-refresh[data-v-393e143e]{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}.tabs[data-v-393e143e]{display:flex;gap:4px;padding:8px;flex-wrap:wrap}.tab[data-v-393e143e]{border:none;background:transparent;padding:10px 16px;border-radius:8px;cursor:pointer;color:var(--muted);font-weight:500}.tab.active[data-v-393e143e]{background:#eef2ff;color:var(--primary)}.stats-grid[data-v-393e143e]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.realtime-grid .stat-card[data-v-393e143e]{border-left:4px solid var(--primary)}.stat-card[data-v-393e143e]{padding:18px}.stat-card h2[data-v-393e143e]{margin:6px 0;font-size:28px}.stat-card .hint[data-v-393e143e]{display:block;margin-top:4px}.delta[data-v-393e143e]{display:block;font-weight:600;font-size:13px}.delta.up[data-v-393e143e]{color:#059669}.delta.down[data-v-393e143e]{color:#dc2626}.delta.flat[data-v-393e143e]{color:var(--muted)}.charts-grid[data-v-393e143e],.tables-grid[data-v-393e143e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chart-card[data-v-393e143e],.table-card[data-v-393e143e],.recent-card[data-v-393e143e],.filters[data-v-393e143e]{padding:18px}.chart-card.wide[data-v-393e143e]{grid-column:1 / -1}.full[data-v-393e143e]{padding:18px}.chart[data-v-393e143e]{width:100%;height:300px}.chart.lg[data-v-393e143e]{height:340px}.funnel-meta[data-v-393e143e]{display:flex;gap:20px;margin-top:12px;font-size:14px;color:var(--muted)}.ellipsis[data-v-393e143e]{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filters[data-v-393e143e]{display:flex;align-items:center;gap:16px}.pager[data-v-393e143e]{display:flex;justify-content:center;align-items:center;gap:16px;padding-top:16px}.tag[data-v-393e143e]{padding:2px 8px;border-radius:6px;font-size:12px}.tag.page_view[data-v-393e143e]{background:#dbeafe;color:#1d4ed8}.tag.vip_click[data-v-393e143e]{background:#fef3c7;color:#b45309}.tag.download[data-v-393e143e]{background:#d1fae5;color:#047857}select[data-v-393e143e]{border:1px solid var(--border);border-radius:8px;padding:8px 12px;background:#fff}@media(max-width:1100px){.stats-grid[data-v-393e143e],.charts-grid[data-v-393e143e],.tables-grid[data-v-393e143e]{grid-template-columns:1fr}}:root{color-scheme:light;--bg: #f0f2f8;--card: #ffffff;--text: #111827;--muted: #6b7280;--primary: #2563eb;--primary-dark: #1d4ed8;--border: #e5e7eb;--danger: #dc2626;--shadow: 0 4px 24px rgba(15, 23, 42, .06)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input{font:inherit}.page{min-height:100vh}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.btn{border:none;border-radius:10px;padding:10px 16px;cursor:pointer;background:var(--primary);color:#fff}.btn:hover{background:var(--primary-dark)}.btn-secondary{background:#eef2ff;color:var(--primary)}.muted{color:var(--muted)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left}.table th{color:var(--muted);font-weight:600}
