.login-page[data-v-ef8554b6]{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-main)}.login-card[data-v-ef8554b6]{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:40px;width:100%;max-width:400px}.login-title[data-v-ef8554b6]{font-size:20px;font-weight:600;margin-bottom:28px;text-align:center;color:var(--text-primary)}.form-group[data-v-ef8554b6]{margin-bottom:16px}.form-group label[data-v-ef8554b6]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.form-group input[data-v-ef8554b6]{width:100%;padding:10px 12px;background:var(--bg-main);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:14px;outline:none;transition:border-color .15s}.form-group input[data-v-ef8554b6]:focus{border-color:var(--accent-blue)}.error-msg[data-v-ef8554b6]{color:var(--accent-red);font-size:13px;margin-bottom:12px}.login-btn[data-v-ef8554b6]{width:100%;padding:10px;background:var(--accent-blue);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;transition:opacity .15s}.login-btn[data-v-ef8554b6]:hover:not(:disabled){opacity:.9}.login-btn[data-v-ef8554b6]:disabled{opacity:.5}.layout[data-v-c50dd3a3]{display:flex;height:100vh}.sidebar[data-v-c50dd3a3]{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar-header[data-v-c50dd3a3]{padding:20px;border-bottom:1px solid var(--border)}.sidebar-header h1[data-v-c50dd3a3]{font-size:16px;font-weight:600;color:var(--text-primary)}.sidebar-nav[data-v-c50dd3a3]{flex:1;padding:12px 0;display:flex;flex-direction:column;gap:2px}.nav-link[data-v-c50dd3a3]{display:block;padding:10px 20px;color:var(--text-secondary);font-size:14px;transition:color .15s,background .15s}.nav-link[data-v-c50dd3a3]:hover{color:var(--text-primary);background:#3b82f614}.nav-link.active[data-v-c50dd3a3]{color:var(--accent-blue);background:#3b82f61f;font-weight:500}.sidebar-footer[data-v-c50dd3a3]{padding:16px 20px;border-top:1px solid var(--border)}.logout-btn[data-v-c50dd3a3]{width:100%;padding:8px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:13px;transition:color .15s,border-color .15s}.logout-btn[data-v-c50dd3a3]:hover{color:var(--accent-red);border-color:var(--accent-red)}.content[data-v-c50dd3a3]{flex:1;overflow-y:auto;padding:32px}.metric-card[data-v-7070887c]{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px}.metric-title[data-v-7070887c]{font-size:13px;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.metric-value[data-v-7070887c]{font-size:28px;font-weight:700;line-height:1.2}.metric-subtitle[data-v-7070887c]{font-size:12px;color:var(--text-secondary);margin-top:4px}.date-range-picker[data-v-f50cebaf]{display:inline-flex;gap:0;border:1px solid var(--border);border-radius:6px;overflow:hidden}.range-btn[data-v-f50cebaf]{padding:6px 16px;background:transparent;border:none;border-right:1px solid var(--border);color:var(--text-secondary);font-size:13px;transition:color .15s,background .15s}.range-btn[data-v-f50cebaf]:last-child{border-right:none}.range-btn[data-v-f50cebaf]:hover{color:var(--text-primary);background:#3b82f614}.range-btn.active[data-v-f50cebaf]{color:var(--accent-blue);background:#3b82f626;font-weight:500}.chart-container[data-v-105fbc81]{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px;height:300px}.page-header[data-v-6987d829]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h2[data-v-6987d829]{font-size:20px;font-weight:600}.metrics-row[data-v-6987d829]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.chart-section[data-v-6987d829]{margin-bottom:24px}.chart-section h3[data-v-6987d829]{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:12px}.loading[data-v-6987d829],.error[data-v-6987d829]{padding:40px;text-align:center;color:var(--text-secondary)}.error[data-v-6987d829]{color:var(--accent-red)}.chart-container[data-v-9e2a30d3],.chart-container[data-v-db8538d8]{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px;height:300px}.page-header[data-v-6bbb4f5c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h2[data-v-6bbb4f5c]{font-size:20px;font-weight:600}.grid-2col[data-v-6bbb4f5c]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.chart-section[data-v-6bbb4f5c]{margin-bottom:24px}.chart-section h3[data-v-6bbb4f5c]{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:12px}.loading[data-v-6bbb4f5c],.error[data-v-6bbb4f5c]{padding:40px;text-align:center;color:var(--text-secondary)}.error[data-v-6bbb4f5c]{color:var(--accent-red)}.page-header[data-v-877bc825]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h2[data-v-877bc825]{font-size:20px;font-weight:600}.grid-2col[data-v-877bc825]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;align-items:start}.chart-section[data-v-877bc825]{margin-bottom:24px}.chart-section h3[data-v-877bc825]{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:12px}.loading[data-v-877bc825],.error[data-v-877bc825]{padding:40px;text-align:center;color:var(--text-secondary)}.error[data-v-877bc825]{color:var(--accent-red)}.page-header[data-v-92517ae2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h2[data-v-92517ae2]{font-size:20px;font-weight:600}.grid-2col[data-v-92517ae2]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;align-items:start}.chart-section[data-v-92517ae2]{margin-bottom:24px}.chart-section h3[data-v-92517ae2]{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:12px}.loading[data-v-92517ae2],.error[data-v-92517ae2]{padding:40px;text-align:center;color:var(--text-secondary)}.error[data-v-92517ae2]{color:var(--accent-red)}.page-header[data-v-109c75cd]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h2[data-v-109c75cd]{font-size:20px;font-weight:600}.version-selector[data-v-109c75cd]{margin-bottom:24px}.version-selector h3[data-v-109c75cd]{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:12px}.version-pills[data-v-109c75cd]{display:flex;flex-wrap:wrap;gap:8px}.version-pill[data-v-109c75cd]{padding:6px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:13px;transition:all .15s}.version-pill[data-v-109c75cd]:hover{border-color:var(--accent-blue);color:var(--text-primary)}.version-pill.active[data-v-109c75cd]{background:#3b82f626;border-color:var(--accent-blue);color:var(--accent-blue)}.releases-grid[data-v-109c75cd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.release-card[data-v-109c75cd]{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px}.release-version[data-v-109c75cd]{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--accent-blue)}.release-stats[data-v-109c75cd]{display:flex;flex-direction:column;gap:10px}.stat[data-v-109c75cd]{display:flex;justify-content:space-between;align-items:center}.stat-label[data-v-109c75cd]{font-size:13px;color:var(--text-secondary)}.stat-value[data-v-109c75cd]{font-size:15px;font-weight:600;color:var(--text-primary)}.loading[data-v-109c75cd],.error[data-v-109c75cd],.empty[data-v-109c75cd]{padding:40px;text-align:center;color:var(--text-secondary)}.error[data-v-109c75cd]{color:var(--accent-red)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-main: #0f1117;--bg-card: #1a1d27;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--accent-blue: #3b82f6;--accent-green: #10b981;--accent-red: #ef4444;--accent-yellow: #f59e0b;--border: #2d3348;--sidebar-width: 240px}html,body,#app{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-main);color:var(--text-primary);line-height:1.5}a{color:var(--accent-blue);text-decoration:none}button{cursor:pointer;font-family:inherit}input{font-family:inherit}
