:root{--bg: #0f1115;--bg2: #171a21;--bg3: #1f232d;--border: #2a2f3a;--text: #e6e8ee;--muted: #8b93a5;--accent: #6ea8fe;--accent2: #3ddc97;--warn: #ffb454;--danger: #ff6b6b;--radius: 8px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5rem;font-weight:600}h1{font-size:1.4rem}h2{font-size:1.1rem}h3{font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}pre{background:var(--bg3);padding:.6rem .8rem;border-radius:var(--radius);overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:.4rem 0}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--bg2);border-right:1px solid var(--border);padding:1rem;display:flex;flex-direction:column;gap:.25rem}.brand{font-weight:700;letter-spacing:.08em;font-size:1rem;margin-bottom:1rem;color:var(--accent2)}.sidebar a{color:var(--text);padding:.45rem .6rem;border-radius:var(--radius)}.sidebar a.active,.sidebar a:hover{background:var(--bg3);text-decoration:none}.sidebar .status{margin-top:auto;color:var(--muted);font-size:12px}.main{padding:1.5rem 2rem;max-width:1200px}@media (max-width: 800px){.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap}.sidebar .status{display:none}.main{padding:1rem}}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.cols{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}@media (max-width: 1000px){.cols{grid-template-columns:1fr}}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.card+.card{margin-top:.75rem}.muted{color:var(--muted)}.small{font-size:12px}.section{margin-bottom:1.75rem}button,.btn{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .8rem;cursor:pointer;font:inherit}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#0b1020;border-color:var(--accent);font-weight:600}button.danger{color:var(--danger)}button.sm{padding:.2rem .5rem;font-size:12px}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .6rem;font:inherit;width:100%}textarea{min-height:80px;resize:vertical}label{display:block;font-size:12px;color:var(--muted);margin-bottom:.2rem}.field{margin-bottom:.7rem}form.inline{display:grid;gap:.6rem}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:11px;background:var(--bg3);color:var(--muted);border:1px solid var(--border)}.badge.proposed{color:var(--warn);border-color:var(--warn)}.badge.todo{color:var(--accent)}.badge.in_progress{color:var(--accent2)}.badge.done{color:var(--accent2);border-color:var(--accent2)}.badge.running{color:var(--warn);border-color:var(--warn)}.badge.failed,.badge.rejected{color:var(--danger);border-color:var(--danger)}.badge.queued{color:var(--muted)}.list{list-style:none;padding:0;margin:0}.list li{padding:.6rem 0;border-bottom:1px solid var(--border)}.list li:last-child{border-bottom:0}.item-title{font-weight:600}.error{color:var(--danger)}.feed{max-height:420px;overflow:auto;font-size:12.5px}.feed .ev{padding:.3rem 0;border-bottom:1px dashed var(--border)}.step{border-left:2px solid var(--border);padding-left:.7rem;margin:.5rem 0}.step .k{color:var(--muted);font-size:11px;text-transform:uppercase}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:10}.modal .card{width:min(420px,90vw)}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.3rem}.checks label{display:flex;gap:.4rem;align-items:center;color:var(--text);font-size:13px}.checks input{width:auto}
