:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#24282a;background:#f7f8f8;letter-spacing:0;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;min-height:36px;border:1px solid #d2d7d6;background:white;border-radius:4px;padding:7px 13px;color:#303a36}button:disabled{cursor:wait;opacity:.55}button:hover:not(:disabled){border-color:#577766}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #318362;outline-offset:3px}a{color:#286797;text-underline-offset:3px;overflow-wrap:anywhere}input,select{border:1px solid #ccd2cf;border-radius:4px;padding:8px 10px;background:white;min-width:0;width:100%;color:#28352d}label{font-size:12px;color:#67716b;display:block}label input,label select{display:block;margin-top:6px}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:28px;line-height:1.3;margin:7px 0 12px}h2{font-size:18px;line-height:1.5;margin:0}h3{font-size:16px;line-height:1.7;margin:0 0 9px}.topbar{background:white;border-bottom:1px solid #dce1df;display:flex;justify-content:space-between;align-items:center;padding:18px 4%;gap:14px}.brand{font-weight:750;font-size:20px;white-space:nowrap}.brand span{font-size:12px;font-weight:400;color:#7a857e;border-left:1px solid #ccd3ce;padding-left:15px;margin-left:15px}.header-actions{display:flex;align-items:center;gap:12px}.muted{color:#748078;font-size:12px;line-height:1.8}main{max-width:1360px;padding:30px 30px 60px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 23px}.eyebrow{font-size:11px;color:#42735a;margin:0;line-height:1.8}.primary{background:#216344;border-color:#216344;color:white;font-weight:600;padding:11px 18px}.primary:hover:not(:disabled){background:#174d34}.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid #ccd4ce;border-bottom:1px solid #ccd4ce;padding:23px 0;gap:14px}.metrics div{border-right:1px solid #e0e5e1;padding-left:16px;min-width:0}.metrics div:first-child{padding-left:0}.metrics div:last-child{border:0}.metrics span{font-size:11px;color:#6e7872;display:block;line-height:1.6}.metrics strong{font-size:31px;line-height:1.3;font-weight:650;display:block;margin-top:8px;font-variant-numeric:tabular-nums}.runtime{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:13px 0;color:#7b857f;font-size:11px}.tabs{display:flex;gap:25px;border-bottom:1px solid #cbd3cd;margin:21px 0 0}.tabs button{background:none;border:0;border-radius:0;padding:12px 0;min-height:43px;color:#777f7b;border-bottom:2px solid transparent;white-space:nowrap}.tabs button[aria-selected=true]{border-bottom-color:#206749;color:#206749;font-weight:650}.tabs span{font-size:11px;margin-left:5px;font-weight:400}.filters{display:flex;gap:16px;align-items:end;padding:22px 0 6px}.filters label{width:210px}.filters .search{flex:1;max-width:470px}.item-list{border-top:1px solid #dce2dd}.item-row{display:grid;grid-template-columns:115px minmax(0,1fr) 115px;align-items:start;gap:20px;padding:22px 4px;border-bottom:1px solid #dce2dd}.source-name{font-size:11px;color:#6b7770;line-height:1.8}.item-title{border:0;background:none;padding:0;min-height:0;font-size:17px;font-weight:650;line-height:1.7;text-align:left;color:#262e29;display:block}.item-summary{font-size:13px;line-height:1.85;margin:9px 0;color:#65736a}.item-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;line-height:1.8;color:#818b84;margin-top:9px}.item-side{text-align:right}.item-side button{font-size:11px;margin-top:13px}.badge{display:inline-block;padding:3px 7px;border-radius:3px;font-size:10px;font-weight:600;line-height:1.5;background:#e9edeb;color:#69756e}.badge.success,.badge.completed,.badge.lead{background:#e3f0e7;color:#236544}.badge.brief{background:#e7eef8;color:#345c94}.badge.failed{background:#f8e9e8;color:#ab433a}.badge.partial,.badge.watch,.badge.running{background:#fbf0d9;color:#876323}.badge.queued{background:#e9eef4;color:#4e647b}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:24px 0 18px}.source-row{display:grid;grid-template-columns:220px minmax(0,1fr) 115px;gap:24px;border-top:1px solid #dce2dd;padding:20px 0;align-items:start}.source-row h3{font-size:15px}.source-row p{font-size:12px;line-height:1.8;margin:6px 0;color:#778179}.source-state .source-error{color:#aa4c41}.source-action{text-align:right}.source-action button{font-size:12px}.run-row{border-top:1px solid #dce2dd;padding:20px 0}.run-top{display:flex;justify-content:space-between;gap:18px;align-items:center}.run-top h3{font-size:14px;font-weight:600;margin:0}.run-summary{font-size:12px;line-height:1.8;color:#708075;display:flex;flex-wrap:wrap;gap:18px;margin:12px 0}.run-row details{margin-top:14px}.run-row summary{cursor:pointer;font-size:12px;color:#3d6651}.run-check{font-size:12px;border-left:2px solid #d3ded5;padding:8px 13px;margin:10px 0;line-height:1.9;color:#67786a}.run-check strong{color:#364d3e}.error{color:#a5463b;font-size:12px;line-height:1.8}.empty{padding:45px 0;text-align:center;color:#7d887f;font-size:13px}#notice{background:#eef4ec;border-left:3px solid #5a8668;padding:11px 14px;color:#3d6548;font-size:12px;line-height:1.8}dialog{border:1px solid #c8d1c9;border-radius:6px;box-shadow:0 18px 65px #18241c33;max-width:calc(100% - 28px);padding:28px;background:white;color:#242e27}dialog::backdrop{background:#19291f66}#login{width:380px}#login h2{margin:9px 0 25px}#login input{margin:8px 0 14px}#login button{width:100%}#login-error{font-size:12px;color:#a5463b}#item-dialog{width:840px;max-height:90vh;padding:0}.dialog-bar{position:sticky;top:0;background:white;border-bottom:1px solid #d6ded8;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;z-index:1}.dialog-bar button{min-width:54px}#item-detail{padding:24px}#item-detail h2{font-size:23px;line-height:1.5;margin:0 0 18px}#item-detail h3{font-size:14px;margin:25px 0 12px}#item-detail p,#item-detail li{font-size:13px;line-height:1.9}#item-detail ul{padding-left:20px}#item-detail img{max-width:100%;height:auto;display:block;border:1px solid #e0e5e1}#item-detail pre{font:12px/1.8 inherit;white-space:pre-wrap;overflow-wrap:anywhere;max-height:390px;overflow:auto;border-top:1px solid #dce2dd;border-bottom:1px solid #dce2dd;padding:17px 0;color:#59685d}#item-detail .metadata{font-size:11px;color:#7d887f;line-height:1.9}section[hidden]{display:none}
@media(max-width:950px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}.metrics div:nth-child(3){border:0}.metrics div:nth-child(4){padding-left:0}.source-row{grid-template-columns:170px minmax(0,1fr) 95px;gap:15px}.item-row{grid-template-columns:95px minmax(0,1fr) 95px;gap:15px}}
@media(max-width:620px){.topbar{padding:15px 16px;align-items:start}.brand{font-size:17px}.brand span{display:block;border:0;padding:0;margin:4px 0 0;font-size:10px}.header-actions{gap:7px}.header-actions button{font-size:11px;min-height:32px;padding:5px 8px}.header-actions #connection{display:none}main{padding:25px 16px 40px}.heading{align-items:start;flex-direction:column;gap:10px}h1{font-size:25px}.heading .primary{align-self:stretch;font-size:13px}.metrics{gap:19px 10px;padding:19px 0}.metrics span{font-size:10px}.metrics strong{font-size:26px}.metrics div{padding-left:8px}.runtime{font-size:10px;line-height:1.6;justify-content:flex-start}.tabs{gap:25px;margin-top:10px}.tabs button{font-size:13px}.filters{flex-wrap:wrap;gap:11px}.filters label{width:calc(50% - 6px)}.filters .search{flex:auto;width:100%;max-width:none}.filters select,.filters input{font-size:12px}.item-row{grid-template-columns:minmax(0,1fr) 85px;gap:9px;padding:19px 0}.item-row>.source-name{grid-column:1/-1;font-size:10px}.item-title{font-size:15px}.item-summary{font-size:12px}.item-meta{font-size:10px;gap:5px 10px}.item-side button{font-size:10px;padding:6px 8px}.source-row{grid-template-columns:minmax(0,1fr) 100px;gap:8px 12px}.source-state{grid-column:1/-1;grid-row:2}.source-action{grid-column:2;grid-row:1}.section-heading{align-items:start;flex-direction:column;gap:7px}.run-top{align-items:start}.run-summary{gap:7px 14px;font-size:11px}#item-detail{padding:20px 16px}#item-detail h2{font-size:20px}.dialog-bar{padding:10px 16px}}
