.app-root{min-height:100vh;transition:background .3s,color .3s}.app-root.dark{--bg-base:#191414;--bg-surface:#121212;--bg-card:#1f1f1f;--bg-card-hover:#282828;--border-subtle:#2a2a2a;--text-primary:#fff;--text-secondary:#b3b3b3;--text-muted:#535353;color:#fff;background-color:#191414}.app-root.light{--bg-base:#f5f5f5;--bg-surface:#ebebeb;--bg-card:#fff;--bg-card-hover:#f0f0f0;--border-subtle:#e0e0e0;--text-primary:#191414;--text-secondary:#4a4a4a;--text-muted:#888;color:#191414;background-color:#f5f5f5}.badge[data-v-fe90044d]{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:600;display:inline-flex}.badge--live[data-v-fe90044d]{color:#1db954;background:#1db9541a;border:1px solid #1db95440}.badge--paused[data-v-fe90044d]{color:#b3b3b3;background:#b3b3b314;border:1px solid #b3b3b333}.badge--error[data-v-fe90044d]{color:#ef4444;background:#ef44441a;border:1px solid #ef444440}.badge--reconnecting[data-v-fe90044d]{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b40}.badge__dot[data-v-fe90044d]{background:currentColor;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-dot-fe90044d;box-shadow:0 0 6px}@keyframes pulse-dot-fe90044d{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.header[data-v-f65a3cb4]{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:50;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.header__brand[data-v-f65a3cb4]{align-items:center;gap:12px;display:flex}.header__logo[data-v-f65a3cb4]{flex-shrink:0}.header__title[data-v-f65a3cb4]{color:var(--text-primary);letter-spacing:.12em;margin:0;font-family:Syne,sans-serif;font-size:1.1rem;font-weight:800;line-height:1}.header__subtitle[data-v-f65a3cb4]{color:var(--text-muted);margin:3px 0 0;font-family:DM Sans,sans-serif;font-size:.7rem}.header__controls[data-v-f65a3cb4]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chart-toggle[data-v-f65a3cb4]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;align-items:center;gap:2px;padding:3px;display:flex}.toggle-btn[data-v-f65a3cb4]{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.toggle-btn[data-v-f65a3cb4]:hover{color:var(--text-secondary);background:var(--border-subtle)}.toggle-btn--active[data-v-f65a3cb4]{color:#1db954;background:#1db9541f}.btn-pause[data-v-f65a3cb4]{border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 14px;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-pause[data-v-f65a3cb4]:hover{color:#1db954;background:#1db95414;border-color:#1db954}.btn-pause__icon[data-v-f65a3cb4]{align-items:center;display:flex}.time-range[data-v-f65a3cb4]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex}.time-btn[data-v-f65a3cb4]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 12px;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:500;transition:all .18s}.time-btn[data-v-f65a3cb4]:hover{color:var(--text-secondary)}.time-btn--active[data-v-f65a3cb4]{background:var(--border-subtle);color:var(--text-primary)}.btn-theme[data-v-f65a3cb4]{border:1px solid var(--border-subtle);background:var(--bg-card);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-theme[data-v-f65a3cb4]:hover{color:#1db954;background:#1db95414;border-color:#1db954}@media (width<=640px){.header[data-v-f65a3cb4]{padding:.875rem 1rem}.time-range[data-v-f65a3cb4],.chart-toggle[data-v-f65a3cb4]{display:none}}.metric-card[data-v-bb7b9b16]{background:#1f1f1f;border:1px solid #2a2a2a;border-radius:12px;flex-direction:column;gap:10px;padding:1.1rem 1.25rem;transition:border-color .2s,background .2s;display:flex}.metric-card[data-v-bb7b9b16]:hover{background:#252525;border-color:#1db95433}.metric-card__top[data-v-bb7b9b16]{justify-content:space-between;align-items:center;display:flex}.metric-card__label[data-v-bb7b9b16]{color:#b3b3b3;text-transform:uppercase;letter-spacing:.05em;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:500}.metric-card__icon[data-v-bb7b9b16]{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.metric-card__value-row[data-v-bb7b9b16]{overflow:hidden}.metric-card__value[data-v-bb7b9b16]{color:#fff;letter-spacing:-.03em;font-family:Syne,sans-serif;font-size:1.75rem;font-weight:800;line-height:1;display:block}.animate-count-up[data-v-bb7b9b16]{animation:.35s ease-out both count-up-bb7b9b16}@keyframes count-up-bb7b9b16{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.metric-card__footer[data-v-bb7b9b16]{align-items:center;gap:6px;display:flex}.metric-card__delta[data-v-bb7b9b16]{align-items:center;gap:3px;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:600;display:inline-flex}.delta--up[data-v-bb7b9b16]{color:#1db954}.delta--down[data-v-bb7b9b16]{color:#ef4444}.metric-card__period[data-v-bb7b9b16]{color:#535353;font-family:DM Sans,sans-serif;font-size:.72rem}.feed[data-v-4890ff4b]{background:#1f1f1f;border:1px solid #2a2a2a;border-radius:12px;flex-direction:column;height:100%;display:flex;overflow:hidden}.feed__header[data-v-4890ff4b]{border-bottom:1px solid #2a2a2a;flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;display:flex}.feed__title[data-v-4890ff4b]{color:#b3b3b3;text-transform:uppercase;letter-spacing:.06em;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500}.feed__count[data-v-4890ff4b]{color:#535353;font-family:JetBrains Mono,monospace;font-size:.7rem}.feed__controls[data-v-4890ff4b]{border-bottom:1px solid #2a2a2a;flex-direction:column;flex-shrink:0;gap:8px;padding:.6rem 1.25rem;display:flex}.feed__search[data-v-4890ff4b]{color:#535353;background:#282828;border:1px solid #2a2a2a;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;transition:border-color .2s;display:flex}.feed__search[data-v-4890ff4b]:focus-within{color:#b3b3b3;border-color:#1db95466}.feed__search-input[data-v-4890ff4b]{color:#fff;background:0 0;border:none;outline:none;flex:1;font-family:DM Sans,sans-serif;font-size:.78rem}.feed__search-input[data-v-4890ff4b]::placeholder{color:#535353}.feed__clear[data-v-4890ff4b]{color:#535353;cursor:pointer;background:0 0;border:none;padding:0;font-size:.7rem;line-height:1}.feed__clear[data-v-4890ff4b]:hover{color:#b3b3b3}.feed__filters[data-v-4890ff4b]{flex-wrap:wrap;gap:4px;display:flex}.filter-btn[data-v-4890ff4b]{color:#535353;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #2a2a2a;border-radius:999px;padding:3px 10px;font-family:DM Sans,sans-serif;font-size:.68rem;font-weight:500;transition:all .15s}.filter-btn[data-v-4890ff4b]:hover{color:#b3b3b3;border-color:#3a3a3a}.filter-btn--active[data-v-4890ff4b]{color:#1db954;background:#1db9541a;border-color:#1db95459}.feed__list[data-v-4890ff4b]{scroll-behavior:smooth;flex:1;padding:.5rem 0;overflow-y:auto}.feed__item[data-v-4890ff4b]{border-left:2px solid #0000;align-items:center;gap:10px;padding:.6rem 1.25rem;transition:background .15s;display:flex}.feed__item[data-v-4890ff4b]:hover{background:#252525}.feed__item--success[data-v-4890ff4b]{border-left-color:#1db954}.feed__item--warning[data-v-4890ff4b]{border-left-color:#f59e0b}.feed__item--info[data-v-4890ff4b]{border-left-color:#0000}.feed__avatar[data-v-4890ff4b]{color:#1db954;background:#1db9541f;border:1px solid #1db95433;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-family:Syne,sans-serif;font-size:.72rem;font-weight:700;display:flex}.feed__body[data-v-4890ff4b]{flex:1;min-width:0}.feed__name[data-v-4890ff4b]{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500;overflow:hidden}.feed__track[data-v-4890ff4b]{color:#535353;white-space:nowrap;text-overflow:ellipsis;font-family:DM Sans,sans-serif;font-size:.72rem;overflow:hidden}.feed__meta[data-v-4890ff4b]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.feed__city[data-v-4890ff4b]{color:#535353;align-items:center;gap:3px;font-family:DM Sans,sans-serif;font-size:.7rem;display:flex}.feed__time[data-v-4890ff4b]{color:#3a3a3a;font-family:JetBrains Mono,monospace;font-size:.65rem}.feed__type[data-v-4890ff4b]{border-radius:999px;flex-shrink:0;padding:2px 7px;font-family:DM Sans,sans-serif;font-size:.65rem;font-weight:500}.type--stream[data-v-4890ff4b]{color:#1db954;background:#1db9541a}.type--like[data-v-4890ff4b]{color:#ec4899;background:#ec48991a}.type--share[data-v-4890ff4b]{color:#06b6d4;background:#06b6d41a}.type--playlist_add[data-v-4890ff4b]{color:#a855f7;background:#a855f71a}.type--skip[data-v-4890ff4b]{color:#f59e0b;background:#f59e0b1a}.feed__empty[data-v-4890ff4b]{color:#535353;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:2rem;font-family:DM Sans,sans-serif;font-size:.8rem;display:flex}.feed-item-enter-active[data-v-4890ff4b]{transition:all .3s ease-out}.feed-item-enter-from[data-v-4890ff4b]{opacity:0;transform:translateY(-8px)}.feed-item-enter-to[data-v-4890ff4b]{opacity:1;transform:translateY(0)}.feed-item-leave-active[data-v-4890ff4b]{display:none}.table-wrap[data-v-9db1c5db]{background:#1f1f1f;border:1px solid #2a2a2a;border-radius:12px;flex-direction:column;height:100%;display:flex;overflow:hidden}.table-header[data-v-9db1c5db]{border-bottom:1px solid #2a2a2a;flex-shrink:0;padding:1rem 1.25rem .75rem}.table-title[data-v-9db1c5db]{color:#b3b3b3;text-transform:uppercase;letter-spacing:.06em;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500}.table-scroll[data-v-9db1c5db]{flex:1;overflow-y:auto}.tracks-table[data-v-9db1c5db]{border-collapse:collapse;width:100%;font-family:DM Sans,sans-serif}thead tr[data-v-9db1c5db]{z-index:1;background:#1a1a1a;position:sticky;top:0}th[data-v-9db1c5db]{color:#535353;text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid #2a2a2a;padding:.6rem 1rem;font-size:.7rem;font-weight:600}.track-row[data-v-9db1c5db]{border-bottom:1px solid #1a1a1a;transition:background .15s}.track-row[data-v-9db1c5db]:hover{background:#252525}.track-row[data-v-9db1c5db]:last-child{border-bottom:none}td[data-v-9db1c5db]{color:#fff;white-space:nowrap;padding:.65rem 1rem;font-size:.82rem}.col-rank[data-v-9db1c5db]{width:60px}.col-track[data-v-9db1c5db]{text-overflow:ellipsis;max-width:160px;font-weight:500;overflow:hidden}.col-artist[data-v-9db1c5db]{color:#b3b3b3;text-overflow:ellipsis;max-width:140px;overflow:hidden}.col-streams[data-v-9db1c5db]{color:#b3b3b3;font-family:JetBrains Mono,monospace;font-size:.78rem}.col-trend[data-v-9db1c5db]{width:90px}.rank-badge[data-v-9db1c5db]{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-family:Syne,sans-serif;font-size:.72rem;font-weight:700;display:inline-flex}.rank--gold[data-v-9db1c5db]{color:#ffc600;background:#ffc60026}.rank--silver[data-v-9db1c5db]{color:#b3b3b3;background:#b3b3b326}.rank--bronze[data-v-9db1c5db]{color:#cd7f32;background:#cd7f3226}.rank--default[data-v-9db1c5db]{color:#535353;background:#53535333}.trend-up[data-v-9db1c5db]{color:#1db954;font-size:.75rem;font-weight:600}.trend-down[data-v-9db1c5db]{color:#ef4444;font-size:.75rem;font-weight:600}.skeleton[data-v-f212e9de]{background:linear-gradient(90deg,#1f1f1f 25%,#2a2a2a 50%,#1f1f1f 75%) 0 0/200% 100%;animation:1.6s infinite shimmer-f212e9de}@keyframes shimmer-f212e9de{0%{background-position:200% 0}to{background-position:-200% 0}}.chart-wrapper[data-v-7192fac5]{flex-direction:column;gap:.75rem;height:100%;display:flex}.chart-header[data-v-7192fac5]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.chart-title[data-v-7192fac5]{color:#b3b3b3;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500}.legend[data-v-7192fac5]{flex-wrap:wrap;gap:8px;display:flex}.legend-item[data-v-7192fac5]{cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:2px 0;transition:opacity .2s;display:flex}.legend-item.dimmed[data-v-7192fac5]{opacity:.35}.legend-dot[data-v-7192fac5]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.legend-label[data-v-7192fac5]{color:#b3b3b3;white-space:nowrap;font-family:DM Sans,sans-serif;font-size:.7rem}.chart-body[data-v-7192fac5]{position:relative}.chart-empty[data-v-7192fac5]{color:#535353;pointer-events:none;z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-family:DM Sans,sans-serif;font-size:.8rem;display:flex;position:absolute;inset:0}.echart-el[data-v-7192fac5]{width:100%;transition:opacity .3s}.chart-wrapper[data-v-f70c270c]{flex-direction:column;gap:.5rem;height:100%;display:flex}.chart-title[data-v-f70c270c]{color:#b3b3b3;text-transform:uppercase;letter-spacing:.06em;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500}.chart-body[data-v-f70c270c]{position:relative}.echart-el[data-v-f70c270c]{width:100%;height:100%}.chart-wrapper[data-v-42b9777d]{flex-direction:column;gap:.75rem;height:100%;display:flex}.chart-header[data-v-42b9777d]{align-items:center;display:flex}.chart-title[data-v-42b9777d]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500}.pie-body[data-v-42b9777d]{flex:1;align-items:center;gap:1rem;display:flex}.echart-el[data-v-42b9777d]{flex:0 0 160px;height:160px}.pie-legend[data-v-42b9777d]{flex-direction:column;flex:1;gap:8px;display:flex}.legend-row[data-v-42b9777d]{align-items:center;gap:7px;display:flex}.legend-dot[data-v-42b9777d]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.legend-region[data-v-42b9777d]{color:var(--text-secondary,#b3b3b3);flex:1;font-family:DM Sans,sans-serif;font-size:.72rem}.legend-pct[data-v-42b9777d]{color:var(--text-primary,#fff);font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:500}.chart-wrapper[data-v-eef10932]{flex-direction:column;gap:.5rem;height:100%;display:flex}.chart-header[data-v-eef10932]{align-items:center;display:flex}.chart-title[data-v-eef10932]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500}.echart-el[data-v-eef10932]{flex:1;width:100%}.chart-wrapper[data-v-9a84bfb3]{flex-direction:column;gap:.5rem;height:100%;display:flex}.chart-title[data-v-9a84bfb3]{color:#b3b3b3;text-transform:uppercase;letter-spacing:.06em;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500}.chart-empty[data-v-9a84bfb3]{color:#535353;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;font-family:DM Sans,sans-serif;font-size:.8rem;display:flex}.echart-el[data-v-9a84bfb3]{flex:1;width:100%}.chart-wrapper[data-v-a8a47203]{flex-direction:column;gap:.5rem;height:100%;display:flex}.chart-header[data-v-a8a47203]{justify-content:space-between;align-items:center;display:flex}.chart-title[data-v-a8a47203]{color:#b3b3b3;text-transform:uppercase;letter-spacing:.06em;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500}.chart-subtitle[data-v-a8a47203]{color:#535353;font-family:JetBrains Mono,monospace;font-size:.65rem}.chart-body[data-v-a8a47203]{position:relative}.echart-el[data-v-a8a47203]{width:100%}.chart-wrapper[data-v-44750c9d]{flex-direction:column;gap:.5rem;height:100%;display:flex}.chart-header[data-v-44750c9d]{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chart-title[data-v-44750c9d]{color:#b3b3b3;text-transform:uppercase;letter-spacing:.06em;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500}.chart-subtitle[data-v-44750c9d]{color:#535353;font-family:JetBrains Mono,monospace;font-size:.65rem}.chart-body[data-v-44750c9d]{flex:1;position:relative}.chart-empty[data-v-44750c9d]{color:#535353;pointer-events:none;z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-family:DM Sans,sans-serif;font-size:.8rem;display:flex;position:absolute;inset:0}.echart-el[data-v-44750c9d]{width:100%;transition:opacity .3s}.dashboard[data-v-82013ac7]{background:var(--bg-base);min-height:100vh;color:var(--text-primary)}.dashboard__loading[data-v-82013ac7],.dashboard__error[data-v-82013ac7]{flex-direction:column;gap:1rem;padding:2rem 1.5rem;display:flex}.dashboard__error[data-v-82013ac7]{color:#ef4444;justify-content:center;align-items:center;min-height:60vh;font-family:DM Sans,sans-serif}.dashboard__main[data-v-82013ac7]{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.metrics-grid[data-v-82013ac7]{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.two-col-grid[data-v-82013ac7]{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.full-row[data-v-82013ac7]{height:340px}.card[data-v-82013ac7]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:1.1rem 1.25rem;transition:border-color .2s,background .3s}.card[data-v-82013ac7]:hover{background:var(--bg-card-hover);border-color:#1db95426}.loading-grid[data-v-82013ac7]{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.loading-grid--2[data-v-82013ac7]{grid-template-columns:repeat(2,1fr)}@media (width<=1024px){.metrics-grid[data-v-82013ac7],.loading-grid[data-v-82013ac7]{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.dashboard__main[data-v-82013ac7]{padding:1rem}.metrics-grid[data-v-82013ac7],.two-col-grid[data-v-82013ac7],.loading-grid[data-v-82013ac7],.loading-grid--2[data-v-82013ac7]{grid-template-columns:1fr}.full-row[data-v-82013ac7]{height:auto;min-height:300px}}
