:root{color-scheme:dark;--bg:#0a0b0d;--surface:#101215;--surface-2:#15181c;--surface-3:#1b1f24;--line:rgba(255,255,255,.075);--line-2:rgba(255,255,255,.13);--text:#e6e8eb;--text-2:#b3b9c2;--muted:#7c838d;--faint:#515862;--accent:#93b4ff;--accent-soft:rgba(147,180,255,.10);--ok:#5fc493;--warn:#e3b35f;--bad:#ef7672;--sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono","SFMono-Regular",Consolas,monospace;--radius:12px}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--text);background:var(--bg);font:14px/1.55 var(--sans)}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}a{color:var(--accent);text-decoration:none}a:hover{color:#c5d6ff}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.3;font-weight:650;letter-spacing:-.6px}h2{font-size:16px;line-height:1.4;font-weight:600;letter-spacing:-.12px}h3{font-size:14px;font-weight:600}p{color:var(--muted)}small{font-size:12px}.mono,code,pre{font-family:var(--mono)}.muted{color:var(--muted)}.faint{color:var(--faint)}.good{color:var(--ok)}.bad-text{color:var(--bad)}.accent{color:var(--accent)}.eyebrow,.nav-label{font-size:10px;font-weight:650;letter-spacing:1.5px;text-transform:uppercase;color:var(--faint)}.icon{width:17px;height:17px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.app-shell{display:flex;min-height:100vh}.sidebar{width:238px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);background:#0c0d10;display:flex;flex-direction:column;padding:25px 16px 18px;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 8px;color:var(--text)}.brand:hover{color:var(--text)}.brand strong{display:block;font-size:16px;font-weight:650;letter-spacing:-.2px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:1px}.workspace-tag{margin:28px 9px 7px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-2);background:var(--surface)}.workspace-tag .badge{margin-left:auto}.nav-label{padding:0 10px;margin:25px 0 8px}nav .nav-link{display:flex;align-items:center;gap:11px;padding:9px 11px;color:var(--muted);border-radius:7px;font-size:13px;margin:2px 0;transition:background .15s,color .15s}nav .nav-link:hover{background:var(--surface-2);color:var(--text)}nav .nav-link.active{background:var(--surface-3);color:var(--text)}nav .nav-link.active .icon{color:var(--accent)}.team-nav .nav-label{margin-top:30px}.workspace-initial{width:20px;height:20px;border-radius:5px;background:var(--surface-3);border:1px solid var(--line);display:grid;place-items:center;font-size:10px;color:var(--text-2)}.team-nav .nav-link{padding-top:7px;padding-bottom:7px}.team-nav .nav-link.active .workspace-initial{color:var(--accent);border-color:rgba(147,180,255,.3)}.sidebar-bottom{margin-top:auto;padding:30px 9px 0}.environment{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);padding-bottom:14px}.environment .mono{margin-left:auto;font-size:10px}.account{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font-size:10px;color:var(--muted)}.account strong{color:var(--text-2);font-weight:500}.text-button{background:none;border:0;color:var(--muted);padding:0;font-size:inherit}.text-button:hover{color:var(--text)}.main{width:calc(100% - 238px);margin-left:238px;min-width:0;display:flex;flex-direction:column}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:16px}.breadcrumbs{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.breadcrumbs strong{color:var(--text-2);font-weight:500}.slash{color:var(--faint)}.topbar-right{display:flex;gap:13px;align-items:center}.page{width:100%;max-width:1640px;margin:0 auto;padding:34px 38px 45px;flex:1}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading p{margin-top:8px;font-size:13px}.heading-actions{display:flex;gap:10px;align-items:center;padding-top:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--line-2);padding:9px 14px;border-radius:7px;font-size:12px;font-weight:500;white-space:nowrap;min-height:36px;transition:background .15s}.button:hover{background:#20242b;color:var(--text)}.button.primary{background:var(--text);color:#101215;border-color:var(--text);font-weight:600}.button.primary:hover{background:#fff}.button.small{padding:6px 11px;min-height:31px;font-size:11px}.button.full{width:100%}.icon-button{width:30px;height:30px;display:inline-grid;place-items:center;background:var(--surface);border:1px solid var(--line-2);border-radius:6px;color:var(--muted)}.icon-button:hover{color:var(--text);background:var(--surface-3)}.mobile-menu{display:none}.badge{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:10px;letter-spacing:.1px;padding:4px 8px;border:1px solid var(--line);border-radius:5px;white-space:nowrap;line-height:1.3;background:var(--surface)}.badge.blue{color:var(--accent);background:var(--accent-soft);border-color:rgba(147,180,255,.17)}.badge.green{color:var(--ok);background:rgba(95,196,147,.07);border-color:rgba(95,196,147,.18)}.badge.amber{color:var(--warn);background:rgba(227,179,95,.07);border-color:rgba(227,179,95,.18)}.badge.red{color:var(--bad);background:rgba(239,118,114,.07);border-color:rgba(239,118,114,.18)}.status-dot{display:inline-block;flex:none;width:6px;height:6px;background:var(--ok);border-radius:50%;box-shadow:0 0 0 3px rgba(95,196,147,.07)}.status-dot.idle{background:var(--faint);box-shadow:none}.status-dot.bad{background:var(--bad);box-shadow:none}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:23px}.metric{padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.metric-label{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.metric-value{margin-top:9px;display:flex;align-items:baseline;gap:7px;font-size:25px;letter-spacing:-.6px;font-weight:600;line-height:1.2}.metric-value small{font-size:12px;letter-spacing:0;color:var(--muted);font-weight:400}.metric-caption{font-size:10px;margin-top:6px;color:var(--faint)}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.panel+.panel{margin-top:20px}.panel-header{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.panel-header h2{font-size:13px}.panel-subtitle{font-size:11px;margin-top:3px}.panel-body{padding:20px}.panel-header-right{display:flex;align-items:center;gap:10px}.trace-form{display:grid;grid-template-columns:minmax(150px,1fr) 28px minmax(180px,1.2fr) auto;gap:15px;align-items:end}.form-field label{display:block;color:var(--text-2);font-size:11px;margin-bottom:7px}.form-field small{display:block;color:var(--faint);font-size:10px;margin-top:6px}.form-field input,.form-field select,input,select{width:100%;background:var(--bg);border:1px solid var(--line-2);border-radius:7px;padding:10px 12px;color:var(--text);font-size:12px;min-height:39px}.form-field input:focus,.form-field select:focus,input:focus,select:focus{outline:0;border-color:rgba(147,180,255,.55);box-shadow:0 0 0 3px var(--accent-soft)}.trace-direction{padding-bottom:34px;color:var(--faint);text-align:center}.trace-submit{padding-bottom:22px}.trace-submit .button{height:39px;min-width:125px}.form-note{display:flex;align-items:center;gap:7px;margin-top:16px;color:var(--muted);font-size:10px}.form-note .icon{width:13px;height:13px}.result-bar{display:flex;align-items:flex-start;gap:11px;margin:20px 0 0;padding:14px 17px;background:rgba(147,180,255,.045);border:1px solid rgba(147,180,255,.18);border-radius:9px}.result-bar .icon{margin-top:2px;color:var(--accent)}.result-bar.warning{border-color:rgba(227,179,95,.2);background:rgba(227,179,95,.035)}.result-bar.warning .icon{color:var(--warn)}.result-title{font-size:12px;color:var(--text);font-weight:550}.result-bar p{font-size:11px;margin-top:3px}.result-meta{margin-left:auto;color:var(--muted);font-size:10px;white-space:nowrap}.graph-panel{margin-top:21px}.graph-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 20px 0}.legend{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:10px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:5px}.legend-line{width:16px;height:2px;background:#424b58;display:inline-block}.legend-line.active{background:var(--accent)}.legend-line.standby{background:repeating-linear-gradient(90deg,var(--warn) 0 4px,transparent 4px 7px)}.legend-line.down{background:var(--bad)}.graph-controls{display:flex;gap:5px}.graph-scroll{overflow:auto;padding:0 12px}.topology-svg{display:block;width:100%;min-width:760px;height:auto;min-height:270px}.graph-link{fill:none;stroke:#323a45;stroke-width:2}.graph-link.standby{stroke:rgba(227,179,95,.5);stroke-dasharray:5 6}.graph-link.down{stroke:var(--bad);stroke-dasharray:4 5;opacity:.65}.graph-link.unknown{stroke:#363c45;stroke-dasharray:3 7;opacity:.65}.graph-link.highlight{stroke:var(--accent);stroke-width:3}.graph-link.flow{stroke-dasharray:8 5;animation:flow 1.6s linear infinite}.link-label{font:10px var(--mono);fill:#717a87;paint-order:stroke;stroke:var(--surface);stroke-width:6px;stroke-linejoin:round}.link-label.highlight{fill:var(--accent)}.node{cursor:pointer;outline:none}.node rect{fill:#15191f;stroke:#343c48;stroke-width:1}.node:hover rect,.node:focus rect{stroke:var(--accent);fill:#19202d}.node.active rect{fill:#172235;stroke:#7e9fdf}.node.pending rect{stroke-dasharray:4 4;fill:#101215;stroke:#2b3037}.node-label{fill:var(--text);font:500 12px var(--sans)}.node-detail{fill:var(--muted);font:9px var(--mono)}.node-icon{fill:none;stroke:var(--muted);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.node.active .node-icon{stroke:var(--accent)}.node-led{fill:var(--ok)}.node-led.pending{fill:var(--faint)}.node-led.down{fill:var(--bad)}.graph-foot{border-top:1px solid var(--line);padding:11px 19px;display:flex;justify-content:space-between;gap:12px;color:var(--faint);font-size:10px}.live-toggle{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;cursor:pointer}.live-toggle input{width:12px;height:12px;min-height:0;padding:0;accent-color:var(--accent)}.inspector{margin:0 20px 17px;border:1px solid var(--line-2);border-radius:7px;padding:13px 15px;background:var(--bg)}.inspector-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.inspector-grid{display:flex;gap:24px;flex-wrap:wrap;font-size:11px}.inspector-grid span{color:var(--muted)}.inspector-grid strong{display:block;font-family:var(--mono);font-size:11px;color:var(--text-2);font-weight:400;margin-top:3px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left;white-space:nowrap}th{font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-weight:500;padding:13px 20px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.012)}td{padding:13px 20px;border-bottom:1px solid var(--line);color:var(--text-2)}tr:last-child td{border-bottom:0}tbody tr:hover{background:rgba(255,255,255,.015)}td .subcell{display:block;font-size:9px;color:var(--faint);margin-top:2px}.device-cell{display:flex;align-items:center;gap:9px}.device-cell .icon{color:var(--muted);width:15px;height:15px}.hop-index{font:10px var(--mono);color:var(--muted);border:1px solid var(--line);width:23px;height:23px;border-radius:6px;display:inline-grid;place-items:center}.json-details{border-top:1px solid var(--line);padding:12px 20px;color:var(--muted);font-size:11px}.json-details summary{cursor:pointer}.json-details pre{max-height:340px;overflow:auto;font-size:10px;line-height:1.65;color:var(--text-2);padding:15px 0;margin:0}.gateway-strip{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:30px;flex-wrap:wrap;background:rgba(95,196,147,.025)}.gateway-strip span{font-size:10px;color:var(--muted)}.gateway-strip strong{display:block;font-size:11px;color:var(--text-2);font-weight:400;margin-top:3px;font-family:var(--mono)}.empty-state{padding:36px 20px;text-align:center}.empty-state .icon{width:27px;height:27px;color:var(--faint);margin-bottom:13px}.empty-state h2{font-size:13px}.empty-state p{font-size:11px;margin:6px auto 0;max-width:450px}.section-gap{margin-top:24px}.inline-error{border:1px solid rgba(239,118,114,.3);border-radius:8px;background:rgba(239,118,114,.04);padding:12px 16px;color:var(--bad);font-size:12px;margin-bottom:20px}.loading-state{padding:60px;color:var(--muted);text-align:center}.page-footer{padding:0 38px 23px;font-size:10px;color:var(--faint);display:flex;align-items:center;justify-content:space-between}.footer-dot{padding:0 7px}.search-input{max-width:225px;min-height:31px;font-size:11px;padding:6px 10px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.workspace-card{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:22px;display:block;color:var(--text)}.workspace-card:hover{border-color:var(--line-2);background:var(--surface-2)}.workspace-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.workspace-card .workspace-initial{height:32px;width:32px;font-size:12px}.workspace-card h2{font-size:15px}.workspace-card p{margin:5px 0 18px;font-size:12px}.workspace-card .card-link{font-size:11px;color:var(--accent)}.placeholder-panel{padding:58px 35px;text-align:center;min-height:285px;display:flex;flex-direction:column;align-items:center;justify-content:center}.placeholder-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line-2);background:var(--surface-2);border-radius:13px;color:var(--muted);margin-bottom:19px}.placeholder-panel h2{font-size:20px;font-weight:550;letter-spacing:-.4px}.placeholder-panel p{margin-top:9px;font-size:12px;max-width:420px}.placeholder-panel .badge{margin-top:22px}.note-panel{padding:17px 20px;display:flex;align-items:flex-start;gap:12px}.note-panel .icon{color:var(--accent);margin-top:2px}.note-panel h3{font-size:12px}.note-panel p{margin-top:3px;font-size:11px}.toast{position:fixed;bottom:24px;right:25px;z-index:100;background:var(--surface-3);border:1px solid var(--line-2);box-shadow:0 10px 40px #0006;padding:12px 17px;border-radius:9px;font-size:12px;color:var(--text)}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 20%,rgba(147,180,255,.035),transparent 55%),var(--bg)}.login-wrap{width:390px;max-width:calc(100vw - 36px);padding:45px 0}.login-brand{padding:0;margin-bottom:28px}.login-brand strong{font-size:18px}.login-brand small{font-size:12px}.login-panel{padding:29px}.login-panel .eyebrow{font-size:9px;color:var(--muted);letter-spacing:1.1px}.login-panel h1{font-size:25px;margin-top:11px}.login-panel>p{font-size:12px;margin-top:8px}.login-panel form{margin-top:25px}.login-panel label{display:block;color:var(--text-2);font-size:11px;margin:17px 0 7px}.login-panel input{font-size:13px;height:41px}.login-panel .button{height:40px;font-size:12px;justify-content:space-between}.form-error{color:var(--bad);font-size:11px;min-height:20px;margin:9px 0}.form-error:empty{min-height:5px}.login-note{display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);margin-top:24px;padding-top:17px;color:var(--muted);font-size:10px}.login-foot{font-size:10px;color:var(--faint);text-align:center;margin-top:20px}.login-foot span{padding:0 7px}[hidden]{display:none!important}@keyframes flow{to{stroke-dashoffset:-26}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(min-width:1700px){.page{padding-top:42px}}@media(max-width:1100px){.sidebar{width:212px}.main{margin-left:212px;width:calc(100% - 212px)}.topbar{padding:0 25px}.page{padding:28px 25px 35px}.metrics{gap:10px}.metric{padding:14px}.metric-value{font-size:22px}.trace-form{grid-template-columns:1fr 20px 1fr;gap:10px}.trace-submit{grid-column:3;padding-bottom:0}.trace-submit .button{width:100%}.trace-direction{padding-bottom:33px}.page-footer{padding-left:25px;padding-right:25px}.cards{gap:12px}.workspace-card{padding:17px}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .18s;width:238px;box-shadow:15px 0 50px #0008}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.mobile-menu{display:inline-grid;margin-right:3px}.topbar{height:61px;padding:0 18px;justify-content:flex-start}.topbar-right{margin-left:auto;gap:8px}.topbar-right .badge{font-size:9px}.breadcrumbs{font-size:11px;gap:8px}.page{padding:25px 18px}.page-heading{gap:10px}.page-heading h1{font-size:25px}.page-heading p{font-size:12px}.heading-actions .button{padding:7px}.heading-actions .button span{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.metric{padding:14px 16px}.metric-value{font-size:24px}.trace-form{grid-template-columns:1fr}.trace-direction{display:none}.trace-submit{grid-column:auto;padding-bottom:0}.trace-submit .button{width:100%;margin-top:3px}.form-field small{margin-bottom:2px}.panel-header{padding:15px 16px}.panel-body{padding:16px}.result-meta{display:none}.graph-toolbar{padding:13px 15px 5px;align-items:flex-start}.legend{gap:9px;max-width:240px}.legend span{font-size:9px}.graph-scroll{padding:0 8px}.graph-foot{padding:10px 14px}.graph-foot>span{max-width:65%}.page-footer{padding:0 18px 20px}.cards{grid-template-columns:1fr}.workspace-card{padding:20px}.workspace-card-top{margin-bottom:14px}.panel-header .search-input{max-width:160px}.gateway-strip{gap:20px}.login-panel{padding:25px}.account{font-size:11px}}@media(max-width:390px){.breadcrumbs>span:first-child,.breadcrumbs>.slash{display:none}.topbar-right .button{font-size:0;gap:0;padding:6px 8px}.topbar-right .button span{font-size:15px}.metrics .metric-value{font-size:22px}}
