:root{--bg-base: #0a0a0a;--bg-surface: #141414;--bg-elevated: #1c1c1c;--bg-hover: #242424;--text-primary: #e8e8e8;--text-secondary: #a0a0a0;--text-muted: #6a6a6a;--text-inverse: #0a0a0a;--border-base: #2a2a2a;--border-strong: #3a3a3a;--border-focus: #4ec9b0;--brand: #4ec9b0;--brand-dim: #3a9683;--brand-bg: rgba(78, 201, 176, .1);--state-ok: #4ade80;--state-warn: #facc15;--state-error: #ef4444;--state-info: #60a5fa;--state-ok-bg: rgba(74, 222, 128, .1);--state-warn-bg: rgba(250, 204, 21, .1);--state-error-bg: rgba(239, 68, 68, .1);--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--topbar-height: 56px;--top-strip-height: 36px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body{overflow-y:scroll}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-base);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer;transition:background .1s,border-color .1s}button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}button:disabled{opacity:.5;cursor:not-allowed}button.btn-primary{background:var(--brand);color:var(--text-inverse);border-color:var(--brand);font-weight:500}button.btn-primary:hover:not(:disabled){background:var(--brand-dim);border-color:var(--brand-dim)}button.btn-ghost{background:transparent;border-color:transparent}button.btn-ghost:hover:not(:disabled){background:var(--bg-hover)}button.btn-outline{background:transparent;border-color:var(--border-base)}button.btn-outline:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-focus)}button.btn-danger{background:transparent;color:var(--state-error);border-color:var(--state-error)}button.btn-danger:hover:not(:disabled){background:var(--state-error-bg)}input,select,textarea{font-family:inherit;font-size:inherit;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-base);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);width:100%;outline:none;transition:border-color .1s}input:focus,select:focus,textarea:focus{border-color:var(--border-focus)}input::placeholder{color:var(--text-muted)}label{display:block;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.card{background:var(--bg-surface);border:1px solid var(--border-base);border-radius:var(--radius-lg);padding:var(--space-5)}.mono{font-family:var(--font-mono)}.muted{color:var(--text-muted)}.subtle{color:var(--text-secondary)}.error-text{color:var(--state-error)}.top-strip{height:var(--top-strip-height);background:var(--bg-base);border-bottom:1px solid var(--border-base);display:flex;align-items:center;justify-content:flex-end;padding:0 var(--space-5);font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);gap:var(--space-5)}.top-strip-metric{display:inline-flex;align-items:center;gap:var(--space-2)}.top-strip-metric-label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.top-strip-metric-value{color:var(--text-primary)}.topbar{height:var(--topbar-height);background:var(--bg-surface);border-bottom:1px solid var(--border-base);display:flex;align-items:center;padding:0 var(--space-5)}.topbar-brand{font-size:18px;font-weight:300;letter-spacing:.15em;color:var(--brand);margin-right:var(--space-6)}.nav-tabs{display:flex;gap:var(--space-1);flex:1}.nav-tab{background:transparent;border:none;color:var(--text-secondary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:background .1s,color .1s}.nav-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-tab.active{background:var(--brand-bg);color:var(--brand)}.user-widget{display:flex;align-items:center;gap:var(--space-3);font-size:13px;color:var(--text-secondary)}.user-widget-name{color:var(--text-primary);font-weight:500}.user-widget-role{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-elevated);padding:2px 6px;border-radius:var(--radius-sm)}.page{padding:var(--space-6) var(--space-5);max-width:1400px;margin:0 auto}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:24px;font-weight:400;margin:0;color:var(--text-primary)}.page-subtitle{color:var(--text-secondary);margin-top:var(--space-2)}.empty-state{text-align:center;padding:var(--space-7) var(--space-5);color:var(--text-muted)}.empty-state-title{font-size:16px;color:var(--text-secondary);margin-bottom:var(--space-2)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.login-card{width:100%;max-width:380px;background:var(--bg-surface);border:1px solid var(--border-base);border-radius:var(--radius-lg);padding:var(--space-6)}.login-brand{text-align:center;margin-bottom:var(--space-6)}.login-brand-title{font-size:32px;font-weight:300;letter-spacing:.2em;color:var(--brand);margin:0}.login-brand-subtitle{color:var(--text-muted);font-size:12px;letter-spacing:.05em;margin-top:var(--space-2)}.login-field{margin-bottom:var(--space-4)}.login-error{background:var(--state-error-bg);color:var(--state-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:13px}.login-info{background:var(--state-info);background:#60a5fa1a;color:var(--state-info);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:13px}.login-bootstrap-hint{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-base);font-size:12px;color:var(--text-muted);text-align:center}
