:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#e8edf5;background:#09101b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 80% 0,#14243a 0,#09101b 35%);min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}.login-wrap{min-height:100vh;display:grid;place-items:center}.login{width:min(440px,92vw);padding:38px}.brand{font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#63e6be}.login h1{font-size:28px;margin:22px 0 6px}.login p,.card p,header span{color:#8e9caf}.layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{position:fixed;width:230px;height:100vh;background:#0c1522;border-right:1px solid #1e2a3a;padding:28px 18px;display:flex;flex-direction:column}aside .brand{padding:0 12px 30px;font-size:18px}nav{display:grid;gap:8px}nav button,.logout{padding:12px 14px;border-radius:9px;background:transparent;color:#93a1b3;text-align:left}nav button:hover,nav button.active{background:#172538;color:#fff}.logout{margin-top:auto}main{grid-column:2;padding:28px 34px;max-width:1500px;width:100%}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}header h1{margin:0 0 4px;font-size:25px}.card,.stat{background:rgba(17,28,43,.95);border:1px solid #233247;border-radius:14px;box-shadow:0 18px 50px #0003}.card{padding:24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat{padding:20px}.stat span{display:block;color:#8e9caf;font-size:13px;margin-bottom:8px}.stat b{font-size:25px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.row,.jobline,.proxy{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #233247}.row:last-child,.jobline:last-child{border:0}.green{color:#63e6be}.orange{color:#ffb454}.badge{padding:4px 9px;border-radius:99px;font-size:12px;text-transform:uppercase}.badge.good,.good-bg{background:#123d34;color:#74f0ca}.badge.warn{background:#4b3715;color:#ffd27c}.badge.bad,.bad-bg{background:#4b2029;color:#ff9cac}.badge.neutral{background:#253449;color:#b7c6da}.form-card{max-width:1100px}.warning{background:#3a301a;border:1px solid #685329;color:#ffd481;padding:13px 15px;border-radius:9px;margin-bottom:22px}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.fields label:first-child,.fields label:nth-child(2){grid-column:span 1}.fields .wide{grid-column:span 2}label{display:grid;gap:7px;color:#aab6c6;font-size:13px;margin-bottom:15px}input,textarea,select{width:100%;background:#0b1420;color:#edf3fb;border:1px solid #2b3c51;border-radius:8px;padding:11px 12px;outline:0}input:focus,textarea:focus,select:focus{border-color:#52cfa9;box-shadow:0 0 0 3px #52cfa91c}textarea{height:92px;resize:vertical}button{background:#56d6ae;color:#07130f;font-weight:750;border-radius:8px;padding:11px 17px}button:disabled{opacity:.5}.ghost{background:#192638;color:#cbd5e1}.danger{background:#522430;color:#ffb0bf}.small{padding:7px 10px;margin-left:8px}.check{display:flex;grid-auto-flow:column;justify-content:start;align-items:center}.check input{width:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #233247;white-space:nowrap}th{color:#8e9caf}code{color:#8cc8ff}.empty{color:#758397;text-align:center;padding:35px}.proxy{justify-content:flex-start;gap:10px}.proxy>div{display:grid;margin-right:auto}.proxy small{color:#8796a9;margin-top:4px}.toast,.alert{padding:12px 16px;border-radius:9px;margin-bottom:16px}.upload{display:inline-flex;background:#1b2b3f;border:1px dashed #4c617b;padding:18px;border-radius:9px}.upload input{padding:0;border:0;background:transparent}@media(max-width:850px){.layout{display:block}aside{position:static;width:100%;height:auto;flex-direction:row;overflow:auto;padding:12px}aside .brand,.logout{display:none}nav{display:flex}.layout main{padding:20px}.stats,.grid2{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr}.fields .wide,.fields label:first-child,.fields label:nth-child(2){grid-column:auto}}@media(max-width:540px){.stats,.grid2{grid-template-columns:1fr}header{align-items:flex-start}.card{padding:17px}}
.job-detail{margin-top:22px;padding-top:20px;border-top:1px solid #2b3c51}.detail-head,.detail-summary{display:flex;align-items:center;justify-content:space-between;gap:14px}.detail-head h2{margin:0 0 6px}.detail-summary{justify-content:flex-start;flex-wrap:wrap;margin:18px 0;color:#9eacbd}.execution-log{margin:0;min-height:180px;max-height:520px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#07101d;border:1px solid #263a53;border-radius:10px;padding:16px;color:#d5e4f7;font:13px/1.7 Consolas,"Cascadia Mono",monospace}.execution-log span{display:inline}.detail-message{margin:14px 0 0!important}

.jobs-toolbar{color:#91a1b5;font-size:13px;margin:-4px 0 14px}.job-row-open td{background:#142236}.inline-log-row td{padding:0 12px 18px;background:#0d1725;white-space:normal}.inline-job-detail{padding:16px;border:1px solid #29405b;border-top:0;border-radius:0 0 10px 10px}.inline-job-detail .detail-summary{margin:0 0 13px}.inline-job-detail .execution-log{min-height:120px;max-height:480px}
