:root{color-scheme:dark;--bg:#0c111b;--panel:#141c2a;--stroke:#2c3648;--text:#e7edf7;--muted:#9faec6;--teal:#63d6bf;--indigo:#9fa8ff;--red:#ff9c9c;--yellow:#f8d58b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse 85% 50% at 85% -5%,#1d3041 0%,transparent 75%),var(--bg);color:var(--text);font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}.shell{max-width:1240px;margin:auto;padding:0 26px}.top{display:flex;justify-content:space-between;align-items:center;min-height:84px;border-bottom:1px solid var(--stroke)}.brand{display:flex;align-items:center;gap:14px}.brand strong{display:block;letter-spacing:.02em;font-size:17px}.brand small{color:var(--muted)}.logo{background:#284d4d;color:var(--teal);padding:9px 11px;border-radius:12px;font-weight:800}.subtle,.muted{color:var(--muted)}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,4vw,43px);line-height:1.17;margin-bottom:14px;letter-spacing:-.035em}h2{font-size:21px;letter-spacing:-.015em;margin-bottom:0}h3{font-size:16px;margin-bottom:4px}p{color:var(--muted)}button{font:inherit;cursor:pointer;background:#24344b;color:var(--text);border:1px solid #39516c;border-radius:9px;padding:8px 13px}button:hover{border-color:var(--teal);background:#29445a}button.primary{background:var(--teal);color:#0c1a20;font-weight:700;border-color:var(--teal)}button.quiet,.textbutton{background:transparent;border-color:var(--stroke)}.eyebrow{color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.16em;margin-bottom:8px}.intro{display:flex;justify-content:space-between;gap:36px;align-items:center;padding:49px 0 28px}.intro p{max-width:560px}.stats{display:flex;gap:21px;padding:18px 20px;border:1px solid var(--stroke);border-radius:14px;background:#172233}.stats span{text-align:center;min-width:70px}.stats strong{display:block;font-size:28px}.stats small{display:block;color:var(--muted);font-size:11px;white-space:nowrap}.panel{background:var(--panel);border:1px solid var(--stroke);border-radius:16px;padding:22px;margin:18px 0 26px;box-shadow:0 14px 30px #05081022}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(305px,1fr));gap:14px}.script{border:1px solid var(--stroke);border-radius:13px;padding:18px;background:#101825}.script-top{display:flex;justify-content:space-between;gap:14px}.script-top code{color:#8299b9}.script p{font-size:13px;margin-top:11px;min-height:34px}.status{font-size:11px;font-weight:800;letter-spacing:.05em;border-radius:7px;padding:4px 8px;display:inline-block;white-space:nowrap;color:#ccd6e5;background:#303b4f}.status.success{background:#163d36;color:#89e6c0}.status.pending,.status.queued,.status.running{background:#4a3923;color:var(--yellow)}.status.failed,.status.rejected,.status.interrupted{background:#492b35;color:var(--red)}.actions{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.actions .label{width:100%;font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.09em}.actions button,.action-disabled{font-size:12px;padding:6px 9px;border-radius:7px}.action-disabled{color:#93a3b6;background:#232f3d;border:1px solid var(--stroke)}.fingerprint{font-size:12px;color:var(--muted);margin-bottom:14px}.approval{padding-top:13px;border-top:1px solid var(--stroke)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:630px}th,td{padding:12px 10px;border-bottom:1px solid var(--stroke);text-align:left;white-space:nowrap}th{font-size:12px;color:var(--muted);font-weight:600}td{font-size:13px}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.93em}pre{white-space:pre-wrap;word-break:break-word;background:#080e18;border:1px solid #222f42;border-radius:10px;padding:16px;color:#c0e4db;max-height:360px;overflow:auto;font-size:12px;min-height:45px}.job-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:15px}.log-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 9px}.log-head h3{margin:0}.flash{padding:12px 17px;margin-top:19px;background:#153d35;border:1px solid #2f6955;border-radius:9px}.flash.danger{background:#3f232b;border-color:#80404b}.warning{color:var(--red)!important}.loginbox{max-width:465px;margin:95px auto;background:var(--panel);border:1px solid var(--stroke);padding:34px;border-radius:18px}.loginbox p{margin:12px 0 23px}.loginbox label{display:block;color:var(--muted);font-size:13px}.loginbox input{display:block;width:100%;margin:9px 0 20px;background:#0c1523;border:1px solid #42516b;border-radius:9px;color:white;padding:13px;font-size:16px}.loginbox button{width:100%;padding:12px}footer{color:#7c8b9f;font-size:12px;margin:30px 0 45px}.empty{padding:20px;text-align:center;color:var(--muted)}@media(max-width:700px){.shell{padding:0 14px}.top{min-height:74px}.intro{display:block;padding:34px 0 15px}.stats{margin-top:25px;justify-content:space-between}.panel{padding:15px}.cards{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}}

.pagination{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:15px 4px 0;font-size:13px;color:var(--muted)}

/* Job management — human UI only */
.job-controls{display:inline-flex;margin:4px 9px 12px 0}.inline-job-form{display:inline-flex;margin:0}
button.warn{border-color:#a1762f;color:#ffe0a2;background:#483820}
button.warn:hover{background:#654924}
button.danger-button{border-color:#924353;color:#ffc5cc;background:#502b38}
button.danger-button:hover{background:#793648}
.status.cancelled{background:#293c52;color:#b5d4f0}
