:root {
  color-scheme: dark;
  --background: #0b0f14;
  --foreground: #e7edf5;
  --card: #111821;
  --card-foreground: #e7edf5;
  --muted: #1a2430;
  --muted-foreground: #93a4b8;
  --border: #293646;
  --input: #344456;
  --secondary: #1a2430;
  --secondary-foreground: #e7edf5;
  --primary: #3b82f6;
  --primary-foreground: #fff;
  --destructive: #f87171;
  --success: #34d399;
  --warning: #fbbf24;
  --brand: #60a5fa;
  --ring: #60a5fa;
  --console-shadow-sm: 0 1px 3px #0006;
  --console-shadow-md: 0 8px 30px #0008;
  --mono-font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
  --oomol-font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; background: var(--background); color: var(--foreground); }
body { font-size: 14px; line-height: 1.45; }
a { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
button, input, select, textarea { font: inherit; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 240px minmax(0, 1fr); }
.sidebar { border-right: 1px solid var(--border); background: var(--card); padding: 18px 12px; display: flex; flex-direction: column; gap: 20px; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--foreground); }
.brand-mark { flex: 0 0 auto; }
.sidebar-nav { display: grid; gap: 4px; }
.nav-item { display: block; padding: 9px 10px; border-radius: 6px; text-decoration: none; color: var(--muted-foreground); }
.nav-item:hover, .nav-item.active { color: var(--foreground); background: var(--muted); }
.sidebar-footer { margin-top: auto; display: grid; gap: 12px; }
.runtime-status { display: flex; gap: 8px; align-items: center; color: var(--muted-foreground); font-size: 12px; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--success); }.status-dot.error { background: var(--destructive); }
.main-region { min-width: 0; }.shell-header { min-height: 64px; border-bottom: 1px solid var(--border); display: flex; align-items: center; padding: 0 24px; }.shell-header h1 { font-size: 18px; margin: 0; }
.page-header { margin-bottom: 18px; }.page-header h1 { margin-bottom: 4px; }.page-header p, .muted-copy { color: var(--muted-foreground); }
.empty-state { padding: 24px 16px; color: var(--muted-foreground); }.empty-state strong { color: var(--foreground); }
.no-icon { text-align: center; }
@media (max-width: 760px) { .app-shell { grid-template-columns: 1fr; } .sidebar { border-right: 0; border-bottom: 1px solid var(--border); } .sidebar-nav { grid-template-columns: repeat(2, minmax(0,1fr)); } }
