@font-face{font-family:Chivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/chivo-vietnamese-wght-normal-BjQIDkhi.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/chivo-latin-ext-wght-normal-CuxPzFD0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/chivo-latin-wght-normal-CPi3f958.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Chivo Variable,system-ui,sans-serif;color:#eaf7ef;background:#07110d;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 76% 12%,rgba(108,244,151,.08),transparent 28%),#07110d}button,input,select{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.shell aside{position:sticky;top:0;height:100vh;padding:28px 22px;background:#0b1913;border-right:1px solid #20382c;display:flex;flex-direction:column}.brand{display:flex;gap:13px;align-items:center;color:inherit;text-decoration:none}.brand img{width:45px;height:45px;border-radius:12px}.brand strong{display:block;font-size:20px}.brand span,.eyebrow,.title span{font:11px IBM Plex Mono,monospace;letter-spacing:.18em;color:#75a88d}.site{margin:30px 0 18px;padding:12px;border:1px solid #244535;border-radius:9px;color:#b6cbbf;font:12px IBM Plex Mono,monospace}.site i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#79ec9f;margin-right:9px;box-shadow:0 0 12px #79ec9f}nav{display:grid;gap:6px}nav button{border:0;background:transparent;color:#91a99c;padding:12px 14px;text-align:left;border-radius:8px;cursor:pointer}nav button.active{background:#1a3226;color:#f4fff7;border-left:3px solid #85e7a5}aside footer{margin-top:auto;padding-top:18px;border-top:1px solid #233a2f}aside footer b,aside footer small{display:block}aside footer small{color:#71877b;margin-top:4px}main{padding:42px 4vw 80px;max-width:1500px;width:100%}main>header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px}h1{font-size:42px;margin:8px 0 0}button{cursor:pointer}.primary,.secondary{border-radius:8px;padding:10px 16px}.primary{border:0;background:#8cf1ab;color:#08110c;font-weight:700}.primary:disabled{opacity:.45}.secondary{border:1px solid #31513f;background:#102118;color:#d9ebe0}.error{margin-bottom:18px;padding:12px 14px;background:#391b1b;border:1px solid #7b3333;border-radius:8px}.error button{float:right;color:inherit;background:none;border:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:18px}.metric,.panel{background:#0c1812;border:1px solid #22382d;border-radius:12px}.metric{padding:20px;position:relative;overflow:hidden}.metric span{color:#88a094;font-size:13px}.metric strong{display:block;font-size:28px;margin-top:15px}.metric i{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#7fe7a2,#a9ff67)}.panel{padding:22px;margin-bottom:18px}.title{margin-bottom:20px}.title h2{margin:7px 0 0;font-size:24px}.nodes{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.nodes article{padding:18px;background:#102119;border-radius:10px}.nodes article div{display:flex;align-items:center;gap:8px;color:#86a192;font:12px IBM Plex Mono,monospace}.nodes i{width:8px;height:8px;border-radius:50%;background:#6b7d73}.nodes i.healthy{background:#6ff39a}.nodes i.degraded{background:#ffd166}.nodes i.offline{background:#ff6b6b}.nodes h2{margin:16px 0 7px}.nodes p,.nodes small{color:#809589}.routes{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 0;color:#91a99c}.routes div{padding:12px 17px;border:1px solid #2c4939;border-radius:999px}.routes span{color:#aaffc3}.form-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.form-row input,.form-row select{min-height:42px;padding:0 12px;border-radius:8px;border:1px solid #2a4737;background:#0a1510;color:#e9f7ee}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 10px;text-align:left;border-bottom:1px solid #20352b}th{color:#72887d;font:11px IBM Plex Mono,monospace;letter-spacing:.08em}.link{border:0;background:none;color:#9ef3b9;padding:0}.detail-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:16px}.detail-head strong{font-size:24px}.detail-head button{margin-left:auto}.chart{height:340px}.empty{padding:28px;text-align:center;color:#758b7f}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:8vw}.login section{max-width:560px}.login section img{width:68px;height:68px;border-radius:16px}.login h1{font-size:58px;line-height:1.04}.login p{color:#90aa9d;font-size:18px;line-height:1.7}.login a{display:inline-flex;margin-top:24px;padding:14px 20px;border-radius:9px;background:#8cf1ab;color:#07110d;text-decoration:none;font-weight:700}.login small{display:block;color:#6f8579;margin-top:14px}.route-art{height:420px;position:relative}.route-art:before{content:"";position:absolute;left:10%;right:10%;top:50%;height:2px;background:linear-gradient(90deg,#79ec9f,#78a8ff,#d3ff67)}.route-art>*{position:absolute;top:44%;display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#10251b;border:1px solid #3a674e}.route-art i{left:2%}.route-art b{left:34%}.route-art em{left:62%}.route-art span{right:0}.splash{min-height:60vh;display:grid;place-content:center;gap:14px;color:#799083;text-align:center}.splash i{width:24px;height:24px;border-radius:50%;border:2px solid #345343;border-top-color:#86eca7;animation:spin 1s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.shell{grid-template-columns:1fr}.shell aside{position:static;height:auto}.shell nav{display:flex;overflow:auto}.shell aside footer{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.login{grid-template-columns:1fr}.route-art{display:none}}@media(max-width:560px){main{padding:25px 16px}.metrics,.nodes{grid-template-columns:1fr}h1{font-size:34px}.login{padding:24px}.login h1{font-size:42px}}
