@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&family=Fira+Sans:wght@400;500;600&display=swap";:root{--bg-base:#0b1220;--bg-surface:#111a2c;--bg-raised:#17233a;--border:#233250;--text-1:#e6edf7;--text-2:#8fa1bf;--text-3:#7b8ca9;--brand:#3b82f6;--brand-hover:#60a5fa;--ok:#22c55e;--warn:#f59e0b;--crit:#ef4444;--info:#38bdf8;--ai:#a78bfa;--grid:#1c2a44;--font-body:"Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif;--font-mono:"Fira Code", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color:var(--text-1);background:var(--bg-base);font:14px/1.5 var(--font-body);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100vh}body{background:var(--bg-base);color:var(--text-1);margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}code,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.layout-shell{background:var(--bg-base);min-height:100vh;display:flex}.side{background:var(--bg-surface);border-right:1px solid var(--border);flex-shrink:0;width:208px;height:100vh;padding:16px 0;position:sticky;top:0}.logo,.login-brand{color:var(--text-1);align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.logo{padding:0 20px 16px}.logo-dot{background:var(--brand);width:10px;height:10px;box-shadow:0 0 10px var(--brand);border-radius:50%;flex:none}.nav-group{color:var(--text-3);padding:14px 20px 6px;font-size:12px}.nav-item{min-height:38px;color:var(--text-2);border-left:3px solid #0000;align-items:center;gap:10px;padding:9px 20px 9px 17px;transition:background .15s,color .15s,border-color .15s;display:flex}.nav-item:hover{color:var(--text-1);background:#3b82f60f}.nav-item.on{color:var(--text-1);border-left-color:var(--brand);background:#3b82f61a}.nav-icon{justify-content:center;align-items:center;width:16px;height:16px;font-size:16px;display:inline-flex}.main{flex:1;min-width:0}.top{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1220e6;align-items:center;gap:16px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.crumb{color:var(--text-2)}.crumb b{color:var(--text-1);font-weight:500}.top-spacer{flex:1}.range-button,.icon-button,.user-button{color:var(--text-2);background:var(--bg-raised);border-color:var(--border)}.range-button:hover,.icon-button:hover,.user-button:hover{color:var(--brand-hover)!important;border-color:var(--brand)!important}.page{width:100%;max-width:1440px;margin:0 auto;padding:24px}.dashboard-shell h1{color:var(--text-1);margin:0 0 16px;font-size:20px;font-weight:600;line-height:1.5}.surface-card{border-color:var(--border)}.empty-panel{min-height:128px;color:var(--text-2);align-items:center;gap:12px;display:flex}.empty-panel strong{color:var(--text-1);font-size:16px;font-weight:600;display:block}.empty-panel p{margin:4px 0 0}.empty-dot{background:var(--ai);border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 12px #a78bfacc}.empty-dot.muted{background:var(--info);box-shadow:0 0 12px #38bdf88c}.login-page{background:linear-gradient(180deg, #38bdf80f, transparent 35%), var(--bg-base);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border-color:var(--border);width:min(100%,392px)}.login-brand{margin-bottom:20px}.login-card h1{color:var(--text-1);margin:0;font-size:20px;font-weight:600}.login-copy{color:var(--text-2);margin:6px 0 20px}.login-alert{margin-bottom:16px}.ant-card{box-shadow:none}.ant-input,.ant-input-password{font-family:var(--font-body)}.ant-badge .ant-badge-count{font-family:var(--font-mono)}@media (width<=760px){.side{width:72px}.logo span:last-child,.nav-group,.nav-item span:last-child{display:none}.logo,.nav-item{justify-content:center;padding-left:0;padding-right:0}.top{gap:8px;padding:0 12px}.crumb{white-space:nowrap;text-overflow:ellipsis;max-width:116px;overflow:hidden}.page{padding:16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
