:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#e9eef8;background:#0b1020;font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% -10%,#203659 0,transparent 35%),#0b1020}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.hidden{display:none!important}.app{max-width:1120px;margin:auto;padding:0 24px 60px}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #263247;gap:16px}.brand{font-weight:750;letter-spacing:.02em;display:flex;align-items:center;gap:12px}.brand small{font-size:.72rem;color:#91a4c6;font-weight:500}.brand-mark,.login-mark{display:grid;place-items:center;background:#e8f15a;color:#101728;border-radius:12px;font-weight:900}.brand-mark{width:39px;height:39px}.top-actions{display:flex;align-items:center;gap:10px}.connection{font-size:.82rem;color:#b5c4db;border:1px solid #3a495f;border-radius:999px;padding:7px 10px}.connection.online{color:#d8ef93;border-color:#6c8140}.tabs{display:flex;gap:6px;margin:22px 0 24px;border-bottom:1px solid #263247}.tab{border:0;background:transparent;color:#a7b4cc;padding:13px 18px;border-bottom:2px solid transparent}.tab.active{color:#e8f15a;border-color:#e8f15a}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px}.section-head h1{font-size:1.65rem;margin:0 0 4px}.section-head p{margin:0;color:#94a6bf;font-size:.9rem}.add,.primary{border:0;background:#e8f15a;color:#111827;border-radius:10px;padding:12px 16px;font-weight:750}.ghost{border:1px solid #3a4a64;color:#dbe5f3;background:#131e31;border-radius:9px;padding:9px 12px}.card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}.card{background:#141e30;border:1px solid #35435a;border-radius:16px;box-shadow:0 18px 40px #03081340;overflow:hidden}.card-top{padding:17px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2a374d}.card-index{font-size:.76rem;letter-spacing:.1em;color:#e8f15a;font-weight:800}.card-close{border:0;background:transparent;color:#90a4bf;font-size:1.3rem;padding:0 5px}.card-body{padding:18px;display:grid;gap:14px}.field{display:grid;gap:7px;color:#c6d3e6;font-size:.88rem}.field input,.field select,.field textarea{width:100%;background:#0d1728;border:1px solid #3b4a61;color:#f2f5fb;border-radius:9px;padding:11px;outline:none}.field textarea{min-height:105px;resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:#e8f15a}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hint{font-size:.79rem;color:#93a8c1;line-height:1.45;margin:0}.ref-list{display:flex;flex-wrap:wrap;gap:7px}.ref-chip{background:#233650;color:#d7e5f6;padding:7px 9px;border-radius:7px;font-size:.8rem}.upload-label{display:block;border:1px dashed #57708f;padding:13px;text-align:center;border-radius:9px;color:#c9dcf6;cursor:pointer}.upload-label input{display:none}.advanced summary{color:#bcd1e8;cursor:pointer}.advanced textarea{margin-top:9px;min-height:100px;font-family:ui-monospace,monospace;font-size:.82rem}.card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #2a374d;padding:14px 18px}.card-status{font-size:.8rem;color:#9bb0c8}.jobs-list{display:grid;gap:10px}.job{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#141e30;color:#e4ebf6;border:1px solid #334158;border-radius:11px;padding:16px}.job strong{display:block;font-size:.93rem}.job small{display:block;color:#91a6be;margin-top:5px}.badge{border-radius:999px;background:#35435c;padding:6px 10px;font-size:.78rem;white-space:nowrap}.badge.succeeded{background:#33543f;color:#d4ffd4}.badge.failed{background:#623d48;color:#ffdae1}.badge.cancelled{background:#4a4554;color:#eee0f3}.badge.running{background:#3d526f;color:#d8ebff}.empty{color:#9fb1c9;text-align:center;border:1px dashed #3b4d67;border-radius:12px;padding:30px}.login{max-width:400px;margin:12vh auto;padding:30px;background:#151f32;border:1px solid #34435b;border-radius:20px}.login-mark{width:58px;height:58px;font-size:1.6rem;margin-bottom:20px}.login h1{margin:0;font-size:1.8rem}.login p{color:#9eb0c8}.login-form{display:grid;gap:15px;margin-top:28px}.login-form label{display:grid;gap:7px;color:#c9d4e7}.login-form input{padding:13px;background:#0c1525;border:1px solid #45546c;border-radius:9px;color:white}.error{color:#ffc1ce!important;min-height:1.2em}.detail-dialog{width:min(680px,calc(100% - 20px));max-height:88vh;overflow:auto;border:1px solid #41516c;border-radius:16px;background:#111b2d;color:#e8edf7;padding:18px}.detail-dialog::backdrop{background:#020712c9}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.detail-dialog img,.detail-dialog video{display:block;max-width:100%;border-radius:8px;margin:10px 0}.detail-dialog p{overflow-wrap:anywhere}.detail-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0a1322;padding:12px;border-radius:8px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#e8f15a;color:#111827;border-radius:9px;padding:10px 15px;display:none;max-width:min(90vw,460px);z-index:20}.toast.show{display:block}@media(max-width:600px){.app{padding:0 14px 80px}.topbar{height:64px}.brand small{display:none}.section-head h1{font-size:1.4rem}.section-head p{font-size:.8rem}.add{padding:10px;font-size:.86rem}.card-list{grid-template-columns:1fr}.login{margin:8vh 14px}.row{grid-template-columns:1fr}.card-body{padding:15px}.top-actions{gap:5px}.connection{font-size:.73rem}.ghost{padding:8px}}
