:root{color-scheme:dark;font-family:Inter,"Segoe UI",sans-serif;color:#e6edf5;background:#10151d;--border:#293545;--muted:#a0aec0;--accent:#67e8bc}
*{box-sizing:border-box}
body{margin:0}
.masthead{padding:17px max(24px,calc((100vw - 1340px)/2));background:#141d27;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:750;line-height:1}
.mark{color:var(--accent);font-size:36px}
.subtitle{display:block;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin-top:5px}
main{max-width:1388px;margin:auto;padding:22px 24px 36px}
nav{display:flex;gap:7px;overflow:auto;padding-bottom:10px;border-bottom:1px solid var(--border)}
button,input,select,textarea{font:inherit}
button,select{background:#202d3c;border:1px solid #3b4b60;border-radius:7px;color:inherit;padding:8px 12px;white-space:nowrap}
button{cursor:pointer}
button:hover:not(:disabled){border-color:var(--accent)}
button:disabled{opacity:.5;cursor:default}
button[aria-current]{color:var(--accent);border-color:#408e79;background:#193830}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.heading{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:23px 0}
h1,h2,p{margin:0}
h1{font-size:clamp(25px,4vw,36px);letter-spacing:-.035em}
h2{font-size:16px}
p{color:var(--muted);line-height:1.5;margin-top:6px}
.metrics{display:flex;flex-wrap:wrap;gap:8px}
.badge{font-size:12px;padding:5px 9px;border:1px solid #40526a;border-radius:999px;color:#c2cfe0;white-space:nowrap}
.badge.active{border-color:#387e69;color:var(--accent);background:#19382f}
.badge.failed,.badge.offline{border-color:#81515b;color:#ffb2bc}
.workspace{display:grid;grid-template-columns:minmax(275px,345px) minmax(0,1fr);gap:16px;align-items:start}
.panel{background:#161f2a;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.controls{padding:18px}
.compact-controls{padding:8px 12px}
.control-section{border-bottom:1px solid var(--border);padding:0 4px}
.control-section:last-of-type{border-bottom:0}
.control-section summary{cursor:pointer;list-style:none;font-weight:700;padding:11px 5px;display:flex;justify-content:space-between;align-items:center}
.control-section summary::-webkit-details-marker{display:none}
.control-section summary::after{content:"+";font-size:19px;color:var(--muted);line-height:1}
.control-section[open] summary::after{content:"−"}
.control-section[open]{padding-bottom:12px}
.control-section form{margin-top:4px}
.compact-controls #feedback{padding:0 5px;margin:8px 0}
.compact-controls .control-section p{font-size:12px}
.sign-in{max-width:440px;margin:12vh auto 0}
.sign-in [role=alert]{color:#ffb2bc}
.controls form{display:grid;gap:8px;margin-top:12px}
label{font-size:13px;color:var(--muted)}
input:not([type=checkbox]),textarea{background:#0e151e;color:inherit;border:1px solid #3a4b60;border-radius:7px;padding:9px;min-width:0;width:100%}
textarea{resize:vertical}
.row{display:flex;gap:7px}
.actions{margin-top:10px;flex-wrap:wrap}
.primary{color:#0c2923;background:#67e8bc;border-color:#67e8bc;font-weight:700}
.primary:hover:not(:disabled){background:#a4f4d7}
.danger{color:#ffb2bc}
hr{border:0;border-top:1px solid var(--border);margin:20px 0}
#server-query label{display:block;margin:16px 0 7px}
#query-result{height:auto;min-height:240px}
#account-list{padding:8px 16px}
#client-picker{margin-top:14px}
#client-select{max-width:100%}
.workspace.clients-only{grid-template-columns:minmax(0,1fr)}
.resource-table{overflow-x:auto}
.resource-table table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.resource-table th,.resource-table td{padding:12px 16px;text-align:left;white-space:nowrap}
.resource-table tbody tr{border-top:1px solid var(--border)}
.resource-table th:nth-child(n+3),.resource-table td:nth-child(n+3){text-align:right}
#resource-total{display:flex;gap:8px;flex-wrap:wrap}
.account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;flex-wrap:wrap}
.account-row+.account-row{border-top:1px solid var(--border)}
.account-blocked{color:#ff9a9a}
.account-timing{display:block;margin:4px 0 0 22px;color:var(--muted)}
#feedback{font-size:13px;min-height:19px}
.content{display:grid;gap:16px;min-width:0}
#roster{padding:5px 14px}
#roster:empty{display:none}
.client-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(140px,1fr) auto;gap:10px;align-items:center;padding:8px 0}
.client-row+.client-row{border-top:1px solid var(--border)}
.client-row button{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.client-row code{color:var(--muted);overflow-wrap:anywhere}
.console-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;gap:10px}
.console-header label{white-space:nowrap}
.server-metrics{margin-bottom:15px}
.server-metrics-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}
.server-metrics-heading span,.server-metric-range{color:var(--muted);font-size:12px}
.server-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.server-metric{min-width:0;margin:0;padding:14px 16px 12px}
.server-metric+.server-metric{border-left:1px solid var(--border)}
.server-metric figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;color:var(--muted)}
.server-metric figcaption strong{font-size:20px;color:#e6edf5;font-variant-numeric:tabular-nums}
.server-metric svg{display:block;width:100%;height:86px;margin:8px 0 5px;background:linear-gradient(to top,rgba(160,174,192,.12) 1px,transparent 1px) 0 0/100% 25%;overflow:visible}
.server-metric-baseline{stroke:#526074;stroke-width:1;vector-effect:non-scaling-stroke}
.server-metric-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.server-metric-line.cpu{stroke:#67e8bc}
.server-metric-line.ram{stroke:#8bc9ff}
pre{margin:0;border-top:1px solid var(--border);background:#0a1017;color:#cbd9e8;padding:14px;min-height:260px;height:clamp(280px,52vh,680px);overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.55 Consolas,monospace}
@media(max-width:760px){main{padding:15px}.masthead{padding:12px 15px}.workspace{grid-template-columns:1fr}.heading{align-items:flex-start;flex-direction:column}.client-row{grid-template-columns:minmax(70px,1fr) minmax(105px,1fr) auto}.server-metric-grid{grid-template-columns:1fr}.server-metric+.server-metric{border-left:0;border-top:1px solid var(--border)}}

.fleet-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 2px}
.fleet-stat{background:#141d27;border:1px solid var(--border);border-radius:10px;padding:17px 20px;display:flex;flex-direction:column;gap:5px}
.fleet-stat strong{font-size:clamp(26px,3vw,36px);line-height:1.1;font-variant-numeric:tabular-nums}
.fleet-stat span{font-size:13px;color:var(--muted)}
.fleet-stat.running{border-color:#387e69}
.fleet-stat.running strong{color:var(--accent)}
.fleet-stat.joining strong{color:#8bc9ff}
.fleet-stat.failed strong{color:#ffb2bc}
.join-selection{margin:14px 0}
.join-selection .all-clients{display:flex;align-items:center;gap:7px;margin-bottom:12px}
.join-selection input[type=number]{box-sizing:border-box;width:100%;margin-top:6px}
.join-selection p{font-size:12px}
@media(max-width:650px){.fleet-status{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-stat{padding:14px}}
