@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700;800&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary: #16191f;--bg-secondary: #1e2330;--bg-card: #242938;--bg-card-hover: #2a3045;--bg-teal: #0e6b82;--bg-teal-light: #1a8fa8;--accent-lime: #8dc63f;--accent-lime-dim:#6fa030;--accent-teal: #00b8d4;--accent-teal-dim:#0092aa;--text-primary: #f0f4f8;--text-secondary: #8b98b0;--text-muted: #556070;--text-lime: #a8d855;--text-teal: #00c8e8;--border: #2e3548;--border-bright: #3d4a60;--xp-novice: #e53e3e;--xp-developing: #ed8936;--xp-competent: #ecc94b;--xp-proficient: #48bb78;--xp-expert: #4299e1;--success: #48bb78;--warning: #ed8936;--danger: #fc5c7d;--info: #00b8d4;--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--nav-height: 64px;--sidebar-width: 240px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--card-bg: var(--bg-card);--input-bg: var(--bg-secondary);--text: var(--text-primary)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--accent-teal);text-decoration:none}a:hover{color:var(--text-teal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;letter-spacing:.02em;line-height:1.2}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;transition:border-color .2s,background .2s}.card:hover{border-color:var(--border-bright)}.card-teal{background:var(--bg-teal);border:1px solid var(--bg-teal-light);border-radius:var(--radius-lg);padding:1.5rem}.label{font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-teal)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:var(--radius-sm);font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;transition:all .15s}.btn-primary{background:var(--accent-lime);color:#1a1f2e}.btn-primary:hover{background:var(--accent-lime-dim)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--border-bright);color:var(--text-primary)}.xp-bar-wrap{width:100%;height:8px;background:var(--bg-primary);border-radius:99px;overflow:hidden;position:relative}.xp-bar-fill{height:100%;border-radius:99px;transition:width .8s cubic-bezier(.34,1.56,.64,1);position:relative}.xp-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3));border-radius:99px}.stat-value{font-family:var(--font-display);font-size:2.5rem;font-weight:800;letter-spacing:-.02em;line-height:1}.stat-label{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #8dc63f4d}50%{box-shadow:0 0 0 8px #8dc63f00}}.fade-up{animation:fadeUp .4s ease forwards}.metric-value,.kpi-number,.score-number,[class*=score],[class*=metric],[class*=kpi]{font-variant-numeric:tabular-nums}.card,[class*=-card],[class*=card-]{transition:transform .15s ease,box-shadow .15s ease,border-color .2s}.card:hover,[class*=-card]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.btn-primary svg{color:#16191f}.btn-ghost svg,.btn-secondary svg{color:#8892a4;transition:color .15s}.btn-ghost:hover svg,.btn-secondary:hover svg{color:#00b8d4}.btn-danger svg{color:#ef4444}.btn-success svg{color:#8dc63f}.btn-export svg{color:#00b8d4}.btn-sync svg{color:#00b8d4;transition:transform .4s ease}.btn-sync:hover svg{transform:rotate(180deg)}.btn-sync.loading svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}svg.status-ok{color:#8dc63f}svg.status-warning{color:#f59e0b}svg.status-danger{color:#ef4444}svg.status-unknown{color:#556070}svg.status-info{color:#00b8d4}.star-filled{color:#f59e0b}.star-empty{color:#2a3040}.bell-icon{color:#556070;transition:color .15s}.bell-icon:hover{color:#00b8d4}.bell-icon.has-notifications{color:#8dc63f;animation:bell-pulse 2.5s ease-in-out infinite}@keyframes bell-pulse{0%,to{color:#8dc63f}50%{color:#f0f4f8}}
