:root{color-scheme:light;--ink:#172c35;--muted:#65777f;--line:#dce3e7;--bg:#f3f6f8;--lime:#c3ed85;--teal:#087e82;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 "Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:10px 16px;font-weight:600}button:hover{background:#eaf0f2}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #087e82;outline-offset:3px}.primary{background:var(--ink);color:white;border-color:var(--ink)}.primary:hover{background:#264550}.primary:disabled{background:#65777f}input,select,textarea{border:1px solid #ccd6dc;border-radius:8px;padding:11px 12px;background:white;width:100%;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #72aeb0;outline-offset:1px}textarea{resize:vertical}label{display:block;font-size:14px;font-weight:600;margin:18px 0}label input,label select,label textarea{margin-top:7px}h1,h2,h3,p{margin-top:0}h1{font-size:34px;font-weight:650;letter-spacing:-1px;line-height:1.15;margin-bottom:12px}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:17px}p{color:var(--muted)}.muted,.small,small{color:var(--muted)}.small,small{font-size:13px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;display:block;margin-bottom:15px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;letter-spacing:2px;font-size:16px;white-space:nowrap}.mark{background:var(--lime);color:var(--ink);border-radius:10px;width:38px;height:38px;display:grid;place-items:center;font-size:27px;font-weight:500}.auth{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:white}.auth-art{background:var(--ink);color:white;padding:50px 65px;display:flex;flex-direction:column;justify-content:space-between;min-height:700px;overflow:hidden}.auth-art h1{font-size:clamp(45px,5vw,76px);letter-spacing:-3px}.auth-art .eyebrow{color:var(--lime)}.auth-art p,.auth-art>.muted{color:#a7bbc3}.auth-art p{font-size:19px;line-height:1.7}.auth-form{display:flex;align-items:center;justify-content:center;padding:35px}.auth-form form{width:360px;max-width:100%}.auth-form h2{font-size:34px}.auth-form .primary{width:100%;margin:14px 0}.art-lines{display:flex;gap:14px;align-items:end;height:100px;margin-top:35px}.art-lines i{display:block;width:70px;height:50%;border:1px solid #4f6973;border-radius:8px;background:#213c46}.art-lines i:nth-child(2){height:75%;background:#396769}.art-lines i:nth-child(3){height:100%;background:var(--lime);border:0}aside{background:var(--ink);color:#dce8ed;width:235px;position:fixed;inset:0 auto 0 0;padding:30px 20px;display:flex;flex-direction:column;z-index:2}aside .brand{font-size:14px;gap:10px}.nav-label{font-size:11px;letter-spacing:1.8px;color:#8da3ae;margin:50px 15px 15px}nav{display:grid;gap:8px}nav button{border:none;background:transparent;color:#aec1c9;text-align:left;display:flex;gap:14px;align-items:center;padding:13px 15px;font-size:16px}nav button.selected{background:#2d4650;color:white}nav button.selected:before{content:'';position:absolute;left:0;width:3px;height:30px;background:var(--lime)}nav button:hover{background:#304c55}nav small{margin-left:auto;color:var(--lime);font-size:12px}.aside-bottom{margin-top:auto;background:#213c46;border-radius:12px;padding:16px;font-size:14px}.aside-bottom small{color:#a8bdc6;display:block;margin-top:3px}.aside-bottom button{border:none;background:none;padding:15px 0 0;color:#c5d4da;font-size:14px}main{margin-left:235px;min-height:100vh}header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:white;border-bottom:1px solid var(--line);font-size:14px}.breadcrumb{color:var(--muted)}.breadcrumb span{margin:0 15px;color:#b6c3ca}.breadcrumb b{color:var(--ink);font-weight:500}.header-actions{display:flex;gap:14px;align-items:center}.avatar{border-radius:50%;background:#e7efde;width:35px;height:35px;display:grid;place-items:center;font-weight:700}.content{max-width:1660px;margin:auto;padding:35px 40px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading .eyebrow{color:var(--teal);margin-bottom:10px}.page-heading p{margin-bottom:0}.source-bar{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:10px;background:#eaf1f3;padding:12px 17px;margin-bottom:25px;gap:15px;font-size:14px}.source-bar b{font-weight:600;margin-right:14px}.source-bar span{color:var(--muted)}.source-bar button{white-space:nowrap;padding:7px 13px;background:transparent}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.card{border:1px solid var(--line);background:white;border-radius:12px;padding:23px;min-width:0}.card.accent{background:var(--ink);color:white;border-color:var(--ink)}.card .label{font-size:14px;color:var(--muted);margin-bottom:18px}.card.accent .label,.card.accent .muted{color:#b4c6cd}.metric{font-size:33px;line-height:1.15;letter-spacing:-1px;font-weight:650;margin-bottom:12px}.metric small{font-size:16px;letter-spacing:0}.card.accent .metric{color:var(--lime)}.grid-two{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;margin-bottom:25px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:23px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.panel-head h2,.panel-head h3{margin:0}.panel-head a{font-size:14px;color:var(--teal);cursor:pointer;text-decoration:none}.stackbar{height:15px;background:#e7edef;display:flex;border-radius:7px;overflow:hidden;margin:22px 0}.seg.finished{background:var(--teal)}.seg.waiting{background:#c3ed85}.seg.partial{background:#7d99bd}.seg.error{background:#e5a270}.seg.disabled{background:#b8c3c8}.seg.running{background:#48b0af}.status-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.status-item{display:flex;gap:9px;align-items:center;font-size:14px}.status-item strong{margin-left:auto}.dot{height:9px;width:9px;display:inline-block;border-radius:3px;background:#b8c3c8}.dot.finished{background:var(--teal)}.dot.waiting{background:#c3ed85}.dot.partial{background:#7d99bd}.dot.error{background:#e5a270}.host-row{margin:18px 0;font-size:14px}.host-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.bar{height:6px;border-radius:3px;background:#ecf0f2;overflow:hidden}.bar i{display:block;height:100%;background:var(--teal);border-radius:3px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:15px;flex-wrap:wrap}.toolbar input[type=search]{flex:1;min-width:200px}.toolbar select{width:auto;max-width:220px}.toolbar button{white-space:nowrap}.advanced{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 16px;padding:5px 18px 18px;background:var(--bg);border-radius:10px;margin-bottom:20px}.advanced label{margin:10px 0 0}.advanced[hidden]{display:none}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);background:#f5f7f8;padding:13px 12px;white-space:nowrap;font-weight:600}td{padding:16px 12px;border-bottom:1px solid #edf0f2;vertical-align:middle}tbody tr:hover{background:#f8fafb}td.name{min-width:260px;max-width:470px}td.name button{border:none;background:none;padding:0;text-align:left;font-weight:600;word-break:break-word;line-height:1.4}td.name small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px;margin-top:4px}td.numeric{white-space:nowrap;font-variant-numeric:tabular-nums}.badge{padding:5px 9px;border-radius:6px;background:#eef1f3;color:#53636d;white-space:nowrap;font-size:12px;font-weight:600}.badge.finished{background:#e0f1ec;color:#187865}.badge.error{background:#fff0e5;color:#ad632a}.badge.partial{background:#e9eff9;color:#4a6e9c}.badge.running{background:#d9f1f2;color:#087e82}.progress{height:5px;background:#e7edef;border-radius:3px;margin-top:7px;width:90px;overflow:hidden}.progress i{background:var(--teal);height:100%;display:block}.pagination{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;font-size:14px;color:var(--muted)}.pagination button{padding:6px 13px}.empty{padding:40px;text-align:center;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}.error{color:#ad3b36;font-size:14px}.note{background:#f0f5e9;border:1px solid #dbe6cc;border-radius:9px;padding:15px;font-size:14px;color:#425a2e}.connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}dialog{border:1px solid var(--line);border-radius:16px;padding:30px;width:620px;max-width:calc(100vw - 30px);max-height:90vh;color:var(--ink);box-shadow:0 20px 90px #132b3533}dialog::backdrop{background:#132b3566;backdrop-filter:blur(3px)}#detail-dialog{width:850px}.dialog-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.dialog-title h2{margin:0}.dialog-title button{border:0;font-size:25px;padding:0 8px}#detail-content{overflow-wrap:anywhere}#detail-content dt{font-size:12px;color:var(--muted)}#detail-content dd{margin:0 0 18px;font-size:14px}#detail-content table td:first-child{width:35%;color:var(--muted)}#detail-content table td{word-break:break-word}.detail-name{font-size:20px;font-weight:650;margin-bottom:18px}#toast{position:fixed;bottom:25px;right:25px;background:var(--ink);color:white;border-radius:10px;padding:15px 23px;box-shadow:0 5px 25px #0002;z-index:10;max-width:450px}footer{padding:25px 40px;color:#82929a;font-size:11px;letter-spacing:1.5px;display:flex;justify-content:space-between}footer span{letter-spacing:0;font-size:12px}a{color:var(--teal)}.report-note{font-size:13px}.busy{opacity:.65;pointer-events:none}[hidden]{display:none!important}@media(max-width:1100px){aside{width:205px;padding:25px 15px}main{margin-left:205px}.content{padding:28px 25px}header{padding:0 25px}.cards{gap:12px}.card{padding:18px}.metric{font-size:28px}.grid-two{grid-template-columns:1fr 1fr}.advanced{grid-template-columns:1fr 1fr}.source-bar span{display:block;margin-top:3px}}@media(max-width:780px){.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-form{min-height:100vh}aside{position:sticky;width:100%;height:auto;padding:14px;top:0;flex-direction:row;align-items:center;justify-content:space-between}aside .brand{font-size:0}aside .mark{width:32px;height:32px}.nav-label,.aside-bottom,nav small{display:none}nav{display:flex;gap:2px}nav button{padding:8px;font-size:13px;gap:5px}nav button.selected:before{display:none}main{margin-left:0}header{height:56px;padding:0 18px}.content{padding:24px 16px}.cards{grid-template-columns:1fr 1fr}.grid-two,.connection-grid{grid-template-columns:1fr;gap:0}.page-heading h1{font-size:28px}.page-heading p{font-size:14px}.page-heading .primary{padding:9px 12px;font-size:14px}.source-bar{font-size:12px}.panel{padding:17px}.advanced{grid-template-columns:1fr 1fr;padding:12px}.toolbar select{flex:1;max-width:none}.status-list{gap:12px}.breadcrumb{font-size:12px}.metric{font-size:29px}footer{padding:18px}.auth-form{padding:25px}}
@media(max-width:780px){aside .brand{display:none}aside{padding:10px 6px}nav{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}nav button{font-size:14px;padding:8px 4px;justify-content:center;min-width:0}nav button span{min-width:0}.page-heading .primary{flex-shrink:0;white-space:nowrap}.host-label span{min-width:0;overflow-wrap:anywhere}.host-label strong{white-space:nowrap}}

/* Keep status counts inside their own card at intermediate panel widths. */
.grid-two { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 22px; }
.grid-two > .panel { margin-bottom: 0; }
.status-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 16px 24px; }
.status-item { display: grid; grid-template-columns: 9px minmax(0, 1fr) max-content; gap: 9px; min-width: 0; }
.status-label { min-width: 0; overflow-wrap: anywhere; }
.status-item strong { margin-left: 0; white-space: nowrap; font-variant-numeric: tabular-nums; text-align: right; }
.panel-head { flex-wrap: wrap; }
.panel-head > * { min-width: 0; }
@media (max-width: 1100px) {
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-two, .connection-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 380px) {
  .cards { grid-template-columns: minmax(0, 1fr); }
}
