:root{--bg: #f5f6f8;--card: #ffffff;--text: #1c2024;--muted: #6b7280;--border: #dfe3e8;--primary: #2563eb;--danger: #c2410c;--ok: #15803d;--bad: #b91c1c;--code: #0f172a;--code-text: #e2e8f0;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}@media(prefers-color-scheme:dark){:root{--bg: #111418;--card: #1a1f25;--text: #e6e8eb;--muted: #9aa3ad;--border: #2c333b;--primary: #3b82f6;--danger: #ea580c;--ok: #22c55e;--bad: #f87171;--code: #0b0e12}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}h1{font-size:20px;margin:0 0 16px}h2{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:20px 0 8px}p{margin:4px 0}code{font-family:ui-monospace,Consolas,monospace}button{font:inherit;padding:7px 14px;border-radius:6px;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--text)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.link{border:0;background:none;padding:4px 0;text-align:left;width:100%}button.link.active{font-weight:600}input{font:inherit;width:100%;margin-top:4px;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text)}label{display:block;margin-bottom:12px}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:14px}.muted{color:var(--muted)}.error{color:var(--bad)}.banner{cursor:pointer}.notice{background:var(--card);border-left:3px solid var(--danger);padding:8px 12px;margin:12px 0}.centered{min-height:100vh;display:grid;place-items:center;padding:16px}.login{width:100%;max-width:340px}.login button{width:100%}.layout{max-width:1280px;margin:0 auto;padding:0 16px 32px}.topbar{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.spacer{flex:1}.env{padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--border)}.env-prod{background:var(--bad);color:#fff}.columns{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px}@media(max-width:860px){.columns{grid-template-columns:1fr}}.command{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px}.command.danger{border-left:3px solid var(--danger)}.label{font-weight:600}.tag{font-size:11px;font-weight:500;color:var(--danger);margin-left:6px}.job-head{display:flex;gap:10px;align-items:center;margin-bottom:8px;flex-wrap:wrap}pre{margin:0;background:var(--code);color:var(--code-text);padding:12px;border-radius:6px;max-height:60vh;overflow:auto;white-space:pre-wrap;word-break:break-word;font:12px/1.5 ui-monospace,Consolas,monospace}.status{font-size:12px;font-weight:600;text-transform:uppercase}.status-running{color:var(--primary)}.status-succeeded{color:var(--ok)}.status-failed,.status-timeout,.status-killed{color:var(--bad)}.history{list-style:none;margin:0;padding:0}.history li{border-bottom:1px solid var(--border)}.backdrop{position:fixed;inset:0;background:#00000080;display:grid;place-items:center;padding:16px}.dialog{width:100%;max-width:460px}.dialog h2{text-transform:none;letter-spacing:0;font-size:16px;color:var(--text);margin-top:0}.check{display:flex;gap:8px;align-items:flex-start}.check input{width:auto;margin-top:3px}.locked{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.small{font-size:12px}.inputs{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.inputs .small{display:block;margin-top:4px}.command>div:first-child{min-width:0}.command button{flex-shrink:0}
