:root{color:#17181a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f6f8;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}html,body,#root{min-width:320px;min-height:100vh;margin:0}*{box-sizing:border-box}.page{color:#17181a;background:#f5f6f8;min-height:100vh}.container{width:min(1000px,100% - 32px);margin:0 auto;padding:32px 0 50px}.header{margin-bottom:24px}.logo{align-items:center;gap:14px;display:flex}.logo-mark{color:#fff;letter-spacing:-.5px;background:#cb11ab;border-radius:13px;justify-content:center;align-items:center;width:48px;height:48px;font-size:15px;font-weight:800;display:flex}.logo h1{letter-spacing:-.4px;margin:0;font-size:24px;font-weight:700;line-height:1.2}.logo p{color:#737780;margin:4px 0 0;font-size:14px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:18px;padding:24px;box-shadow:0 2px 8px #00000008}.card-header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.card h2{margin:0;font-size:18px;font-weight:650}.badge{color:#b20a96;background:#f7e8f5;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:700}.field{flex-direction:column;gap:8px;display:flex}.field label{color:#36383d;font-size:14px;font-weight:600}.field input{color:#17181a;background:#fff;border:1px solid #d9dce1;border-radius:10px;outline:none;width:100%;height:48px;padding:0 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:#cb11ab;box-shadow:0 0 0 3px #cb11ab1a}.field input:disabled{color:#8b8e94;background:#f5f6f8}.actions{margin-top:16px;display:flex}.primary-button,.danger-button{cursor:pointer;border:none;border-radius:10px;height:46px;padding:0 22px;font-size:14px;font-weight:650;transition:opacity .15s,transform .1s}.primary-button{color:#fff;background:#cb11ab}.primary-button:hover{opacity:.9}.danger-button{color:#fff;background:#dc3545}.danger-button:hover{opacity:.9}.primary-button:active,.danger-button:active{transform:translateY(1px)}.status{border-radius:9px;align-items:center;gap:9px;min-height:42px;margin-top:18px;padding:0 13px;font-size:14px;display:flex}.status-dot{border-radius:50%;flex:none;width:8px;height:8px}.status.loading,.status.running,.status.stopping{color:#805f00;background:#fff8e6}.status.loading .status-dot,.status.running .status-dot,.status.stopping .status-dot{background:#f0ad00;animation:1.2s infinite pulse}.status.success{color:#19733a;background:#eaf8ef}.status.success .status-dot{background:#20a050}.status.stopped{color:#5d626b;background:#f0f1f3}.status.stopped .status-dot{background:#7b818a}.status.error{color:#a51d2d;background:#fff0f1}.status.error .status-dot{background:#d93649}.job-info{color:#777b83;align-items:center;gap:10px;margin-top:14px;font-size:12px;display:flex}.job-info code{color:#4b4e54;word-break:break-all;background:#f3f4f6;border-radius:6px;padding:5px 8px;font-size:11px}.logs-card{padding:0;overflow:hidden}.logs-header{border-bottom:1px solid #e8eaed;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.logs-header h2{margin-bottom:4px}.logs-header p{color:#858991;margin:0;font-size:13px}.small-button{color:#555960;cursor:pointer;background:#fff;border:1px solid #dfe1e5;border-radius:8px;padding:7px 11px;font-size:12px}.small-button:hover{background:#f7f7f8}.logs{background:#17191d;min-height:260px;max-height:500px;padding:14px 16px;font-family:Consolas,Monaco,monospace;font-size:12px;overflow-y:auto}.empty-logs{color:#656a73;justify-content:center;align-items:center;height:230px;display:flex}.log-line{white-space:pre-wrap;word-break:break-word;grid-template-columns:80px 35px 1fr;gap:8px;padding:2px 0;line-height:1.55;display:grid}.log-time{color:#656b75}.log-type{color:#7f8793;font-size:10px;font-weight:700}.log-text{color:#d8dbe0}.log-line.stderr .log-type{color:#ff6978}.log-line.stderr .log-text{color:#ff9ba5}footer{text-align:center;color:#9a9da3;padding:10px 0;font-size:12px}@keyframes pulse{0%{opacity:1}50%{opacity:.35}to{opacity:1}}@media (width<=650px){.container{width:min(100% - 20px,1000px);padding-top:18px}.card{padding:18px}.logs-header{padding:17px 18px}.log-line{grid-template-columns:65px 30px 1fr;gap:5px}.primary-button,.danger-button{width:100%}}
