:root{--bg: #0e1014;--bg-elev: #161a21;--bg-elev-2: #1c2128;--border: #2a313b;--text: #e8eaed;--text-dim: #9aa0a6;--accent: #5ac8fa;--accent-strong: #0a84ff;--good: #34c759;--warn: #ffcc00;--bad: #ff453a;--radius: 6px;--font: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;font:inherit;cursor:pointer}button:hover{border-color:var(--accent)}button.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}button.primary:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:6px 10px;font:inherit;width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}textarea{min-height:100px;resize:vertical}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.nav{background:var(--bg-elev);border-right:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:4px}.nav .brand{font-weight:700;font-size:18px;margin-bottom:12px;color:var(--accent)}.nav a{display:block;padding:8px 10px;border-radius:var(--radius);color:var(--text-dim)}.nav a.active,.nav a:hover{background:var(--bg-elev-2);color:var(--text);text-decoration:none}.nav .pill{margin-top:auto;padding:8px 10px;background:var(--bg-elev-2);border-radius:var(--radius);font-size:12px;color:var(--text-dim)}.main{padding:20px 28px;overflow-x:auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h1{font-size:20px;margin:0}table{width:100%;border-collapse:collapse;font-size:13px}table th,table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}table th{font-weight:600;color:var(--text-dim);background:var(--bg-elev)}table tr:hover td{background:var(--bg-elev);cursor:pointer}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.filters>*{flex:0 0 auto}.status-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:var(--bg-elev-2);border:1px solid var(--border)}.status-pill.good{background:#34c75933;border-color:var(--good);color:var(--good)}.status-pill.warn{background:#fc03;border-color:var(--warn);color:var(--warn)}.status-pill.bad{background:#ff453a33;border-color:var(--bad);color:var(--bad)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:10}.drawer{position:fixed;top:0;right:0;width:540px;height:100vh;background:var(--bg-elev);border-left:1px solid var(--border);padding:20px;overflow-y:auto;z-index:11;display:flex;flex-direction:column;gap:12px}.drawer h2{margin:0}.drawer .meta{color:var(--text-dim);font-size:12px}.drawer .actions{display:flex;gap:8px;margin-top:auto}.login-card{width:320px;margin:80px auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:12px}.login-card h1{margin:0 0 4px;font-size:18px}.login-card .err{color:var(--bad);font-size:12px}.muted{color:var(--text-dim)}.error{color:var(--bad)}.activity-job{border-bottom:1px solid var(--border);padding:12px 0}.activity-job .header{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim)}.activity-job .logs{margin-top:6px;background:var(--bg-elev-2);padding:8px 10px;border-radius:var(--radius);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;white-space:pre-wrap}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}form .row{display:flex;gap:8px;margin-bottom:8px;align-items:center}form label{width:160px;color:var(--text-dim);font-size:12px}
