:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#252e37;background:#f5f6f8;font-synthesis:none;font-size:14px;--muted:#818995;--line:#e8ebef;--green:#38784b;--amber:#a76a20;--red:#c04d4d}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a9c786;outline-offset:3px}button{border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:var(--muted);line-height:1.7}.shell{display:flex;min-height:100vh}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;padding:32px 22px 24px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:2}.brand{display:flex;gap:11px;align-items:center;font-size:17px;font-weight:700;letter-spacing:-.5px;white-space:nowrap}.brand-mark{background:#25302d;color:#deefb5;width:40px;height:40px;border-radius:11px;display:grid;place-content:center;font-size:24px;font-weight:750;position:relative}.brand-mark span{font-size:12px;position:absolute;right:7px;top:4px}.brand small{display:block;font-size:7px;letter-spacing:1.2px;color:#9aa19e;margin-top:5px}.nav-label,.small-label{font-size:10px;letter-spacing:1.6px;color:#939ca5;font-weight:600}.nav-label{margin:50px 12px 16px}nav{display:grid;gap:7px}nav button{padding:13px 14px;text-align:left;border-radius:8px;font-size:13px;color:#777f89;display:flex;gap:13px;align-items:center}nav button span{font-size:22px;line-height:20px;width:22px}nav button:hover{background:#f6f7f7}nav button.active{background:#edf2e6;color:#364f34;font-weight:650}.sidebar-bottom{margin-top:auto;padding:35px 10px 0}.sidebar-bottom strong{font-size:12px;display:flex;gap:8px;align-items:center;margin:12px 0}.sidebar-bottom p{font-size:11px;line-height:1.8;color:#9299a1}.text-button{padding:15px 0 0;font-size:12px;color:#78828a}.dot{width:6px;height:6px;background:#679465;display:inline-block;border-radius:50%;flex-shrink:0}.connection .dot{box-shadow:0 0 0 3px #edf5e9}.connection{font-size:11px;color:#7c858e;display:flex;align-items:center;gap:8px}main{margin-left:240px;width:calc(100% - 240px)}.topbar{height:75px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;justify-content:space-between;align-items:center;background:#ffffffb0}.breadcrumb{font-size:12px;color:#9299a1;display:flex;gap:15px}.breadcrumb strong{font-weight:500;color:#4f5964}.top-actions{display:flex;gap:16px;align-items:center}.button,.icon-button{background:#fff;border:1px solid #e4e8ec;border-radius:7px;padding:8px 12px;font-size:11px}.icon-button{font-size:20px;padding:3px 10px}.content{max-width:1600px;padding:35px 38px 0;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{color:#919a8c;font-size:9px;font-weight:650;letter-spacing:2px;margin:0 0 12px}h1{font-size:29px;letter-spacing:-1px;margin:0;font-weight:650}h1 .accent{color:#91aa63;margin-left:4px}.page-heading p.muted{font-size:12px;margin:11px 0 0}.heading-meta{text-align:right;color:#6b7480;font-size:11px}.heading-meta small{display:block;color:#9aa2ab;margin-top:8px;font-size:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:20px 22px;background:white;border:1px solid var(--line);border-radius:10px}.stat-top{display:flex;justify-content:space-between;font-size:11px;color:#7c8692}.stat-icon{background:#f2f5ee;border-radius:5px;color:#748667;padding:4px 7px}.stat-value{font-size:32px;letter-spacing:-1px;margin:9px 0;font-weight:600;font-variant-numeric:tabular-nums}.stat-value small{font-size:12px;font-weight:400;color:#a3aab2;margin-left:7px;letter-spacing:0}.stat-foot{font-size:10px;color:#8b959d}.stat-foot.good{color:#69915f}.fleet-bar{display:flex;justify-content:space-between;align-items:center;margin:28px 0 14px}.section-label{font-size:13px;font-weight:650}.count{font-size:10px;background:#e8ebee;border-radius:5px;padding:3px 6px;margin-left:7px;color:#79838d}.search{display:flex;align-items:center;gap:9px;background:white;border:1px solid var(--line);border-radius:7px;padding:8px 12px;color:#8b929a}.search input{border:0;outline:none;background:none;font-size:11px;width:170px;color:#46515b}.node-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.node-card{text-align:left;background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px 19px;min-width:0}.node-card.selected{border-color:#9aac83;box-shadow:0 0 0 1px #9aac8315;background:#fcfdf9}.node-head{display:flex;align-items:center;gap:10px}.server-icon{background:#edf1e8;border-radius:8px;padding:8px;color:#82926c;font-size:20px;line-height:20px}.node-name{font-size:12px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.node-name small{font-size:9px;font-weight:400;display:block;margin-top:5px;color:#929ba4}.badge{display:inline-flex;gap:5px;align-items:center;border-radius:5px;padding:4px 7px;background:#edf5eb;color:#5a8250;font-size:9px;white-space:nowrap}.badge.warning{background:#fff4df;color:#a17c33}.badge.error,.badge.critical{background:#fbeceb;color:#b95a55}.badge.muted{background:#f0f2f4;color:#8b929a}.node-metrics{display:flex;gap:22px;margin-top:17px;padding-top:12px;border-top:1px solid #f0f1ed;font-size:10px;color:#8c959e}.node-metrics strong{color:#45515b;font-size:12px;margin-left:6px;font-weight:550}.detail-heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 16px}.detail-heading h2{font-size:14px;margin:0}.detail-heading p{font-size:10px;color:#8a949e;margin:6px 0 0}.tabs{display:flex;gap:3px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:3px}.tabs button{padding:5px 9px;font-size:10px;border-radius:4px;color:#89929a}.tabs button.active{background:#edf2e7;color:#657d4d}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:21px 22px;margin-bottom:16px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.panel h3{font-size:12px;font-weight:650;margin:0}.panel-subtitle{font-size:10px;color:#99a1a8;margin-top:6px}.chart-value{font-size:29px;font-weight:600;letter-spacing:-1px}.chart-value small{font-size:12px;color:#9aa3aa;margin-left:5px;font-weight:400}.chart{width:100%;height:125px;margin-top:12px;overflow:visible}.chart .grid{stroke:#edf0f2;stroke-width:1;stroke-dasharray:3 5}.chart .line{fill:none;stroke:#809c54;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart .line.blue{stroke:#7092b4}.chart .area{fill:#eef3e6;opacity:.7}.chart-labels{display:flex;justify-content:space-between;color:#a4acb2;font-size:9px;margin:4px 0}.legend{display:flex;align-items:center;gap:6px;color:#8b959d;font-size:10px}.legend:before{content:"";width:6px;height:6px;background:#8aa861;border-radius:50%}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px}th{color:#919ba5;font-weight:400;font-size:10px;background:#fafbfc;padding:11px 12px;white-space:nowrap}td{padding:13px 12px;border-bottom:1px solid #f0f2f4;max-width:450px;word-break:break-word}tr:last-child td{border-bottom:0}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:10px}.table-name{font-weight:550;color:#49565f}.sub{display:block;color:#99a1a9;font-size:9px;margin-top:4px}.empty{text-align:center;color:#9aa3ab;padding:34px 20px;font-size:12px;line-height:1.9}.empty strong{display:block;font-weight:500;font-size:14px;color:#66737e;margin-bottom:5px}.kv{display:grid;grid-template-columns:1fr auto;gap:14px;font-size:11px}.kv dt{color:#909aa3}.kv dd{margin:0;color:#4a5863;text-align:right;max-width:500px;overflow-wrap:anywhere}progress{width:90px;height:5px;border:0;border-radius:5px;overflow:hidden;background:#eef1eb;vertical-align:middle;margin-right:8px}progress::-webkit-progress-bar{background:#eef1eb}progress::-webkit-progress-value{background:#97ac76}progress::-moz-progress-bar{background:#97ac76}.event{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid #f0f2f4;align-items:flex-start}.event:last-child{border:0}.event-body{flex:1;font-size:11px;overflow-wrap:anywhere}.event-body small{display:block;color:#99a3ab;margin-top:6px;font-size:10px}.event time{font-size:10px;color:#9aa3ab;white-space:nowrap}.banner{background:#fff4df;border:1px solid #edddb9;color:#97713d;padding:13px 17px;border-radius:8px;margin-bottom:20px;font-size:12px}.note{color:#949da5;font-size:10px;line-height:1.8;margin:10px 0 0}footer{padding:22px 0 25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#a2aab2;font-size:9px;gap:20px}footer strong{letter-spacing:1px;font-size:8px;font-weight:600}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-card{align-self:center;padding:50px;width:100%;max-width:490px;margin:auto}.login-card>.brand-mark{margin-bottom:54px}.login-card h1{font-size:38px;line-height:1.45;letter-spacing:-1px}.login-card .muted{font-size:12px;margin:20px 0 40px}.login-card label{font-size:11px;color:#65716e;display:block;margin-bottom:10px}.login-card input{width:100%;border:1px solid #e1e6df;border-radius:7px;padding:14px;font-size:12px;background:#fbfcfa}.primary{background:#293c2d;color:#eff5e9;padding:14px 18px;border-radius:7px;width:100%;margin-top:15px;font-size:12px;display:flex;justify-content:space-between}.login-foot{font-size:10px;color:#97a08e;margin-top:40px}.login-foot .dot{margin-right:6px}#login-error{font-size:11px;color:#bf6250;min-height:20px}.login-art{background:#e8eedf;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center}.orbit{position:absolute;border:1px solid #c8d4b8;border-radius:50%;width:400px;height:400px;transform:rotate(-30deg) skew(12deg)}.orbit-two{width:560px;height:560px}.orbit-three{width:730px;height:730px}.art-center{font-size:100px;font-weight:700;color:#667b4c;letter-spacing:-9px;transform:rotate(-12deg)}.login-art p{position:absolute;bottom:50px;left:50px;font-size:30px;font-weight:500;letter-spacing:-1px;line-height:1.4;color:#7c8e68}@media(min-width:1600px){.node-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1150px){.sidebar{width:200px;padding:25px 15px}.brand{font-size:15px}.brand small{font-size:6px}main{margin-left:200px;width:calc(100% - 200px)}.content{padding:26px 25px 0}.topbar{padding:0 25px}.stats{gap:10px}.stat{padding:16px}.node-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heading-meta{display:none}}@media(max-width:800px){.sidebar{position:static;width:100%;padding:15px;border:0;border-bottom:1px solid var(--line)}.shell{display:block}.sidebar .brand{font-size:16px}.sidebar .brand-mark{width:33px;height:33px;font-size:22px}.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow-x:auto;gap:5px;margin-top:18px}nav button{white-space:nowrap;padding:8px 12px;font-size:11px}nav button span{display:none}main{margin:0;width:100%}.topbar{height:55px;padding:0 20px}.content{padding:25px 20px 0}.breadcrumb{font-size:10px}.top-actions{gap:8px}.connection{font-size:9px}.page-heading h1{font-size:25px}.stats{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.node-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:18px}.node-metrics{gap:10px}.login{grid-template-columns:1fr}.login-art{display:none}footer{flex-direction:column;gap:8px}}@media(max-width:480px){.node-grid{grid-template-columns:1fr}.search input{width:130px}.connection{display:none}.content{padding:22px 15px 0}.page-heading p.muted{font-size:11px}.stat-value{font-size:28px}.detail-heading{align-items:flex-start;gap:10px}.detail-heading p{max-width:210px;line-height:1.6}.login-card{padding:35px}.stat{padding:15px}.panel{padding:16px}td,th{padding:11px 9px}.event time{font-size:8px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}.node-card:hover{border-color:#b5c49c}}

.mobile-only{display:none}@media(max-width:800px){.mobile-only{display:block}}
