:root{--bg:#f5f6fa;--surface:#fff;--surface-2:#f0f2f7;--border:#e4e7ee;--text:#1b2030;--muted:#6a7183;--accent:#4f46e5;--accent-text:#fff;--ok:#0f7b4b;--ok-bg:#e3f5ec;--warn:#a15c00;--warn-bg:#fdf1dc;--bad:#b42318;--bad-bg:#fde8e6;--info:#3a4a8a;--info-bg:#e8ecfb;--radius:12px}@media (prefers-color-scheme:dark){:root{--bg:#0f1218;--surface:#181c25;--surface-2:#212633;--border:#2a3040;--text:#e7eaf2;--muted:#98a0b3;--accent:#7c83ff;--accent-text:#0f1218;--ok:#5fd39b;--ok-bg:#153326;--warn:#f0b35a;--warn-bg:#3a2b12;--bad:#ff8a80;--bad-bg:#3b1d1a;--info:#aab6ff;--info-bg:#232a4d}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:15px;line-height:1.5}.app{min-height:100vh;display:flex}aside{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;gap:4px;width:232px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}aside h2{letter-spacing:-.01em;margin:0 8px 22px;font-size:18px}main{flex:1;min-width:0;max-width:1200px;padding:32px clamp(16px,4vw,40px)}header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}header h1{letter-spacing:-.02em;margin:0;font-size:26px}button{font:inherit;background:var(--accent);color:var(--accent-text);cursor:pointer;border:1px solid #0000;border-radius:9px;padding:9px 16px;font-weight:500;transition:filter .15s,background .15s}button:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:not-allowed;filter:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}td button,.card p button{background:var(--surface-2);color:var(--text);border-color:var(--border);padding:5px 12px;font-size:13px}aside button{text-align:left;width:100%;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:10px 12px;display:block}aside button:hover{background:var(--surface-2);color:var(--text);filter:none}aside button.active{background:var(--surface-2);color:var(--accent);font-weight:600}aside button:last-child{margin-top:auto}.grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card h3{margin:0 0 6px;font-size:17px}.card small{color:var(--muted);display:block}.grid .card small{text-transform:capitalize;font-size:13px}.card strong{letter-spacing:-.02em;margin-top:6px;font-size:30px;display:block}form.card{gap:10px;display:grid}input,select{font:inherit;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:9px;padding:10px 12px}input::placeholder{color:var(--muted)}input[type=file]{padding:8px}.hint{color:var(--info);background:var(--info-bg);cursor:pointer;border-radius:9px;margin:0 0 18px;padding:10px 14px}section>button{margin-bottom:6px}table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-collapse:separate;border-spacing:0;width:100%;margin-top:16px;overflow:hidden}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:12px 14px}tr:last-child td{border-bottom:0}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);font-size:12px;font-weight:600}td{text-overflow:ellipsis;max-width:340px;overflow:hidden}pre{background:var(--bg);border:1px solid var(--border);border-radius:9px;margin:10px 0 0;padding:12px}.badge{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.published,.badge.success,.badge.on{background:var(--ok-bg);color:var(--ok)}.badge.draft,.badge.queued,.badge.running,.badge.discovered{background:var(--info-bg);color:var(--info)}.badge.failed,.badge.off{background:var(--bad-bg);color:var(--bad)}.badge.rolled_back{background:var(--warn-bg);color:var(--warn)}@media (width<=760px){.app{flex-direction:column}aside{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;align-items:center;width:100%;height:auto;padding:12px;position:static}aside h2{width:100%;margin:0 4px 6px}aside button{width:auto;padding:8px 12px}aside button:last-child{margin-top:0;margin-left:auto}main{padding:20px 16px}table{white-space:nowrap;display:block;overflow-x:auto}}.lbl{color:var(--muted);gap:4px;font-size:13px;font-weight:500;display:grid}.lbl input,.lbl select{color:var(--text);font-size:15px;font-weight:400}
