:root{color:#233747;font-synthesis:none;background:#f4f6f8;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;color:#243b48;background:#fff;border:1px solid #d4dfe5;border-radius:7px;padding:9px 15px;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#f0f9f6;border-color:#168679}button:disabled{opacity:.45;cursor:not-allowed}button.primary{color:#fff;background:#087f72;border-color:#087f72}button.primary:hover{background:#076e64}button.text{color:#167a71;background:0 0;border:none;padding:5px}button.danger{color:#b34843;border-color:#e8b9b5}input,select,textarea{color:#263b49;background:#fff;border:1px solid #d5dfe5;border-radius:6px;width:100%;padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:#168679;outline:2px solid #b2dbd4}input[type=checkbox]{accent-color:#087f72;width:16px;height:16px}textarea,code{font-family:Consolas,monospace;font-size:12px}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-.8px;margin:8px 0 10px;font-size:28px;font-weight:650}h2{font-size:21px}h3{margin-bottom:18px;font-size:16px}h4{margin-top:24px}p{line-height:1.8}small{color:#778995;font-size:12px;line-height:1.7}strong{font-weight:600}.muted{color:#718491;font-size:13px}.eyebrow{letter-spacing:2px;color:#78938e;font-size:10px;font-weight:650}.shell{min-height:100vh;display:flex}aside{color:#cee0e3;background:#142d36;flex-direction:column;width:226px;padding:28px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;align-items:center;gap:12px;font-size:17px;font-weight:600;text-decoration:none;display:flex}.brand small{color:#8ca8af;letter-spacing:1.5px;margin-top:5px;font-size:9px;display:block}.brand-symbol{color:#fff;background:#158d7b;border-radius:12px;flex-shrink:0;place-items:center;width:39px;height:39px;font-size:21px;display:grid}.nav-label{color:#809ba5;letter-spacing:2px;margin:48px 14px 14px;font-size:11px}nav button{color:#a9bfc7;text-align:left;background:0 0;border:0;align-items:center;gap:15px;width:100%;margin:5px 0;padding:13px 15px;display:flex}nav button span{color:#88a6af;width:22px;font-size:20px}nav button.selected,nav button:hover{color:#fff;background:#254550}nav button.selected span{color:#77d5c4}nav i{background:#77d5c4;border-radius:50%;width:6px;height:6px;margin-left:auto}.sidebar-foot{color:#aac4cc;border-top:1px solid #31505a;margin-top:auto;padding:20px 12px;font-size:12px}.sidebar-foot small{color:#829ca5;margin-top:10px;display:block}.dot{background:#b3a672;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.dot.green{background:#5ed5ae}.workspace{width:calc(100% - 226px);margin-left:226px}header{background:#ffffffd9;border-bottom:1px solid #e2e9ee;justify-content:space-between;align-items:center;height:70px;padding:0 36px;display:flex}.divider{color:#b7c4cc;padding:0 14px}.header-right{align-items:center;gap:18px;font-size:12px;display:flex}.mode-pill{color:#397d70;border:1px solid #d4e7e2;border-radius:20px;padding:5px 11px;font-size:11px}main{max-width:1660px;margin:auto;padding:32px 36px}.page-title{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.page-title p{margin-bottom:0}.stat-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px;display:grid}.stat{background:#fff;border:1px solid #e0e7ec;border-radius:10px;flex-direction:column;gap:9px;padding:22px;display:flex}.stat>span{color:#69818c;font-size:12px}.stat strong{letter-spacing:-1px;font-size:29px;font-weight:550}.two-col{grid-template-columns:1.2fr 1fr;align-items:start;gap:22px;display:grid}.panel{background:#fff;border:1px solid #e0e7ec;border-radius:10px;min-width:0;margin-bottom:22px;padding:24px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-head h2,.panel-head h3{margin:0}.empty{text-align:center;color:#80939e;place-content:center;min-height:180px;font-size:13px;display:grid}.empty>span{color:#aec6cd;font-size:35px}.empty p{max-width:360px;margin:12px auto}.boundary{color:#806b37;background:#fffcf1;border:1px solid #e9e0bf;border-radius:7px;margin:16px 0;padding:15px;font-size:12px;line-height:1.8}.boundary p{margin:5px 0 0}.chips{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.chips span{color:#627887;background:#f1f5f7;border-radius:4px;padding:5px 8px;font-size:11px}.badge{color:#71838d;white-space:nowrap;background:#f0f3f5;border-radius:20px;padding:5px 9px;font-size:11px;display:inline-block}.badge.running,.badge.checking{color:#3276b7;background:#edf5ff}.badge.checked,.badge.finished,.badge.pass{color:#278066;background:#e8f7f0}.badge.failed,.badge.fail{color:#b45b52;background:#fceeed}.badge.incomplete,.badge.stopping{color:#a7822f;background:#fff4dd}.run-highlight{padding:18px 0}.run-highlight h2{margin-top:16px}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{color:#78909c;background:#f8fafb;padding:13px 12px;font-weight:500}td{border-bottom:1px solid #edf1f4;padding:15px 12px}td small{margin-top:4px;display:block}.field{flex-direction:column;gap:8px;min-width:0;margin-bottom:17px;display:flex}.field>span{color:#57717d;font-size:12px}.form-grid,.weights{grid-template-columns:repeat(2,1fr);gap:0 16px;display:grid}.checkboxes{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkboxes label{align-items:center;gap:8px;font-size:12px;display:flex}.record{border-bottom:1px solid #edf1f4;flex-direction:column;gap:9px;padding:19px 0;display:flex}.record code{overflow-wrap:anywhere;color:#527885}.actions{flex-wrap:wrap;gap:8px;display:flex}.error,.success{overflow-wrap:anywhere;border-radius:7px;margin:15px 0;padding:13px 17px;font-size:12px}.error{color:#a34842;background:#fff0ef;border:1px solid #f1d0cb}.success{color:#257251;background:#eaf8f0}.error button{float:right}.section-title{align-items:center;gap:16px;margin-bottom:8px;display:flex}.section-title h2{margin:0}.section-title .danger{margin-left:auto}progress{accent-color:#168679;width:100%;height:8px}.chart svg{width:100%;height:180px}.chart svg text{fill:#8396a0;font:10px sans-serif}.event-log{background:#f8fafb;border-radius:6px;max-height:280px;padding:12px;overflow:auto}.event-log>div{border-bottom:1px solid #e6edf0;gap:12px;padding:7px 0;font-size:11px;display:flex}.event-log time{color:#8b9aa3;white-space:nowrap}.event-log code{overflow-wrap:anywhere}dl{grid-template-columns:130px 1fr;gap:20px;font-size:13px;display:grid}dt{color:#7c8f99}dd{overflow-wrap:anywhere;margin:0}footer{color:#8ba0ab;justify-content:space-between;padding:16px 36px 25px;font-size:11px;display:flex}details{margin:8px 0 20px;font-size:12px}summary{cursor:pointer;margin-bottom:14px}.table-scroll{overflow:auto}.modal-backdrop{z-index:20;background:#102a3a80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:760px;max-height:90vh;padding:28px;overflow:auto;box-shadow:0 30px 100px #102a3a40}.steps{color:#8f9fa8;border-bottom:1px solid #e3e9ed;gap:12px;margin-bottom:28px;padding:10px 0 24px;font-size:12px;display:flex}.steps .current{color:#097d6f;font-weight:650}.steps .done{color:#4f887c}.modal-actions{border-top:1px solid #edf1f4;justify-content:space-between;margin-top:30px;padding-top:20px;display:flex}.review-grid{grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;display:grid}.review-grid>div{background:#f4f8f7;border-radius:6px;flex-direction:column;gap:10px;padding:16px;display:flex}.confirm{align-items:flex-start;gap:12px;font-size:13px;line-height:1.8;display:flex}.confirm input{flex-shrink:0;margin-top:5px}.login{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-art{color:#fff;background:#142f37;flex-direction:column;justify-content:center;padding:12vh 10%;display:flex}.login-art .brand-symbol{width:52px;height:52px;font-size:27px}.login-art h1{margin:35px 0 22px;font-size:46px;font-weight:500;line-height:1.5}.login-art p{color:#a5c6ca}.login-lines{color:#89afb5;letter-spacing:2px;border-top:1px solid #3a535a;margin-top:70px;padding-top:24px;font-size:12px}.login-form{place-self:center;width:min(380px,80%)}.login-form h2{margin:16px 0;font-size:28px}.login-form .primary{width:100%;margin:12px 0 20px}.login-form>small{display:block}.login-form .muted{margin-bottom:30px}@media (width<=1100px){aside{width:190px}.workspace{width:calc(100% - 190px);margin-left:190px}main{padding:24px}.two-col{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.page-title h1{font-size:24px}}@media (width<=700px){aside{width:100%;padding:15px;position:static}.brand,.nav-label,.sidebar-foot{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap;padding:8px}nav button span{display:none}.shell{display:block}.workspace{width:100%;margin:0}header{padding:0 20px}.mode-pill{display:none}.login{grid-template-columns:1fr}.login-art{display:none}.steps{flex-wrap:wrap;gap:8px}.page-title{gap:12px}.stat-grid{gap:10px}.modal{padding:18px}.event-log>div{flex-wrap:wrap}footer span{display:none}}.current-target{text-overflow:ellipsis;white-space:nowrap;color:#59717b;max-width:220px;font-size:12px;overflow:hidden}[hidden]{display:none!important}.login{justify-content:center;align-items:center;display:flex}.login-form{max-width:380px;padding:32px}.stat small:empty{display:none}.quick-fields:disabled{opacity:.65}.quick-fields{border:0;min-width:0;margin:0;padding:0}.quick-steps{border-bottom:1px solid #e3e9ed;flex-wrap:wrap;gap:10px;margin:0 0 24px;padding:0 0 20px;list-style:none;display:flex}.quick-steps li{color:#718491;background:#f4f7f8;border-radius:6px;padding:8px 12px;font-size:12px}.quick-steps .current{color:#087b6c;background:#e6f5ef;font-weight:600}.quick-steps .done{color:#397d70}.quick-navigation{border-top:1px solid #edf1f4;justify-content:space-between;margin-top:24px;padding-top:18px;display:flex}.quick-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.quick-chart{border:1px solid #e0e7ec;border-radius:8px;padding:16px}.quick-chart h4{margin:0}.quick-chart .empty{min-height:180px}@media (width<=700px){.quick-chart-grid{grid-template-columns:1fr}}.quick-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-stat-grid strong{font-size:24px}.quick-legend{flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12px;display:flex}@media (width<=700px){.quick-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
