.login-wrap[data-v-b58fa952]{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:24px}.login-card[data-v-b58fa952]{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:0 24px 64px #0006}.brand[data-v-b58fa952]{display:flex;align-items:center;gap:10px;margin-bottom:18px}.brand-mark[data-v-b58fa952]{width:30px;height:30px;background:linear-gradient(135deg,var(--accent) 0%,var(--violet) 100%);border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:700}.brand-name[data-v-b58fa952]{font-weight:600;letter-spacing:-.01em}h2[data-v-b58fa952]{margin:0 0 4px;font-size:1.15rem;color:var(--text)}.hint[data-v-b58fa952]{color:var(--text-muted);font-size:.85em;margin:0 0 18px}form[data-v-b58fa952]{display:flex;flex-direction:column;gap:12px}form label[data-v-b58fa952]{display:flex;flex-direction:column;gap:4px;font-size:.78em;color:var(--text-muted)}form label small[data-v-b58fa952]{color:var(--text-dim);font-weight:400}form input[data-v-b58fa952]{width:100%}.error[data-v-b58fa952]{color:var(--negative);font-size:.85em;margin:4px 0 0}.info[data-v-b58fa952]{color:var(--text-muted);font-size:.85em;margin:4px 0 0}.submit[data-v-b58fa952]{margin-top:6px;padding:10px;font-size:.95em}.switch[data-v-b58fa952]{margin-top:16px;text-align:center;font-size:.85em}.switch a[data-v-b58fa952]{cursor:pointer;color:var(--accent)}.kpi[data-v-9c154514]{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:16px 20px 14px;display:flex;flex-direction:column;gap:4px}.kpi-label[data-v-9c154514]{font-size:.78em;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.kpi-row[data-v-9c154514]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.kpi-value[data-v-9c154514]{font-size:1.9rem;font-weight:600;color:var(--text);letter-spacing:-.02em;line-height:1.1}.kpi-suffix[data-v-9c154514]{font-size:.6em;color:var(--text-muted);margin-left:4px}.kpi-trend[data-v-9c154514]{display:flex;align-items:center;gap:8px;margin-top:6px}.kpi-compare[data-v-9c154514]{color:var(--text-dim);font-size:.75em}.chart-wrap[data-v-f1694708]{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:12px}.live-pill[data-v-73ca3f71]{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:1px 8px;background:#3fb9501f;color:#56d364;border-radius:999px;font-size:.7em;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.live-dot[data-v-73ca3f71]{width:6px;height:6px;border-radius:50%;background:var(--positive);box-shadow:0 0 #3fb95099;animation:live-pulse-73ca3f71 2s infinite}@keyframes live-pulse-73ca3f71{0%{box-shadow:0 0 #3fb95080}70%{box-shadow:0 0 0 5px #3fb95000}to{box-shadow:0 0 #3fb95000}}.id-link[data-v-0de899a4]{cursor:pointer}.id-link code[data-v-0de899a4]{color:var(--text-muted);font-family:var(--font-mono);font-size:.88em}.id-link:hover code[data-v-0de899a4]{color:var(--accent)}.grid.mobile-2col[data-v-31d1c2e3]{grid-template-columns:1fr}@media (min-width: 900px){.grid.mobile-2col[data-v-31d1c2e3]{grid-template-columns:1fr 1fr}}.row[data-v-31d1c2e3]{display:grid;grid-template-columns:140px 1fr 60px;gap:12px;align-items:center;padding:5px 0;font-size:.9em}.row-label[data-v-31d1c2e3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-bar[data-v-31d1c2e3]{background:var(--surface-3);height:6px;border-radius:3px;overflow:hidden}.row-bar-fill[data-v-31d1c2e3]{background:var(--accent);height:100%}.row-count[data-v-31d1c2e3]{text-align:right;color:var(--text);font-family:var(--font-mono);font-size:.85em}.export-wrap[data-v-e7262746]{position:relative;display:inline-block}.menu[data-v-e7262746]{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0006;min-width:160px;z-index:20;overflow:hidden}.menu a[data-v-e7262746]{display:block;padding:8px 14px;cursor:pointer;color:var(--text);font-size:.85em;white-space:nowrap}.menu a[data-v-e7262746]:hover{background:var(--surface-2)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.snippet[data-v-a784ad4f]{background:var(--surface-2);border:1px solid var(--surface-3);padding:14px 16px;border-radius:6px;overflow-x:auto;font-size:.85em;line-height:1.5;margin:0}.snippet code.hljs[data-v-a784ad4f]{background:transparent!important;padding:0!important;font-family:var(--font-mono);white-space:pre}.card+.card[data-v-cddfebdf]{margin-top:18px}.filter-card[data-v-cddfebdf]{padding:14px 20px}.filter-row[data-v-cddfebdf]{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:flex-end}.filter-row label[data-v-cddfebdf]{display:flex;flex-direction:column;gap:4px;font-size:.78em;color:var(--text-muted)}.filter-row label.grow[data-v-cddfebdf]{flex:1;min-width:180px}.filter-row label.pause-label[data-v-cddfebdf]{flex-direction:row;align-items:center;gap:6px}.filter-row label.pause-label input[data-v-cddfebdf]{width:auto}.filter-row input[data-v-cddfebdf]{width:100%}.filter-spacer[data-v-cddfebdf]{flex:1}.type-chips[data-v-cddfebdf]{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--surface-2);align-items:center}.chip[data-v-cddfebdf]{background:transparent;border:1px solid transparent;padding:0;border-radius:999px;cursor:pointer}.chip:hover .pill[data-v-cddfebdf]{opacity:.85}.chip.selected[data-v-cddfebdf]{border-color:var(--accent-dim);box-shadow:0 0 0 2px #58a6ff26}.chip:not(.selected) .pill[data-v-cddfebdf]{opacity:.55}.list[data-v-cddfebdf]{padding:0;overflow:hidden}.list .card-head[data-v-cddfebdf]{padding:14px 20px 8px;margin:0}.load-more[data-v-cddfebdf]{padding:14px 20px;text-align:center;border-top:1px solid var(--surface-2)}.play-pause[data-v-cddfebdf]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#3fb9501f;border:1px solid rgba(63,185,80,.3);border-radius:999px;color:#56d364;font-size:.78em;font-weight:600;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}.play-pause[data-v-cddfebdf]:hover{background:#3fb9502e}.play-pause.paused[data-v-cddfebdf]{background:#8b949e1a;border-color:#8b949e4d;color:var(--text-muted)}.play-pause.paused[data-v-cddfebdf]:hover{background:#8b949e2e}.play-pause .lbl[data-v-cddfebdf]{line-height:1}.row[data-v-cddfebdf]:hover,.row.expanded[data-v-cddfebdf]{background:var(--surface-2)}.caret[data-v-cddfebdf]{display:inline-block;margin-right:6px;color:var(--text-dim);transition:transform .15s;font-size:.85em}.caret.open[data-v-cddfebdf]{transform:rotate(90deg);color:var(--accent)}.json-row td[data-v-cddfebdf]{padding:0 20px 14px;background:var(--surface-2)}.card+.card[data-v-610bcc85]{margin-top:18px}.filter-card[data-v-610bcc85]{padding:14px 20px}.filter-row[data-v-610bcc85]{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-end}.filter-row label[data-v-610bcc85]{display:flex;flex-direction:column;gap:4px;font-size:.78em;color:var(--text-muted)}.filter-row label.grow[data-v-610bcc85]{flex:1;min-width:220px}.filter-row input[data-v-610bcc85]{width:100%}.filter-spacer[data-v-610bcc85]{flex:1}.list[data-v-610bcc85]{padding:0;overflow:hidden}.list .card-head[data-v-610bcc85]{padding:14px 20px 8px;margin:0}th.sortable[data-v-610bcc85]{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable[data-v-610bcc85]:hover{color:var(--text)}.header[data-v-d1ca49ac]{display:flex;align-items:center;gap:1em;margin-bottom:1em}.header h2[data-v-d1ca49ac]{margin:0}table.kv[data-v-d1ca49ac]{width:100%}table.kv th[data-v-d1ca49ac]{text-align:left;padding:6px 12px 6px 0;border-bottom:0;color:var(--text-muted);font-weight:500;font-size:.82em;text-transform:none;letter-spacing:0;width:110px}table.kv td[data-v-d1ca49ac]{padding:6px 0;border-bottom:0}code.ua[data-v-d1ca49ac]{display:inline-block;max-width:100%;white-space:normal;word-break:break-all;font-size:.78em;color:var(--text-muted);line-height:1.4}.event-counts[data-v-d1ca49ac]{display:flex;flex-wrap:wrap;gap:8px}.ec[data-v-d1ca49ac]{display:inline-flex;align-items:center;gap:6px}.ec-n[data-v-d1ca49ac]{font-family:var(--font-mono);color:var(--text)}.timeline pre[data-v-d1ca49ac]{margin:0;font-size:.78em;color:#cdd3da;white-space:pre-wrap;max-height:320px;overflow:auto;background:var(--bg);padding:10px 12px;border-radius:4px}.btn.xs[data-v-d1ca49ac]{padding:3px 8px;font-size:.75em}th.sortable[data-v-d1ca49ac]{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable[data-v-d1ca49ac]:hover{color:var(--text)}.card+.card[data-v-42f8540f]{margin-top:18px}.filter-card[data-v-42f8540f]{padding:14px 20px}.filter-row[data-v-42f8540f]{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-end}.filter-row label[data-v-42f8540f]{display:flex;flex-direction:column;gap:4px;font-size:.78em;color:var(--text-muted)}.filter-spacer[data-v-42f8540f]{flex:1}.list[data-v-42f8540f]{padding:0;overflow:hidden}.list .card-head[data-v-42f8540f]{padding:14px 20px 8px;margin:0}.header[data-v-0a1eba86]{display:flex;align-items:center;gap:1em;margin-bottom:1em}.header h2[data-v-0a1eba86]{margin:0}table.kv[data-v-0a1eba86]{width:100%}table.kv th[data-v-0a1eba86]{text-align:left;padding:6px 12px 6px 0;border-bottom:0;color:var(--text-muted);font-weight:500;font-size:.82em;text-transform:none;letter-spacing:0;width:130px}table.kv td[data-v-0a1eba86]{padding:6px 0;border-bottom:0}ul.id-list[data-v-0a1eba86]{padding:0;margin:0;list-style:none;max-height:320px;overflow-y:auto}ul.id-list li[data-v-0a1eba86]{padding:6px 0;border-bottom:1px solid var(--surface-2);display:flex;align-items:center;gap:8px}ul.id-list li[data-v-0a1eba86]:last-child{border-bottom:0}.btn.xs[data-v-0a1eba86]{padding:3px 8px;font-size:.75em}.card+.card[data-v-3baed829]{margin-top:18px}.filter-card[data-v-3baed829]{padding:14px 20px}.filter-row[data-v-3baed829]{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-end}.filter-row label[data-v-3baed829]{display:flex;flex-direction:column;gap:4px;font-size:.78em;color:var(--text-muted)}.filter-row label.grow[data-v-3baed829]{flex:1;min-width:220px}.filter-row input[data-v-3baed829]{width:100%}.filter-spacer[data-v-3baed829]{flex:1}.list[data-v-3baed829]{padding:0;overflow:hidden}.list .card-head[data-v-3baed829]{padding:14px 20px 8px;margin:0}.header[data-v-8573530a]{display:flex;align-items:center;gap:1em;margin-bottom:1em}.header h2[data-v-8573530a]{margin:0}table.kv[data-v-8573530a]{width:100%}table.kv th[data-v-8573530a]{text-align:left;padding:6px 12px 6px 0;border-bottom:0;color:var(--text-muted);font-weight:500;font-size:.82em;text-transform:none;letter-spacing:0;width:110px}table.kv td[data-v-8573530a]{padding:6px 0;border-bottom:0}.btn.xs[data-v-8573530a]{padding:3px 8px;font-size:.75em}.map-wrap[data-v-4e00e98b]{width:100%;min-height:320px;display:flex;align-items:center;justify-content:center}.map-wrap[data-v-4e00e98b]>*{width:100%;height:100%}.muted[data-v-4e00e98b]{color:var(--text-muted);font-size:.85em}.audience-cols[data-v-6d2b1ff7]{display:grid;gap:18px;grid-template-columns:1fr}@media (min-width: 1100px){.audience-cols[data-v-6d2b1ff7]{grid-template-columns:1fr 1fr;align-items:start}}.section-card+.section-card[data-v-6d2b1ff7]{margin-top:0}.section-card[data-v-6d2b1ff7]{padding-bottom:8px}.filter-card[data-v-6d2b1ff7]{padding:14px 20px;margin-bottom:18px}.filter-row[data-v-6d2b1ff7]{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-end}.filter-row label[data-v-6d2b1ff7]{display:flex;flex-direction:column;gap:4px;font-size:.78em;color:var(--text-muted)}.filter-spacer[data-v-6d2b1ff7]{flex:1}.dim-row[data-v-6d2b1ff7]{padding:14px 0;border-bottom:1px solid var(--surface-2)}.dim-row[data-v-6d2b1ff7]:last-child{border-bottom:0}.dim-title[data-v-6d2b1ff7]{font-size:.85em;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.bars[data-v-6d2b1ff7]{margin-bottom:12px}.dim-empty[data-v-6d2b1ff7]{font-size:.85em}.mini-chart[data-v-6d2b1ff7]{margin-top:8px}.row[data-v-6d2b1ff7]{display:grid;grid-template-columns:160px 1fr 140px;gap:12px;align-items:center;padding:4px 0;font-size:.88em}.row-label[data-v-6d2b1ff7]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flag[data-v-6d2b1ff7]{display:inline-block;width:1.4em;margin-right:4px;font-size:1.1em}.row-bar[data-v-6d2b1ff7]{background:var(--surface-3);height:6px;border-radius:3px;overflow:hidden}.row-bar-fill[data-v-6d2b1ff7]{background:var(--accent);height:100%}.row-count[data-v-6d2b1ff7]{text-align:right;color:var(--text);font-family:var(--font-mono);font-size:.85em}.modal-backdrop[data-v-b37e804c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:grid;place-items:center;z-index:100;padding:16px}.modal[data-v-b37e804c]{width:100%;background:var(--surface);border-radius:var(--radius);box-shadow:0 24px 64px #00000080;border:1px solid var(--border)}.modal-head[data-v-b37e804c]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-head h3[data-v-b37e804c]{margin:0;font-size:1rem;color:var(--text);text-transform:none;letter-spacing:0}.modal-body[data-v-b37e804c]{padding:18px}.modal-foot[data-v-b37e804c]{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--border)}.btn.xs[data-v-b37e804c]{padding:2px 8px;font-size:1.1em;line-height:1}.head[data-v-7e280711]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}.head h2[data-v-7e280711]{margin:0 0 4px}.head-actions[data-v-7e280711]{display:flex;gap:8px;align-items:center}.hint[data-v-7e280711]{color:var(--text-muted);font-size:.9em;max-width:540px;margin:0}.hint code[data-v-7e280711]{background:var(--surface-3);padding:1px 6px;border-radius:3px}.error[data-v-7e280711]{color:var(--negative);font-size:.85em;margin:12px 0 0}.empty[data-v-7e280711]{text-align:center;padding:48px}.empty p[data-v-7e280711]{margin:0 0 12px}.event-card[data-v-7e280711]{padding:16px 18px}.event-head[data-v-7e280711]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.event-name[data-v-7e280711]{font-weight:600;font-size:1rem;color:var(--text);margin-bottom:4px}.event-sel[data-v-7e280711]{font-family:var(--font-mono);font-size:.8em;color:var(--text-muted);background:var(--surface-3);padding:2px 6px;border-radius:3px;display:inline-block}.event-desc[data-v-7e280711]{font-size:.85em;color:var(--text-muted);margin-top:6px}.event-actions[data-v-7e280711]{display:flex;align-items:center;gap:12px}.event-total[data-v-7e280711]{text-align:right}.t-n[data-v-7e280711]{font-size:1.4rem;font-weight:600;color:var(--text);font-family:var(--font-mono);letter-spacing:-.02em}.t-l[data-v-7e280711]{font-size:.72em;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.form[data-v-7e280711]{display:flex;flex-direction:column;gap:14px}.form label[data-v-7e280711]{display:flex;flex-direction:column;gap:5px;font-size:.8em;color:var(--text-muted)}.form label small[data-v-7e280711]{font-size:.85em;color:var(--text-dim);font-weight:400}.form input[data-v-7e280711]{width:100%}.form input.mono[data-v-7e280711]{font-family:var(--font-mono);font-size:.92em}.btn.xs[data-v-7e280711]{padding:6px 10px;font-size:.75em}.btn.xs svg[data-v-7e280711]{display:block}.head[data-v-14b15197]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}.head h2[data-v-14b15197]{margin:0 0 4px}.head-actions[data-v-14b15197]{display:flex;gap:8px;align-items:center}.hint[data-v-14b15197]{color:var(--text-muted);font-size:.9em;max-width:540px;margin:0}.hint code[data-v-14b15197]{background:var(--surface-3);padding:1px 6px;border-radius:3px}.error[data-v-14b15197]{color:var(--negative);font-size:.85em;margin:12px 0 0}.empty[data-v-14b15197]{padding:24px 16px;font-size:.9em}.matched-grid[data-v-14b15197]{margin-bottom:18px}.route-card[data-v-14b15197]{padding:16px 18px}.route-head[data-v-14b15197]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.route-name[data-v-14b15197]{font-weight:600;font-size:1rem;color:var(--text);margin-bottom:4px}.route-pattern[data-v-14b15197]{font-family:var(--font-mono);font-size:.8em;color:var(--text-muted);background:var(--surface-3);padding:2px 6px;border-radius:3px;display:inline-block}.route-subline[data-v-14b15197]{font-size:.78em;margin-top:6px}.route-actions[data-v-14b15197]{display:flex;align-items:center;gap:12px}.route-total[data-v-14b15197]{text-align:right}.t-n[data-v-14b15197]{font-size:1.4rem;font-weight:600;color:var(--text);font-family:var(--font-mono);letter-spacing:-.02em}.t-l[data-v-14b15197]{font-size:.72em;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.route-meta[data-v-14b15197]{display:flex;gap:18px;flex-wrap:wrap;font-size:.85em;color:var(--text);margin-bottom:12px}.meta-l[data-v-14b15197]{color:var(--text-muted);font-size:.85em;margin-right:4px}.form[data-v-14b15197]{display:flex;flex-direction:column;gap:14px}.form label[data-v-14b15197]{display:flex;flex-direction:column;gap:5px;font-size:.8em;color:var(--text-muted)}.form label small[data-v-14b15197]{font-size:.85em;color:var(--text-dim);font-weight:400}.form input[data-v-14b15197]{width:100%}.form input.mono[data-v-14b15197]{font-family:var(--font-mono);font-size:.92em}.btn.xs[data-v-14b15197]{padding:4px 10px;font-size:.75em}.btn.xs svg[data-v-14b15197]{display:block}.head[data-v-127c09ba]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}.head h2[data-v-127c09ba]{margin:0 0 4px}.hint[data-v-127c09ba]{color:var(--text-muted);font-size:.9em;max-width:640px;margin:0}.hint code[data-v-127c09ba]{background:var(--surface-3);padding:1px 6px;border-radius:3px}.muted[data-v-127c09ba]{color:var(--text-muted)}.card+.card[data-v-127c09ba]{margin-top:14px}.key-card .card-head[data-v-127c09ba]{margin-bottom:14px}.key-row[data-v-127c09ba]{display:flex;flex-direction:column;gap:4px}.key-label[data-v-127c09ba]{font-size:.7em;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-weight:600}.key-val[data-v-127c09ba]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.snippet[data-v-127c09ba]{margin:0;padding:14px 16px;background:var(--bg);border:1px solid var(--surface-2);border-radius:var(--radius-sm);color:#cdd3da;font-family:var(--font-mono);font-size:.82em;overflow-x:auto;white-space:pre}.actions[data-v-127c09ba]{display:flex;gap:8px;margin-top:10px}.btn.xs[data-v-127c09ba]{padding:4px 10px;font-size:.78em}code[data-v-127c09ba]{font-family:var(--font-mono);font-size:.85em;color:var(--text-muted)}.error[data-v-b7397c99]{color:var(--negative);font-size:.85em;padding:8px 20px}.pill.admin[data-v-b7397c99]{background:#f7900926;color:#f79009}.pill.member[data-v-b7397c99]{background:var(--surface-3);color:var(--text-muted)}.ws-cell[data-v-b7397c99]{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ws-chip[data-v-b7397c99]{display:inline-flex;gap:6px;align-items:center;background:var(--surface-3);padding:2px 8px;border-radius:999px;font-size:.82em}.ws-chip a[data-v-b7397c99]{cursor:pointer;color:var(--text-dim)}.ws-chip a[data-v-b7397c99]:hover{color:var(--negative)}.grant-row[data-v-b7397c99]{display:inline-flex;gap:4px;align-items:center}.grant-row select[data-v-b7397c99]{padding:2px 6px;font-size:.82em}.btn.xs[data-v-b7397c99]{padding:3px 8px;font-size:.78em}.btn.danger[data-v-b7397c99]{background:#f851491a;color:var(--negative);border:1px solid rgba(248,81,73,.25)}.btn.danger[data-v-b7397c99]:hover{background:#f851492e}.modal-backdrop[data-v-b7397c99]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:100}.modal-card[data-v-b7397c99]{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.modal-card h3[data-v-b7397c99]{margin:0 0 14px}.modal-card form[data-v-b7397c99]{display:flex;flex-direction:column;gap:12px}.modal-card label[data-v-b7397c99]{display:flex;flex-direction:column;gap:4px;font-size:.78em;color:var(--text-muted)}.modal-card label small[data-v-b7397c99]{color:var(--text-dim);font-weight:400}.modal-actions[data-v-b7397c99]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.invite-url[data-v-b7397c99]{background:var(--surface-2);border:1px solid var(--surface-3);padding:12px;border-radius:6px;font-family:var(--font-mono);font-size:.82em;word-break:break-all;white-space:pre-wrap}.hint[data-v-b7397c99]{color:var(--text-muted);font-size:.82em;margin:4px 0}.docs-main[data-v-a1ab7843]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px 36px;overflow:hidden}.docs-toc-inline[data-v-a1ab7843]{margin-bottom:22px;padding:12px 16px;background:var(--surface-2);border:1px solid var(--surface-3);border-radius:8px;font-size:.88em}.docs-toc-inline>summary[data-v-a1ab7843]{cursor:pointer;font-weight:600;color:var(--text);-webkit-user-select:none;user-select:none;list-style:none}.docs-toc-inline>summary[data-v-a1ab7843]::-webkit-details-marker{display:none}.docs-toc-inline>summary[data-v-a1ab7843]:before{content:"▸";display:inline-block;margin-right:6px;transition:transform .15s}.docs-toc-inline[open]>summary[data-v-a1ab7843]:before{transform:rotate(90deg)}.docs-toc-inline ul[data-v-a1ab7843]{list-style:none;padding:0;margin:12px 0 0;columns:2;column-gap:22px}.docs-toc-inline li[data-v-a1ab7843]{padding:3px 0;break-inside:avoid}.docs-toc-inline li.h3[data-v-a1ab7843]{padding-left:14px;font-size:.92em}.docs-toc-inline a[data-v-a1ab7843]{color:var(--text-muted);cursor:pointer}.docs-toc-inline a[data-v-a1ab7843]:hover{color:var(--accent)}.error[data-v-a1ab7843]{color:var(--negative)}@media (max-width: 700px){.docs-main[data-v-a1ab7843]{padding:18px}.docs-toc-inline ul[data-v-a1ab7843]{columns:1}}.docs-content{color:var(--text);line-height:1.65;min-width:0;word-wrap:break-word;overflow-wrap:anywhere}.docs-content h1{font-size:1.7rem;margin:0 0 18px;word-break:break-word}.docs-content h2{font-size:1.25rem;margin:28px 0 12px;padding-top:16px;border-top:1px solid var(--surface-2);scroll-margin-top:18px}.docs-content h2:first-child{border-top:0;padding-top:0}.docs-content h3{font-size:1.02rem;margin:22px 0 8px;scroll-margin-top:18px}.docs-content h4{font-size:.95rem;margin:16px 0 6px;color:var(--text-muted)}.docs-content p{margin:10px 0}.docs-content ul,.docs-content ol{margin:10px 0;padding-left:22px}.docs-content li{margin:4px 0}.docs-content hr{border:0;border-top:1px solid var(--surface-2);margin:28px 0}.docs-content a{color:var(--accent);word-break:break-all}.docs-content code{font-family:var(--font-mono);font-size:.88em;background:var(--surface-2);padding:1px 6px;border-radius:4px;white-space:nowrap}.docs-content pre{background:var(--surface-2);border:1px solid var(--surface-3);padding:14px 16px;border-radius:6px;overflow-x:auto;overflow-y:hidden;max-width:100%;font-size:.85em;line-height:1.5}.docs-content pre code{background:transparent;padding:0;font-size:inherit;white-space:pre;word-break:normal;overflow-wrap:normal}.docs-content pre code.hljs{background:transparent!important;padding:0!important}.docs-content table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:14px 0;font-size:.9em}.docs-content th,.docs-content td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--surface-2);vertical-align:top}.docs-content th{color:var(--text-muted);font-weight:600;font-size:.78em;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.docs-content td code{white-space:nowrap}.docs-content blockquote{margin:14px 0;padding:10px 16px;border-left:3px solid var(--accent);background:var(--surface-2);color:var(--text-muted)}.docs-content img{max-width:100%;height:auto}.head[data-v-ad423c05]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}.head h2[data-v-ad423c05]{margin:0 0 4px}.hint[data-v-ad423c05]{color:var(--text-muted);font-size:.9em;max-width:640px;margin:0}.hint code[data-v-ad423c05]{background:var(--surface-3);padding:1px 6px;border-radius:3px}.error[data-v-ad423c05]{color:var(--negative);font-size:.85em;margin:8px 0}.list[data-v-ad423c05]{padding:0;overflow:hidden}.type-chip[data-v-ad423c05]{display:inline-block;margin-right:4px;padding:1px 8px;border-radius:999px;background:var(--surface-3);font-size:.78em;color:var(--text-muted)}.pill.ok[data-v-ad423c05]{background:#3fb9501f;color:#56d364}.pill.off[data-v-ad423c05]{background:var(--surface-3);color:var(--text-muted)}.btn.xs[data-v-ad423c05]{padding:3px 8px;font-size:.78em}.btn.danger[data-v-ad423c05]{background:#f851491a;color:var(--negative);border:1px solid rgba(248,81,73,.25)}.btn.danger[data-v-ad423c05]:hover{background:#f851492e}.modal-backdrop[data-v-ad423c05]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:100}.modal-card[data-v-ad423c05]{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.modal-card h3[data-v-ad423c05]{margin:0 0 14px}.modal-card form[data-v-ad423c05]{display:flex;flex-direction:column;gap:14px}.modal-card label[data-v-ad423c05]{display:flex;flex-direction:column;gap:5px;font-size:.8em;color:var(--text-muted)}.modal-card label small[data-v-ad423c05]{font-size:.85em;color:var(--text-dim);font-weight:400}.modal-card label.check-row[data-v-ad423c05]{flex-direction:row;align-items:center;gap:8px}.modal-card input[data-v-ad423c05]{width:100%}.modal-card .check-row input[data-v-ad423c05]{width:auto}.type-grid[data-v-ad423c05]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}.check[data-v-ad423c05]{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:.85em;color:var(--text)}.check input[data-v-ad423c05]{width:auto}.modal-actions[data-v-ad423c05]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.snippet[data-v-ad423c05]{background:var(--surface-2);border:1px solid var(--surface-3);padding:12px;border-radius:6px;font-family:var(--font-mono);font-size:.85em;word-break:break-all;white-space:pre-wrap}.head[data-v-9158b0d3]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}.head h2[data-v-9158b0d3]{margin:0 0 4px}.hint[data-v-9158b0d3]{color:var(--text-muted);font-size:.9em;max-width:720px;margin:0}.search[data-v-9158b0d3]{width:240px}.cat-card[data-v-9158b0d3]{padding:0;overflow:hidden}.cat-card+.cat-card[data-v-9158b0d3]{margin-top:14px}.cat-card .card-head[data-v-9158b0d3]{padding:14px 20px 8px;margin:0}.cat-card table[data-v-9158b0d3]{width:100%}.cat-card td[data-v-9158b0d3],.cat-card th[data-v-9158b0d3]{padding:8px 20px}th.pri[data-v-9158b0d3],td.pri[data-v-9158b0d3]{width:48px;text-align:right;font-variant-numeric:tabular-nums}.error[data-v-9158b0d3]{color:var(--negative);font-size:.85em}.tenant-picker[data-v-68f9846d]{position:relative}.picker-button[data-v-68f9846d]{display:block;width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;text-align:left;transition:border-color .15s}.picker-button[data-v-68f9846d]:hover{border-color:var(--border-2)}.tenant-picker.open .picker-button[data-v-68f9846d]{border-color:var(--accent-dim)}.picker-label[data-v-68f9846d]{font-size:.62em;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-weight:600;margin-bottom:2px}.picker-value[data-v-68f9846d]{display:flex;align-items:center;gap:8px;color:var(--text);font-size:.92em;font-weight:500}.picker-value .name[data-v-68f9846d]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-value .chev[data-v-68f9846d]{color:var(--text-muted)}.dot[data-v-68f9846d]{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 8px}.dot.on[data-v-68f9846d]{background:var(--positive)}.dropdown[data-v-68f9846d]{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 -12px 32px #0006;padding:4px;z-index:30;max-height:360px;overflow-y:auto}.row[data-v-68f9846d]{display:flex;align-items:stretch;border-radius:6px;margin-bottom:2px}.row.active[data-v-68f9846d]{background:var(--surface-3)}.row[data-v-68f9846d]:hover{background:var(--surface-2)}.row.active[data-v-68f9846d]:hover{background:var(--surface-3)}.select-row[data-v-68f9846d]{display:flex;align-items:center;gap:10px;flex:1;background:transparent;border:0;padding:8px 10px;border-radius:6px;color:var(--text);text-align:left;font:inherit}.trash[data-v-68f9846d]{background:transparent;border:0;padding:0 10px;color:var(--text-muted);border-radius:6px}.trash[data-v-68f9846d]:hover:not(:disabled){background:#f851491a;color:var(--negative)}.trash[data-v-68f9846d]:disabled{opacity:.25;cursor:not-allowed}.info[data-v-68f9846d]{flex:1;min-width:0}.opt-name[data-v-68f9846d]{font-size:.92em;font-weight:500}.opt-slug[data-v-68f9846d]{font-size:.75em;color:var(--text-muted);font-family:var(--font-mono)}.check[data-v-68f9846d]{color:var(--positive);font-weight:700}.create[data-v-68f9846d]{display:block;width:100%;background:transparent;border:0;padding:8px 10px;border-radius:6px;color:var(--accent);font:inherit;text-align:left;margin-top:4px;border-top:1px solid var(--surface-2)}.create[data-v-68f9846d]:hover{background:var(--surface-2)}.form[data-v-68f9846d]{display:flex;flex-direction:column;gap:12px}.form label[data-v-68f9846d]{display:flex;flex-direction:column;gap:4px;font-size:.8em;color:var(--text-muted)}.form input[data-v-68f9846d]{width:100%}.error[data-v-68f9846d]{color:var(--negative);font-size:.85em;margin:12px 0 0}code[data-v-68f9846d]{font-family:var(--font-mono);font-size:.85em;background:var(--surface-3);padding:1px 6px;border-radius:3px}.live[data-v-df86c4d3]{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:#3fb9501a;border:1px solid rgba(63,185,80,.3);border-radius:999px;font-size:.85em;color:var(--text)}.dot[data-v-df86c4d3]{width:8px;height:8px;border-radius:50%;background:var(--positive);box-shadow:0 0 #3fb95099;animation:pulse-df86c4d3 2s infinite}.num[data-v-df86c4d3]{font-weight:600;font-variant-numeric:tabular-nums}.lbl[data-v-df86c4d3]{color:var(--text-muted)}@keyframes pulse-df86c4d3{0%{box-shadow:0 0 #3fb95099}70%{box-shadow:0 0 0 8px #3fb95000}to{box-shadow:0 0 #3fb95000}}.layout{display:flex;height:100vh;background:var(--bg)}.sidebar{width:240px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column}.brand{padding:18px 18px 14px;display:flex;align-items:center;gap:10px}.brand-mark{width:28px;height:28px;background:linear-gradient(135deg,var(--accent) 0%,var(--violet) 100%);border-radius:7px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:.95em}.brand-name{font-weight:600;letter-spacing:-.01em}.sidebar nav{flex:1;padding:8px 10px;overflow-y:auto}.nav-section{padding:14px 10px 6px;font-size:.65em;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-weight:600}.sidebar nav button{display:flex;align-items:center;gap:10px;width:100%;background:transparent;color:var(--text-muted);border:0;text-align:left;padding:8px 10px;border-radius:6px;font-size:.92em;font-weight:500}.sidebar nav button:hover{background:var(--surface-2);color:var(--text)}.sidebar nav button.active{background:var(--surface-3);color:var(--accent)}.sidebar nav button.active svg{color:var(--accent)}.sidebar-foot{padding:12px 14px;border-top:1px solid var(--border)}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:var(--bg);border-bottom:1px solid var(--border)}.topbar h1{margin:0;font-size:1.25rem}.topbar-sub{color:var(--text-dim);font-size:.78em;margin-top:2px}.topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.user-menu{display:flex;align-items:center;gap:8px;padding-left:8px;border-left:1px solid var(--border)}.user-email{font-size:.85em;color:var(--text-muted)}.auth-loading{min-height:100vh;display:grid;place-items:center;color:var(--text-muted);background:var(--bg)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:100}.modal-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.modal-card h3{margin:0 0 14px}.modal-card form{display:flex;flex-direction:column;gap:12px}.modal-card label{display:flex;flex-direction:column;gap:4px;font-size:.78em;color:var(--text-muted)}.modal-card label small{color:var(--text-dim);font-weight:400}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.error{color:var(--negative);font-size:.85em;margin:0}.content{flex:1;padding:22px 24px;overflow-y:auto}.sidebar-close,.sidebar-toggle{display:none;padding:6px 8px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:40}.backdrop.visible{opacity:1;pointer-events:auto}@media (max-width: 960px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(280px,84vw);transform:translate(-100%);transition:transform .2s ease;z-index:50;box-shadow:0 0 0 1px var(--border)}.sidebar.open{transform:translate(0)}.sidebar-close{display:inline-flex;margin-left:auto}.sidebar-toggle{display:inline-flex;margin-right:4px}.brand{padding:16px}.topbar{padding:12px 14px;gap:8px}.topbar h1{font-size:1.05rem}.topbar-sub{display:none}.topbar-actions{gap:6px}.segmented button{padding:5px 9px;font-size:.8em}.content{padding:14px}}@media (max-width: 600px){.segmented{display:none}}.content table{display:table;min-width:100%}@media (max-width: 720px){.card{overflow-x:auto}}:root{--bg: #0d1117;--surface: #161b22;--surface-2: #1c222b;--surface-3: #21262d;--border: #21262d;--border-2: #2b3340;--text: #e6edf3;--text-muted: #8b949e;--text-dim: #6b727c;--accent: #58a6ff;--accent-dim: #1f6feb;--positive: #3fb950;--negative: #f85149;--warning: #d29922;--violet: #a371f7;--radius: 8px;--radius-sm: 6px;--shadow-card: 0 0 0 1px var(--border);--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Inter, system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}h1,h2,h3{font-weight:600;letter-spacing:-.01em}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1.15rem;margin:0 0 12px;color:var(--text)}h3{font-size:.85rem;margin:0 0 10px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}code{font-family:var(--font-mono);font-size:.85em}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 20px}.card .card-head{display:flex;align-items:center;justify-content:space-between;margin:-2px 0 14px}.card .card-head h3{margin:0}.card .card-head .card-action a,.card .card-head .card-action button{color:var(--text-muted);font-size:.85em;background:transparent;border:0}table{width:100%;border-collapse:collapse;font-size:.9em}th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:500;font-size:.78em;text-transform:uppercase;letter-spacing:.06em}td{padding:12px 14px;border-bottom:1px solid var(--surface-2);vertical-align:top}tbody tr:hover td{background:var(--surface-2)}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.pill{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;background:var(--surface-3);color:var(--text-muted);font-size:.75em;font-weight:500;letter-spacing:.02em}.pill.click{background:#3fb95026;color:#56d364}.pill.page_view{background:#58a6ff26;color:#79c0ff}.pill.navigation{background:#d2992226;color:#e3b341}.pill.session_start{background:#a371f726;color:#c79cf2}.pill.identify{background:#56d36426;color:#56d364}.pill.user_engagement{background:#7de2d126;color:#7de2d1}.pill.file_download{background:#e1d17526;color:#e1d175}.pill.view_search_results{background:#f8514926;color:#ff8a85}.pill.track{background:#a371f726;color:#c79cf2}.pill.dt-mobile{background:#3fb95026;color:#56d364}.pill.dt-tablet{background:#58a6ff26;color:#79c0ff}.pill.dt-desktop{background:#a371f726;color:#c79cf2}.pill.dt-bot{background:#f8514926;color:#ff8a85}.trend{display:inline-flex;align-items:center;gap:4px;font-size:.78em;font-weight:600}.trend.up{color:var(--positive)}.trend.down{color:var(--negative)}.trend.flat{color:var(--text-muted)}input,select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font:inherit}input:focus,select:focus{outline:none;border-color:var(--accent-dim);box-shadow:0 0 0 3px #58a6ff1f}.btn{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px;font-size:.9em;font-weight:500}.btn:hover{border-color:var(--border-2);background:var(--surface-2)}.btn.primary{background:var(--accent-dim);border-color:var(--accent-dim);color:#fff}.btn.primary:hover{background:var(--accent);border-color:var(--accent)}.btn.danger{background:var(--surface);color:var(--negative);border-color:var(--border)}.btn.danger:hover{background:#f851491a;border-color:#f8514959}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.segmented{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.segmented button{padding:7px 14px;background:transparent;color:var(--text-muted);border:0;border-right:1px solid var(--border);font-size:.85em}.segmented button:last-child{border-right:0}.segmented button:hover{color:var(--text);background:var(--surface-2)}.segmented button.active{color:var(--text);background:var(--surface-3)}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.kpi{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid.auto{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}@media (max-width: 1100px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,1fr)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-2)}::-webkit-scrollbar-track{background:var(--bg)}
