:root{--bg:#090b0f;--surface:#11141a;--surface2:#171b22;--line:#30343b;--text:#f4f6f8;--muted:#9299a4;--lime:#f1f3f5;--green:#64c987;--red:#ff7379;--amber:#e7bd68;--radius:16px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,textarea{font:inherit}.hidden{display:none!important}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 75% -10%,rgba(199,255,74,.09),transparent 34%),radial-gradient(circle at 12% 100%,rgba(77,114,255,.07),transparent 28%);pointer-events:none}.noise{position:fixed;inset:0;opacity:.025;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(460px,100%);padding:42px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(23,27,34,.97),rgba(13,16,21,.97));box-shadow:0 32px 90px rgba(0,0,0,.45)}.brand-mark{width:58px;height:58px;border-radius:17px;background:var(--lime);color:#0b0d09;display:grid;place-items:center;font-weight:900;letter-spacing:-2px;margin-bottom:34px}.brand-mark.small{width:42px;height:42px;border-radius:12px;margin:0;font-size:14px}
h1{font-size:42px;line-height:1.04;letter-spacing:-1.7px;margin:8px 0 18px}h2{font-size:29px;letter-spacing:-.8px;margin:4px 0 0}h3{font-size:19px;margin:3px 0}p{line-height:1.55}.eyebrow{color:var(--lime);font-size:10px;letter-spacing:2.2px;font-weight:800;margin:0}.muted{color:var(--muted);font-size:13px}
label{display:flex;flex-direction:column;gap:8px;color:#c8ced7;font-size:12px;font-weight:650;margin:18px 0}input,textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#0d1015;color:var(--text);padding:13px 14px;outline:none;transition:.2s}textarea{resize:vertical;line-height:1.5}input:focus,textarea:focus{border-color:#64742d;box-shadow:0 0 0 3px rgba(199,255,74,.08)}
button{border:0;cursor:pointer}.primary,.secondary{border-radius:11px;padding:12px 17px;font-weight:750;transition:.18s}.primary{background:var(--lime);color:#0a0c08}.primary:hover{background:#d5ff78;transform:translateY(-1px)}.secondary{background:#20252d;color:var(--text);border:1px solid #303640}.secondary:hover{background:#292f38}.wide{width:100%}.form-error{min-height:20px;color:var(--red);font-size:12px}
.app{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{position:fixed;width:245px;height:100vh;border-right:1px solid var(--line);background:rgba(12,14,19,.9);padding:25px 17px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 32px;font-size:13px;line-height:1.2}.brand b{font-size:16px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;padding:12px 14px;border-radius:11px;background:transparent;color:var(--muted);text-align:left;font-weight:650}.nav-item span{font-size:18px}.nav-item:hover,.nav-item.active{background:#1a1f25;color:var(--text)}.nav-item.active:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--lime);margin-left:auto}.sidebar-foot{margin-top:auto;padding:15px 8px 2px}.system-state{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:11px}.system-state i{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 10px var(--green)}.text-button{color:var(--muted);background:none;padding:15px 0 0;font-size:11px}.text-button:hover{color:var(--text)}
main{grid-column:2;padding:30px clamp(24px,4vw,64px) 60px;max-width:1540px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.header-actions{display:flex;align-items:center;gap:20px}.clock{color:var(--muted);font-size:12px}.page{display:none}.page.active{display:block;animation:appear .25s ease}@keyframes appear{from{opacity:0;transform:translateY(5px)}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat-card{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#151920,#0f1217)}.stat-card .stat-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.stat-card strong{display:block;font-size:34px;letter-spacing:-1.5px;margin-top:17px}.stat-card em{font-style:normal;color:var(--green);font-size:11px}.stat-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(199,255,74,.08);color:var(--lime)}
.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel,.table-card{background:rgba(17,20,26,.92);border:1px solid var(--line);border-radius:var(--radius)}.panel{padding:23px}.panel-head,.section-toolbar{display:flex;justify-content:space-between;align-items:center}.panel-head{margin-bottom:16px}.link-button{background:none;color:var(--lime);font-size:11px}.compact-list{display:flex;flex-direction:column}.compact-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid #222731}.compact-row:first-child{border-top:0}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#242a33;font-weight:800;color:#d8dee8}.compact-row strong{display:block;font-size:13px}.compact-row small{color:var(--muted)}.status{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:#59616d}.status.online:before{background:var(--green);box-shadow:0 0 7px rgba(85,220,138,.5)}.status.disabled:before{background:var(--red)}
.callout{margin-top:18px;border:1px solid #39431f;background:linear-gradient(110deg,rgba(199,255,74,.09),rgba(17,20,26,.8));border-radius:var(--radius);padding:25px 28px;display:flex;justify-content:space-between;align-items:center}.callout p:last-child{color:#aab29e;margin-bottom:0;font-size:13px}.callout-mark{font-size:35px;color:var(--lime)}
.section-toolbar{margin:6px 0 19px}.section-toolbar h3{font-size:22px}.section-toolbar p{margin:6px 0}.search{display:flex;align-items:center;gap:8px;background:#11151b;border:1px solid var(--line);border-radius:11px;padding:0 12px;color:var(--muted)}.search input{width:210px;border:0;background:transparent;padding:10px 3px;box-shadow:none}.table-card{overflow:hidden}.table-head,.table-row{display:grid;align-items:center;gap:15px;padding:13px 18px}.table-head{color:#737d8c;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;background:#0e1116}.table-row{border-top:1px solid var(--line);min-height:70px}.table-row:hover{background:#151920}.nodes-grid{grid-template-columns:1.4fr .75fr 1.2fr .7fr auto}.clients-grid{grid-template-columns:1.3fr .7fr 1.2fr .8fr auto}.cell-title strong{display:block;font-size:13px}.cell-title small,.protocol-list{color:var(--muted);font-size:11px}.protocol-pill{display:inline-block;padding:4px 7px;border:1px solid #303743;background:#1b2028;border-radius:6px;margin:2px;font-size:9px;color:#b9c1cc}.row-actions{display:flex;justify-content:flex-end;gap:5px}.icon-button{background:transparent;color:var(--muted);font-size:21px;padding:7px}.icon-button:hover{color:var(--text)}.action-button{width:31px;height:31px;border-radius:8px;background:#1e232b;color:#aab3c0}.action-button:hover{background:#2a3039;color:var(--text)}.empty{padding:50px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);margin-bottom:5px}
dialog{width:min(680px,calc(100% - 30px));border:1px solid #323944;border-radius:22px;background:#13171d;color:var(--text);padding:27px;box-shadow:0 35px 100px rgba(0,0,0,.6)}dialog::backdrop{background:rgba(3,5,8,.76);backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h3{font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 180px;gap:18px}.switch-label{align-items:center;justify-content:center;flex-direction:row;margin-top:35px}.switch-label input{display:none}.switch{width:41px;height:23px;border-radius:20px;background:#303640;position:relative}.switch:after{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;background:#8992a0;border-radius:50%;transition:.2s}.switch-label input:checked+.switch{background:var(--lime)}.switch-label input:checked+.switch:after{transform:translateX(18px);background:#10130b}.hint{font-weight:400;color:#6e7785;font-size:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}fieldset{border:1px solid var(--line);border-radius:12px;margin:18px 0;padding:12px 14px}legend{font-size:12px;color:#c8ced7;padding:0 7px}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.check-grid.protocols{grid-template-columns:repeat(3,1fr)}.check-grid label{flex-direction:row;align-items:center;margin:4px;font-weight:500}.check-grid input{width:auto;accent-color:var(--lime)}.secret-dialog{max-width:600px}.secret-box{display:flex;gap:10px;align-items:center;background:#0b0e12;border:1px solid var(--line);border-radius:12px;padding:11px;margin:20px 0}.secret-box code{word-break:break-all;flex:1;color:var(--lime);font-size:11px}.toast{position:fixed;right:25px;bottom:25px;background:#f3f5f7;color:#101216;border-radius:11px;padding:12px 17px;font-size:12px;font-weight:700;transform:translateY(80px);opacity:0;transition:.25s;z-index:20}.toast.show{transform:translateY(0);opacity:1}
@media(max-width:980px){.app{grid-template-columns:76px 1fr}.sidebar{width:76px;padding:20px 10px}.brand>span:last-child,.nav-item:not(.active)::after,.nav-item{font-size:0}.brand{padding:0 7px 30px}.nav-item{justify-content:center}.nav-item span{font-size:20px}.system-state span,.text-button{display:none}main{grid-column:2}.stats{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.table-row,.table-head{min-width:760px}.table-card{overflow:auto}}
@media(max-width:620px){main{padding:22px 14px 50px}header{align-items:flex-start}.clock{display:none}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:17px}.stat-card strong{font-size:28px}.section-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.search,.search input{width:100%}.form-grid{grid-template-columns:1fr}.switch-label{justify-content:flex-start;margin:0}.check-grid,.check-grid.protocols{grid-template-columns:1fr 1fr}.login-card{padding:28px}h1{font-size:34px}}

/* Management workspace */
.sidebar nav{overflow:auto}.nav-item{flex:none}.restart-banner{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:13px 16px;border:1px solid #5c4823;border-radius:12px;background:#211b12;color:var(--amber);font-size:12px}.restart-banner span{color:#c7b995}.system-panel{margin-top:18px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.detail-item{padding:13px;border:1px solid var(--line);border-radius:10px;background:#0e1116}.detail-item span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}.detail-item strong{display:block;margin-top:7px;font-size:12px;word-break:break-word}
.endpoint-editor{display:flex;flex-direction:column;gap:8px}.endpoint-row{display:grid;grid-template-columns:130px 1.3fr 1fr 80px 34px;gap:8px;align-items:center}.endpoint-row input,.endpoint-row select{margin:0;padding:10px;background:#0d1015;color:var(--text);border:1px solid var(--line);border-radius:9px}.compact-button{padding:9px 12px;margin-top:10px}.editor-card{background:rgba(17,20,26,.92);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.editor-meta{display:flex;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid var(--line);background:#0e1116}.editor-meta code{color:var(--lime);font-size:11px}.code-editor{display:block;min-height:520px;border:0;border-radius:0;background:#0b0e12;padding:20px;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}
.settings-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-card{padding:20px;background:rgba(17,20,26,.92);border:1px solid var(--line);border-radius:var(--radius)}.settings-card h3{margin-bottom:4px}.settings-card>p{margin:0 0 12px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.settings-grid .full{grid-column:1/-1}.settings-grid select{width:100%;border:1px solid var(--line);border-radius:11px;background:#0d1015;color:var(--text);padding:13px 14px}.settings-toggle{flex-direction:row;align-items:center}.settings-toggle input{width:auto;accent-color:var(--lime)}.listener-settings{grid-column:1/-1}.sticky-actions{position:sticky;bottom:12px;margin-top:18px;padding:13px 16px;border:1px solid var(--line);border-radius:13px;background:rgba(14,17,22,.96);backdrop-filter:blur(12px);display:flex;justify-content:space-between;align-items:center;z-index:3}
@media(max-width:1100px){.settings-sections{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.endpoint-row{grid-template-columns:110px 1fr 1fr 70px 34px}}
@media(max-width:620px){.settings-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.endpoint-row{grid-template-columns:1fr 1fr}.sticky-actions{align-items:flex-start;gap:12px;flex-direction:column}.code-editor{min-height:420px}}
.bundle-upload{display:grid;grid-template-columns:minmax(260px,1fr) minmax(240px,420px) auto;align-items:center;gap:16px;margin-bottom:18px}.bundle-upload input[type=file]{padding:10px;border:1px solid var(--line);border-radius:9px;background:#0e1116;color:var(--text)}.bundle-upload .muted{grid-column:1/-1}@media(max-width:900px){.bundle-upload{grid-template-columns:1fr}.bundle-upload .muted{grid-column:auto}}
