:root{--bg:#f5f6f8;--surface:#fff;--border:#e1e4e9;--text:#1a1d23;--text-muted:#62676f;--accent:#2d5bff;--accent-hover:#1f45d1;--danger:#c22a2a;--danger-bg:#fdecec;--success:#1c7d3f;--success-bg:#e9f8ee}@media (prefers-color-scheme:dark){:root{--bg:#14161a;--surface:#1c1f25;--border:#2c3038;--text:#eef0f3;--text-muted:#9aa1ac;--accent:#5b83ff;--accent-hover:#7a9aff;--danger:#ff6b6b;--danger-bg:#3a1c1c;--success:#4fd07f;--success-bg:#163a24}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:960px;margin:0 auto;padding:0 1.5rem}.app-shell{flex-direction:column;min-height:100%;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:1.5rem;padding:1rem 1.5rem;display:flex}.brand{color:var(--text);font-weight:700}.brand:hover{text-decoration:none}.app-nav{flex:1;gap:1rem;display:flex}.app-user{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.9rem;display:flex}.app-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2rem 1.5rem}.auth-page{justify-content:center;align-items:center;min-height:100%;padding:2rem 1rem;display:flex}.auth-card{width:100%;max-width:380px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.5rem}h1{margin-bottom:.5rem;font-size:1.5rem}h2{margin-bottom:1rem;font-size:1.15rem}.subtitle{color:var(--text-muted);margin-bottom:1.5rem}section+section{margin-top:2rem}.form-group{margin-bottom:1rem}.label{margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.input,select.input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:.6rem .75rem;font-size:.95rem}.input:focus{outline:2px solid var(--accent);outline-offset:-1px}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;width:100%}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{border-color:var(--border);color:var(--text);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--accent)}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0;padding:.35rem .7rem;font-size:.8rem}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.banner{border-radius:6px;margin-bottom:1rem;padding:.7rem .9rem;font-size:.88rem}.banner-error{background:var(--danger-bg);color:var(--danger)}.banner-success{background:var(--success-bg);color:var(--success)}.status-badge{text-transform:capitalize;border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.status-badge-running{background:var(--success-bg);color:var(--success)}.status-badge-stopped{background:var(--border);color:var(--text-muted)}.status-badge-completed{background:var(--accent);color:#fff}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.9rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem}.stat-value{font-size:1.5rem;font-weight:700}.stat-label{color:var(--text-muted);margin-top:.2rem;font-size:.8rem}.progress-track{background:var(--border);border-radius:999px;height:10px;overflow:hidden}.progress-fill{background:var(--accent);height:100%}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .5rem}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.8rem;font-weight:600}.empty-row td{color:var(--text-muted);text-align:center;padding:1.25rem .5rem}.row-actions{justify-content:flex-end;display:flex}code.token{word-break:break-all;background:var(--bg);border:1px solid var(--border);border-radius:6px;margin:.5rem 0;padding:.6rem;font-size:.8rem;display:block}
