:root { --bg:#0d1117; --panel:#161b22; --fg:#e6edf3; --muted:#8b949e; --accent:#58a6ff; --danger:#f85149; --ok:#3fb950; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, sans-serif; background:var(--bg); color:var(--fg); }
nav { display:flex; gap:1rem; align-items:center; padding:.6rem 1rem; background:var(--panel); border-bottom:1px solid #30363d; }
nav a { color:var(--accent); text-decoration:none; }
main { padding:1rem; max-width:1100px; }
h1 { font-size:1.4rem; } h2 { font-size:1.1rem; margin-top:1.6rem; }
table { border-collapse:collapse; width:100%; margin:.5rem 0; }
th, td { text-align:left; padding:.35rem .6rem; border-bottom:1px solid #21262d; font-size:.9rem; }
th { color:var(--muted); font-weight:600; }
.card { display:flex; flex-direction:column; gap:.6rem; max-width:520px; padding:1rem; background:var(--panel); border:1px solid #30363d; border-radius:8px; }
label { display:flex; flex-direction:column; gap:.25rem; font-size:.9rem; }
input, select { padding:.4rem .5rem; background:#0d1117; color:var(--fg); border:1px solid #30363d; border-radius:6px; }
button { padding:.4rem .9rem; background:var(--accent); color:#0d1117; border:0; border-radius:6px; cursor:pointer; font-weight:600; }
button.danger { background:var(--danger); color:#fff; }
button.link { background:none; color:var(--accent); padding:0; }
a.button { display:inline-block; padding:.4rem .9rem; background:var(--accent); color:#0d1117; border-radius:6px; text-decoration:none; font-weight:600; }
pre { background:var(--panel); border:1px solid #30363d; border-radius:8px; padding:.8rem; overflow-x:auto; font-size:.8rem; max-height:480px; overflow-y:auto; }
.status { padding:.1rem .45rem; border-radius:4px; font-size:.75rem; }
.status.running { background:#1f6feb33; color:#79c0ff; }
.status.completed { background:#3fb95033; color:var(--ok); }
.status.failed, .status.rejected { background:#f8514933; color:var(--danger); }
.status.pending_approval { background:#d2992233; color:#e3b341; }
.muted { color:var(--muted); font-size:.85rem; }
.error { color:var(--danger); }
