:root{--bg-main: #09090b;--bg-shell: #0d0d0f;--bg-sidebar: #121214;--bg-panel: #151517;--bg-card: #1c1c1e;--bg-card-hover: #222225;--bg-input: #101012;--bg-elevated: #242428;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-disabled: #52525b;--text-inverse: #09090b;--border-default: #27272a;--border-soft: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--accent-lime: #ccff00;--accent-cyan: #2dd4bf;--accent-blue: #3b82f6;--accent-purple: #a855f7;--accent-orange: #f97316;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--info: #38bdf8;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 24px;--radius-full: 999px;--shadow-panel: 0 18px 60px rgba(0, 0, 0, .34);--shadow-card: 0 8px 28px rgba(0, 0, 0, .28);--glow-lime: 0 0 28px rgba(204, 255, 0, .16);--glow-danger: 0 0 22px rgba(239, 68, 68, .16);--font-sans: Inter, "Geist Sans", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Roboto Mono", ui-monospace, Menlo, Consolas, monospace}[data-theme=light]{--bg-main: #f4f4f5;--bg-shell: #ffffff;--bg-sidebar: #ffffff;--bg-panel: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f4f4f5;--bg-input: #ffffff;--bg-elevated: #f4f4f5;--text-primary: #18181b;--text-secondary: #52525b;--text-muted: #71717a;--text-disabled: #a1a1aa;--text-inverse: #fafafa;--border-default: #e4e4e7;--border-soft: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .14);--shadow-panel: 0 18px 60px rgba(0, 0, 0, .1);--shadow-card: 0 8px 28px rgba(0, 0, 0, .08)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.55;color:var(--text-primary);background:var(--bg-main);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.layout{display:flex;min-height:100vh;background:var(--bg-main);color:var(--text-primary)}.sidebar{width:248px;background:var(--bg-sidebar);color:var(--text-primary);display:flex;flex-direction:column;padding:var(--space-4) 0;flex-shrink:0;border-right:1px solid var(--border-soft)}.sidebar-brand{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-5) var(--space-4);margin-bottom:var(--space-2);border-bottom:1px solid var(--border-soft)}.sidebar-brand-logo{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--accent-lime);box-shadow:var(--glow-lime);flex-shrink:0}.sidebar-brand-text{display:flex;flex-direction:column;line-height:1.2}.sidebar-brand-name{font-weight:700;font-size:1.05rem}.sidebar-brand-sub{font-size:.72rem;color:var(--text-muted)}.sidebar nav{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3)}.sidebar nav a{display:flex;align-items:center;gap:var(--space-3);padding:.55rem var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.92rem;position:relative}.sidebar nav a svg{flex-shrink:0}.sidebar nav a:hover{background:#ffffff0a;color:var(--text-primary)}.sidebar nav a.active{background:#ffffff0f;color:var(--text-primary)}.sidebar nav a.active:before{content:"";position:absolute;left:-4px;top:20%;bottom:20%;width:3px;border-radius:var(--radius-full);background:var(--accent-lime)}.sidebar-nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-secondary);font-size:.72rem;display:inline-flex;align-items:center;justify-content:center}.sidebar-footer{margin-top:auto;padding:var(--space-4) var(--space-4) 0;border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:var(--space-2)}.main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-shell)}.topbar{height:64px;background:transparent;border-bottom:1px solid var(--border-soft);padding:0 var(--space-6);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.topbar-context{color:var(--text-secondary);font-size:.9rem}.topbar-actions{display:flex;align-items:center;gap:var(--space-3)}.topbar-search{flex:1;max-width:420px;display:flex;align-items:center;gap:var(--space-2);padding:.45rem var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-muted)}.topbar-search input{border:none;background:transparent;color:var(--text-primary);width:100%;outline:none}.topbar-search input::placeholder{color:var(--text-muted)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-secondary);cursor:pointer}.icon-btn:hover{color:var(--text-primary);background:var(--bg-card-hover)}.content{padding:var(--space-6);flex:1}.page-title{margin:0 0 var(--space-2);font-size:1.75rem;font-weight:600;line-height:1.2}.page-subtitle{margin:0 0 var(--space-6);color:var(--text-secondary);font-size:.95rem}.card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.45rem .85rem;border:1px solid var(--border-default);border-radius:var(--radius-xs);background:var(--bg-input);color:var(--text-primary);cursor:pointer}.btn:hover{background:var(--bg-card-hover)}.btn-primary{background:var(--accent-lime);border-color:var(--accent-lime);color:var(--text-inverse);font-weight:600}.btn-primary:hover{background:var(--accent-lime);box-shadow:var(--glow-lime)}.btn:disabled{opacity:.6;cursor:not-allowed}.input,.textarea{width:100%;padding:.5rem .65rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary)}.input:focus,.textarea:focus{outline:none;border-color:var(--accent-lime);box-shadow:0 0 0 1px var(--accent-lime)}.textarea{min-height:320px;resize:vertical;line-height:1.5;font-family:var(--font-mono);font-size:.92rem}.form-row{margin-bottom:.85rem}.form-row label{display:block;margin-bottom:.35rem;font-size:.9rem;color:var(--text-secondary)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-bottom:.75rem}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.2rem .55rem;border-radius:var(--radius-full);font-size:.8rem;background:var(--bg-elevated);color:var(--text-secondary)}.badge-ok{background:#22c55e26;color:var(--success)}.badge-warn{background:#f59e0b26;color:var(--warning)}.badge-danger{background:#ef444426;color:var(--danger)}.badge-info{background:#3b82f626;color:var(--accent-blue)}.badge-ai{background:#a855f726;color:var(--accent-purple)}.muted{color:var(--text-muted);font-size:.9rem}.error-text{color:var(--danger);font-size:.9rem}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th,.table td{border-bottom:1px solid var(--border-soft);padding:.7rem .5rem;text-align:left;vertical-align:top}.table th{color:var(--text-muted);font-weight:500;font-size:.82rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.metric-card{display:flex;flex-direction:column;gap:var(--space-2);background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-5)}.metric-card.metric-wide{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-6)}.metric-label{font-size:.82rem;font-weight:500;color:var(--text-secondary)}.metric-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:2.25rem;font-weight:600;line-height:1.1;color:var(--text-primary)}.metric-wide .metric-value{font-size:2.75rem}.metric-sub{font-size:.82rem;color:var(--text-muted)}.metric-sub.is-up{color:var(--success)}.metric-sub.is-alert{color:var(--danger)}.metric-spark{height:44px;margin-top:var(--space-1)}.metric-wide .metric-spark{flex:1;max-width:55%;height:64px;margin:0}.metric-card-body{display:flex;flex-direction:column;gap:var(--space-2)}.spark-empty{display:flex;align-items:center;height:100%;color:var(--text-disabled);font-size:.78rem}.dash-lower{display:grid;grid-template-columns:1fr 320px;gap:var(--space-4)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.section-title{font-size:1.1rem;font-weight:600}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-sm);background:var(--bg-input)}.segmented button{border:none;background:transparent;color:var(--text-secondary);padding:.3rem .7rem;border-radius:var(--radius-xs);cursor:pointer;font-size:.82rem}.segmented button.active{background:var(--bg-elevated);color:var(--text-primary)}.pipeline-chart{height:280px}.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);height:280px;color:var(--text-muted);text-align:center}.chart-empty-title{color:var(--text-secondary);font-weight:500}.chart-empty-hint{font-size:.82rem;max-width:320px}.review-list{display:flex;flex-direction:column;gap:var(--space-2)}.review-item{display:flex;flex-direction:column;gap:2px;padding:.7rem var(--space-3);border-radius:var(--radius-sm);background:var(--bg-panel);border:1px solid var(--border-soft)}.review-item-title{font-size:.88rem;color:var(--text-primary)}.review-item-sub{font-size:.78rem}.sidebar-status{padding:.7rem var(--space-3);border-radius:var(--radius-sm);background:var(--bg-panel);border:1px solid var(--border-soft);font-size:.82rem}.status-dot{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);margin-right:var(--space-2);vertical-align:middle}.status-dot.is-active{background:var(--accent-lime);box-shadow:var(--glow-lime)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--bg-main)}.login-card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--space-8)}.lang-switcher select{padding:.4rem .5rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary)}.landing-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-main)}.landing-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6)}.landing-brand{font-weight:700;font-size:1.2rem}.landing-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8) var(--space-4);max-width:480px;margin:0 auto}.landing-hero h1{margin:0 0 .5rem;font-size:2rem}.landing-hero .btn{margin-top:var(--space-6);padding:.65rem 1.5rem}.grid-2{display:grid;grid-template-columns:1fr 280px;gap:var(--space-4)}@media(max-width:900px){.layout{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-soft)}.grid-2,.dash-lower{grid-template-columns:1fr}}
