:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-card: #1e2130;--bg-card-hover: #252838;--bg-input: #252838;--border: #2e3144;--border-focus: #4f6ef7;--text-primary: #e8eaed;--text-secondary: #9ca3af;--text-muted: #6b7280;--text-inverse: #0f1117;--accent: #4f6ef7;--accent-hover: #6b85f9;--accent-muted: rgba(79, 110, 247, .15);--green: #22c55e;--green-bg: rgba(34, 197, 94, .12);--red: #ef4444;--red-bg: rgba(239, 68, 68, .12);--yellow: #f59e0b;--yellow-bg: rgba(245, 158, 11, .12);--gray: #6b7280;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--sidebar-width: 240px;--header-height: 56px;--radius: 8px;--radius-sm: 4px;--radius-lg: 12px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg)}.card:hover{background:var(--bg-card-hover)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;border:none;transition:all .15s ease}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--text-muted)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:#dc2626}.input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color .15s ease}.input:focus{outline:none;border-color:var(--border-focus)}.input::placeholder{color:var(--text-muted)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.status-active{background:var(--green)}.status-warning{background:var(--yellow)}.status-paused{background:var(--gray)}.status-error{background:var(--red)}.delta{display:inline-flex;align-items:center;gap:2px;font-size:.8125rem;font-weight:500}.delta-positive{color:var(--green)}.delta-negative{color:var(--red)}.delta-neutral{color:var(--text-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-card-hover) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:var(--space-sm) var(--space-md);color:var(--text-secondary);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th:hover{color:var(--text-primary)}.data-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border);white-space:nowrap}.data-table tr:hover td{background:var(--bg-card-hover)}.freshness{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:.6875rem;color:var(--text-muted)}.freshness-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}.freshness-stale .freshness-dot{background:var(--yellow)}.freshness-old .freshness-dot{background:var(--red)}
