*{box-sizing:border-box} [hidden]{display:none!important}
:root{color-scheme:light;--bg:#eef2f1;--paper:#fff;--ink:#182a2c;--muted:#516769;--line:#cad6d3;--dark:#123a39;--mint:#bef2cb;--green:#196248;--sand:#ae6c17}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 "Inter","Segoe UI","Microsoft YaHei UI","PingFang SC",sans-serif}
button,input,select,a.action{font:inherit} button,a.action{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #248763;outline-offset:3px}
h1,h2,h3,p,dl,dd{margin:0}button,a.action{border:1px solid transparent;border-radius:9px;font-weight:650;padding:9px 15px;text-decoration:none;line-height:1.35}button:disabled{opacity:.55;cursor:wait}
.primary{background:#184b41;color:#fff}.primary:hover{background:#103b33}.secondary,.subtle{color:#214e46;background:#fff;border-color:#b7c9c4}.secondary:hover,.subtle:hover{background:#eff6f1}
.mast{background:#142d2d;color:#fff}.mast-in,main{max-width:1190px;margin:auto;padding-inline:clamp(18px,4.5vw,66px)}.mast-in{height:66px;display:flex;gap:24px;align-items:center}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:730;letter-spacing:-.035em;font-size:22px}.brandmark{height:27px;width:27px;display:inline-block;background:linear-gradient(135deg,transparent 14%,var(--mint) 15% 34%,transparent 35% 45%,#88c4a6 46% 64%,transparent 65% 75%,#497d70 76% 93%,transparent 94%);border-radius:5px}.mast-context{font-size:13px;color:#bbceca;padding-left:20px;border-left:1px solid #4b6461}.header-action{margin-left:auto;color:#daede7;background:transparent;border-color:#4e6a64;font-size:13px}
main{padding-bottom:25px}.page-title,.toolbar,.section-heading,.route-top,.sheet-head,footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-title{margin:clamp(32px,5.5vw,65px) 0 26px}.page-title h1,.login-body h1{font-size:clamp(31px,4.7vw,47px);line-height:1.2;letter-spacing:-.055em;font-weight:750}.page-title p,footer,.section-heading>span,.login-body p,dialog p,#empty{color:var(--muted)}.page-title p{margin-top:7px;font-size:13px}.toolbar{justify-content:flex-end}.grid-home{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(215px,.85fr);gap:18px}
.card,.route-card,.login-card{border:1px solid var(--line);border-radius:16px;background:var(--paper)}.route-card,.fleet-health{padding:clamp(22px,3.1vw,34px)}.route-card,.login-art{background:var(--dark);color:white}.route-top{align-items:flex-start}.route-top h2{color:#c1d7d0;font-weight:530;font-size:14px}.route-card h3{font-size:clamp(32px,4.5vw,49px);line-height:1.15;margin:12px 0 8px;letter-spacing:-.055em}.route-card>p{color:#d2e4dc;font-size:14px}.chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;font-weight:650;border:1px solid #c2d8ce;padding:3px 9px;border-radius:99px;background:#eef7f0;color:#275e46}.chip::before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.chip.off{color:#556562;background:#f0f3f2;border-color:#d9e0dd}.chip.darkchip{color:#c5f2cf;background:#285348;border-color:#58796b}.chip.darkchip.off{color:#dce4e0;background:#345450}
.route-path{display:flex;align-items:center;margin-top:22px;gap:9px;max-width:460px}.endpoint{display:flex;align-items:center;gap:8px;color:#e4f1e7;font-size:13px}.endpoint b{font-weight:560}.wire{height:2px;min-width:10px;flex:1;background:#719a88}.glyph{width:25px;height:23px;border:1.5px solid #a8c9b8;border-radius:5px;display:inline-grid;place-items:center}.glyph::after{content:"";display:block;background:#cae7d2;width:11px;height:7px;border-radius:1px}.glyph.pc::after{background:transparent;border:1px solid #cae7d2}.glyph.relay::after{height:3px;box-shadow:0 4px #cae7d2;transform:translateY(-2px)}.glyph.nas::after{height:9px;width:3px;box-shadow:5px 0 #cae7d2;transform:translateX(-2px)}
.fleet-health h2,.section-heading h2{font-size:19px;letter-spacing:-.025em}.fleet-health dl{margin-top:10px}.fleet-health dl>div{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e3e9e6;padding:6px 0}.fleet-health dl>div:first-child{border:0}.fleet-health dt{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:9px}.dot{width:8px;height:8px;background:#9aafaa;display:inline-block;border-radius:50%}.dot.good{background:#429068}.dot.attention{background:var(--sand)}.fleet-health dd{font-size:25px;font-variant-numeric:tabular-nums;line-height:1.25;font-weight:650}
.inventory{margin-top:22px;overflow:hidden}.section-heading{padding:22px 24px 16px}.section-heading>span,footer{font-size:12px}table{width:100%;border-collapse:collapse;text-align:left}th{color:#55706a;font-size:12px;font-weight:600;background:#f6f8f6}td,th{padding:12px 10px;border-top:1px solid #e2e9e5}td{font-size:14px}td:first-child,th:first-child{padding-left:24px}td:last-child,th:last-child{padding-right:24px}tbody tr.selected{background:#f6faf6}td small{display:block;color:var(--muted);font-size:12px}.device-title{font-weight:670;overflow-wrap:anywhere}.linkbtn{padding:4px 1px;color:var(--green);background:transparent;font-size:13px;text-align:left}.metric{font-variant-numeric:tabular-nums}#empty{padding:16px 24px 28px}footer{margin-top:18px}
.notice,.ticket{background:#e4f3e8;border:1px solid #bcd8c5;padding:10px 14px;border-radius:9px}.notice{margin-top:18px}.error{color:#903b28!important}.notice.error{background:#fff2e9;border-color:#e8c7ad}
.login-card{margin:clamp(44px,9vh,110px) auto;max-width:900px;display:grid;grid-template-columns:.95fr 1fr;overflow:hidden}.login-art,.login-body{padding:clamp(26px,4.3vw,50px)}.login-art{display:flex;flex-direction:column;justify-content:center;gap:12px}.login-art h2{font-size:clamp(26px,4vw,39px);line-height:1.3;letter-spacing:-.05em;margin-bottom:18px}.sample-path{display:flex;gap:12px;align-items:center;color:#c2ded0;font-size:13px}.sample-path i{flex:1;border-top:1px solid #749889}.sample-path b{font-weight:550;color:#f3faf4}.login-body h1{font-size:29px}.login-body p,dialog p{font-size:14px;margin-top:8px}label{display:block;margin:15px 0 5px;font-size:13px;font-weight:640}input,select{display:block;width:100%;min-width:0;border-radius:8px;background:white;border:1px solid #a8bdb6;color:var(--ink);padding:9px 10px}form>button,.action{display:inline-block;margin-top:14px}.login-body form{margin-top:18px}.login-body button{width:100%}
dialog{border:1px solid var(--line);border-radius:15px;padding:24px;max-width:min(550px,calc(100vw - 26px));width:550px;max-height:88vh;color:var(--ink);background:#fff}dialog::backdrop{background:rgba(15,39,36,.48)}.sheet-head{color:var(--muted);font-size:13px;margin-bottom:8px}.close{font-size:23px;line-height:1;padding:3px 7px;background:transparent;color:var(--ink)}dialog h2{font-size:27px;letter-spacing:-.04em;overflow-wrap:anywhere}dialog section,dialog details{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}dialog h3,summary{font-size:15px;font-weight:650}summary{cursor:pointer}.facts{display:grid;grid-template-columns:max-content 1fr;gap:7px 16px;margin:15px 0}.facts dt{color:var(--muted)}.facts dd{text-align:right}.facts dt,.facts dd{font-size:13px}.equipment-note{background:#f1f6f2;border-radius:8px;padding:10px 12px}.ticket{margin-top:15px}code,pre{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.55 Consolas,monospace}pre{background:#f3f6f4;padding:10px;border-radius:6px}.danger{color:#883825;border-color:#dfc5b8;background:white;margin-left:8px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:730px){.grid-home{grid-template-columns:1fr}.fleet-health{padding:16px 21px}.fleet-health dl{display:flex;justify-content:space-between;gap:10px;margin-top:10px}.fleet-health dl>div{display:block;border:none;padding:0}.fleet-health dd{margin-top:5px}.toolbar{gap:5px}.toolbar button{padding:8px 10px}.page-title{align-items:flex-end}.section-heading{padding:16px}.inventory table,.inventory tbody,.inventory tr{display:block}.inventory thead{display:none}.inventory tr{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;border-top:1px solid var(--line);padding:15px 16px}.inventory td,.inventory td:first-child,.inventory td:last-child{border:0;padding:0}.inventory td[data-label]::before{content:attr(data-label);display:block;color:var(--muted);font-size:11px}.inventory td:nth-child(2){text-align:right}.inventory td:last-child{display:flex;justify-content:flex-end;align-items:flex-end}.mast-in{height:58px;gap:12px}.mast-context{padding-left:12px}.header-action{padding:5px 8px}.login-art{display:none}.login-card{display:block;max-width:430px}.route-card,.fleet-health{border-radius:12px}.route-path{gap:6px}.endpoint{gap:4px}}
@media(max-width:390px){.mast-context{display:none}.toolbar .subtle{padding:8px}.page-title{gap:5px}.page-title h1{font-size:29px}.endpoint{font-size:12px}.dot{width:6px;height:6px}}
