:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202a36;background:#f3f5f7;font-synthesis:none;--accent:#e75b40;--muted:#72808e;--line:#e2e7ec}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);background:white;color:inherit;border-radius:9px;padding:10px 14px;font-size:13px;font-weight:600}button:hover,.button:hover{border-color:#a6b1bd;background:#f7f9fb}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:white}button.primary:hover{background:#cd4931}a{color:#246e83}aside{position:fixed;inset:0 auto 0 0;width:220px;background:#15242c;color:#c6d2d8;padding:32px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:14px;align-items:center;color:#ff795b;text-decoration:none;font-size:42px;font-weight:800;padding:0 12px 52px}.brand span{font-size:25px;color:white;letter-spacing:2px}.brand small{font-size:8px;letter-spacing:1.4px;display:block;margin-top:5px;color:#91a5b0}.side-label{font-size:9px;letter-spacing:1.8px;color:#7e969f;padding:0 12px 16px}nav{display:grid;gap:8px}nav button{display:flex;gap:12px;background:transparent;border:0;color:#b5c3cb;text-align:left;padding:14px}nav button.selected{background:#304049;color:white;box-shadow:inset 3px 0 #ff795b}nav button:hover{background:#263740;color:white}.side-bottom{margin-top:auto;font-size:12px;padding:14px 8px}.side-bottom p{font-size:11px;line-height:1.8;color:#8da3af}#clock{color:#8da3af;margin-top:32px;font-size:11px}.pulse,.dot{display:inline-block;width:7px;height:7px;background:#39b399;border-radius:50%;margin-right:6px}.workspace{margin-left:220px;padding:36px 40px 20px;max-width:2000px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:36px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--muted)}h1{font-size:30px;letter-spacing:-1px;margin:8px 0 0}h2{font-size:22px;letter-spacing:-.5px;margin:8px 0}h3{font-size:15px;margin:0 0 4px}p{line-height:1.6}.header-actions{display:flex;align-items:center;gap:10px}.pill{display:inline-block;white-space:nowrap;font-size:11px;border-radius:6px;padding:6px 8px;background:#e9edf1;color:#65717c;font-weight:600}.good,.healthy{background:#e4f4ee;color:#24765e}.slow,.catchup,.retrying,.warn{background:#fff0d8;color:#96651c}.error{background:#ffe7e3;color:#b54132}.starting,.warming,.scheduled{background:#e6edf8;color:#4a6492}.node-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.node-card{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 3px 8px #172b3a03}.node-title{display:flex;align-items:center;gap:12px}.node-title>div{min-width:0;flex:1}.node-title small{display:block;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:11px}.node-icon{background:#f0f3f6;border-radius:10px;padding:9px;font-size:20px;color:#536e7d}.meters{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0 20px}.metric>div{display:flex;justify-content:space-between;gap:4px;font-size:12px}.metric b{font-variant-numeric:tabular-nums}.metric small{font-size:10px;color:var(--muted);display:block;margin-top:6px}progress{appearance:none;width:100%;height:5px;border:0;background:#edf1f4;border-radius:8px;margin-top:10px;overflow:hidden}progress::-webkit-progress-bar{background:#edf1f4}progress::-webkit-progress-value{background:#558d8b;border-radius:8px}progress.hot::-webkit-progress-value{background:var(--accent)}.node-foot{display:flex;gap:18px;font-size:11px;border-top:1px solid #edf1f4;padding-top:16px;color:var(--muted)}.node-foot b{color:#394c58}.node-actions{display:flex;gap:10px;margin-top:14px}.node-actions button{font-size:11px;padding:6px 10px;border-color:transparent;color:#617581}.add-node{border:1px dashed #bccbd1;background:#eaf0f2;border-radius:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:225px;color:#526974}.add-node>span{font-size:25px;background:white;border-radius:50%;padding:7px 13px}.add-node small{font-weight:400;color:#7a8c96}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:36px 0 20px}.count{font-size:13px;vertical-align:middle;border-radius:6px;background:#e4e9ed;padding:3px 7px;margin-left:6px}.summary{display:flex;gap:20px;font-size:12px;color:#697d86}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:16px}.toolbar input{margin-left:auto;width:210px}.segmented{display:flex;gap:4px;background:#e7ecf0;padding:4px;border-radius:10px}.segmented button{border:0;background:none;color:#647480;padding:8px 13px}.segmented button.active{background:white;color:#263e4c;box-shadow:0 2px 5px #00000009}input,select{background:white;border:1px solid #d8e0e5;border-radius:8px;color:inherit;padding:10px 12px;font-size:13px;min-width:0}input:focus,select:focus,button:focus-visible{outline:2px solid #e78b72;outline-offset:2px}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:9px;letter-spacing:.9px;color:#85949e;font-weight:600;background:#fbfcfd;white-space:nowrap}th,td{padding:18px 18px;border-bottom:1px solid #edf1f4}tbody tr:last-child td{border-bottom:0}td strong{display:block;font-size:14px}td small{display:block;font-size:10px;color:#81909a;line-height:1.6;margin-top:3px}td.row-actions{white-space:nowrap}td.row-actions button{padding:7px 10px;font-size:11px}.start{color:#287d64}.server-tag{font-size:11px}.mono{font-family:ui-monospace,monospace;font-size:11px}.help{font-size:12px;color:#768591;line-height:1.7}.empty{text-align:center;padding:52px 20px;color:#7f909c;font-size:13px}.empty>div{font-size:32px;color:#b9c5cc;margin-bottom:16px}.empty h3{color:#415966}.empty button{margin-top:12px}.notice{font-size:12px;color:#916b36;background:#fff7eb;padding:12px;border-radius:8px}.padded{padding:24px}.intro{max-width:720px;margin-bottom:28px}.intro h2{font-size:32px}.intro p{color:#6a7d89;font-size:14px}.architecture{display:flex;align-items:center;gap:24px;margin:24px 0}.architecture>div{padding:20px;background:#f1f5f6;border:1px solid #dce6e9;border-radius:10px}.architecture small{color:#64818a;line-height:2}.servers .panel{margin-top:24px}.node-grid+.panel{margin-top:24px}.drop{border:1px dashed #bdcbd1;border-radius:14px;min-height:190px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#edf3f4;margin-bottom:24px}.drop span{font-size:11px;color:#83959f}.drop.over{background:#dcefe9;border-color:#40947c}.drop input{display:none}.drop progress{width:70%;margin:0 0 15px}.drop #uploadStatus{font-size:12px;color:#49816f}.log-row{display:grid;grid-template-columns:145px 70px 1fr;gap:16px;padding:16px 22px;border-bottom:1px solid var(--line);font-size:12px;align-items:start;overflow-wrap:anywhere}.log-row time{color:#84939f;font-size:11px}.log-row small{display:block;color:#79909b;font-size:10px;margin-bottom:5px}footer{font-size:10px;color:#8d9da5;padding:28px 0}dialog{border:1px solid #e1e7eb;border-radius:18px;padding:28px;width:min(640px,94vw);max-height:90vh;color:#263844;box-shadow:0 24px 90px #10232b40}dialog::backdrop{background:#14293280;backdrop-filter:blur(4px)}.modal-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-title h2{margin:0}.modal-title button{border:0;font-size:24px;padding:2px 9px}form label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#5e7480;margin:16px 0}form input,form select{width:100%;color:#243b49}form .check{flex-direction:row;align-items:center}.check input{width:16px;accent-color:#368b78}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}.form-error{color:#bd4434;font-size:12px}.form-error:empty{display:none}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:#223d47;color:white;border-radius:10px;padding:14px 24px;box-shadow:0 8px 30px #0002;max-width:90vw;opacity:0;pointer-events:none;transition:.2s;font-size:13px;z-index:100}#toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:1700px){th,td{padding:22px 24px}.workspace{padding:42px 48px}}@media(max-width:1200px){aside{width:180px;padding:25px 12px}.workspace{margin-left:180px;padding:26px 22px}.header-actions .pill{display:none}.node-title .pill{font-size:9px}.meters{gap:10px}.node-foot{gap:8px;flex-wrap:wrap}.toolbar{flex-wrap:wrap}}@media(max-width:850px){aside{position:static;width:auto;padding:14px 18px;display:block}.brand{padding:0;font-size:28px;gap:10px}.brand small,.side-label,.side-bottom{display:none}.brand span{font-size:20px}nav{display:flex;margin-top:14px;gap:4px;overflow:auto}nav button{padding:10px;font-size:11px;white-space:nowrap}.workspace{margin:0;padding:22px 16px}.node-grid{grid-template-columns:1fr}header{align-items:flex-start;gap:10px}h1{font-size:24px}.header-actions button.primary{font-size:11px;padding:10px}.header-actions .icon{display:none}.eyebrow{font-size:8px}.summary{display:none}.toolbar input{margin:0;flex:1}.add-node{min-height:130px}.form-grid{grid-template-columns:1fr;gap:0}.log-row{grid-template-columns:100px 55px 1fr;gap:8px;padding:12px}.architecture{flex-wrap:wrap}.intro h2{font-size:26px}}
