:root{--bg:#f6f5f2;--panel:#fff;--text:#1d1d1f;--muted:#6b6b70;--line:#e4e2dc;--accent:#1f3a5f;--ok:#1e7a46;--warn:#a15c00;--bad:#b42318;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}main{max-width:1100px;margin:0 auto;padding:24px 16px 64px}header.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}h1{margin:0;font-size:22px}h2{margin:0 0 12px;font-size:16px}.grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}.wide{grid-column:1/-1}.muted{color:var(--muted);font-size:13px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}.table-wrap{overflow-x:auto}button{font:inherit;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px;font-size:13px}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.danger{background:var(--bad);color:#fff;border-color:var(--bad)}input{font:inherit;border:1px solid var(--line);border-radius:6px;width:100%;padding:8px 10px}label{margin:10px 0 4px;font-size:13px;display:block}form.inline{display:inline}.row{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.row>div{flex:1;min-width:90px}.badge{background:#eee;border-radius:99px;padding:2px 8px;font-size:12px;display:inline-block}.s-completed{color:var(--ok);background:#e3f4ea}.s-running,.s-queued{color:var(--accent);background:#e6eef8}.s-paused{color:var(--warn);background:#fdf1e1}.s-failed,.s-cancelled{color:var(--bad);background:#fbe9e7}.alert{color:var(--bad);background:#fbe9e7;border:1px solid #f3c3bd;border-radius:8px;margin-bottom:16px;padding:12px}.narrow{max-width:440px;margin:60px auto}.error{color:var(--bad);margin-top:8px;font-size:13px}.progress{background:var(--line);border-radius:3px;min-width:80px;height:6px;overflow:hidden}.progress>span{background:var(--accent);height:100%;display:block}
