*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;background:#030713;color:#dff8ff;font-family:PingFang SC,Microsoft YaHei,Arial,sans-serif}button{border:0;cursor:pointer;font:inherit}.boot,.login{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 20%,rgba(0,213,255,.28),transparent 36%),#030713}.grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,213,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,213,255,.08) 1px,transparent 1px);background-size:42px 42px}.loginCard{position:relative;width:460px;padding:44px;border:1px solid rgba(0,213,255,.28);border-radius:30px;background:#07142db8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 0 80px #00d5ff2e}.logo{width:86px;height:86px;border-radius:26px;background:linear-gradient(135deg,#00d5ff,#05f);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;box-shadow:0 0 35px #00d5ff7a}.loginCard h1{font-size:26px;margin:24px 0 8px}.loginCard p{color:#8edbea}.loginCard button{width:100%;height:54px;margin-top:24px;border-radius:16px;background:linear-gradient(90deg,#00d5ff,#0fa);font-weight:900;color:#00141c}.shell{height:100%;display:flex;background:radial-gradient(circle at 75% 0,rgba(0,86,255,.24),transparent 35%),#030713;overflow:hidden}aside{width:230px;padding:24px 14px;border-right:1px solid rgba(0,213,255,.14);background:#061022e6}.brand{height:58px;font-size:24px;font-weight:900;color:#00d5ff;letter-spacing:2px}.menu{height:44px;margin:8px 0;padding:12px 14px;border-radius:14px;color:#b7d8e2;background:linear-gradient(90deg,rgba(0,213,255,.08),transparent);border:1px solid rgba(0,213,255,.08);-webkit-user-select:none;user-select:none}.menu:hover,.menu.active{color:#fff;border-color:#00d5ff5c;box-shadow:inset 0 0 28px #00d5ff14}main{flex:1;padding:18px;overflow:auto}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.kicker{color:#00d5ff;font-size:11px;letter-spacing:3px}h1{margin:4px 0 0;font-size:30px}h2{margin:0 0 14px;font-size:20px}.right{display:flex;gap:9px;align-items:center}.right span,.right button{padding:9px 12px;border-radius:12px;background:#00d5ff14;border:1px solid rgba(0,213,255,.18);color:#dff8ff}.cockpit{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:14px}.dashGauge{height:156px;border-radius:18px;border:1px solid rgba(0,213,255,.16);background:linear-gradient(145deg,#0d2448b8,#061023b8);position:relative;overflow:hidden;padding:12px;box-shadow:inset 0 0 45px #00d5ff0d}.dashGauge:after{content:"";position:absolute;right:-35px;top:-35px;width:120px;height:120px;border-radius:50%;background:#00d5ff1f;filter:blur(18px)}.gaugeTitle{text-align:center;font-weight:800;color:#dff8ff;font-size:13px}.meter{width:124px;height:92px;margin:8px auto 0;position:relative;overflow:hidden}.meterArc{position:absolute;left:0;top:0;width:124px;height:124px;border-radius:50%;border:13px solid rgba(128,150,165,.3);border-bottom-color:transparent;border-left-color:#8096a54d;transform:rotate(45deg)}.meterNeedle{position:absolute;left:60px;top:38px;width:3px;height:45px;background:#fff;border-radius:5px;transform-origin:50% 38px;box-shadow:0 0 8px #fffc}.meterCenter{position:absolute;left:0;right:0;top:38px;text-align:center}.meterCenter b{display:block;font-size:30px;color:#fff;line-height:30px}.meterCenter span{display:block;color:#96b6c8;font-size:12px;margin-top:2px}.meterStatus{position:absolute;left:14px;right:14px;bottom:10px;text-align:center;color:#9ed8e7;font-size:12px}.meterStatus i{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px;background:#2fffb4}.dashGauge.warn .meterStatus i{background:#ffd335}.dashGauge.danger .meterStatus i{background:#ff4d5c}.dashboardGrid{display:grid;grid-template-columns:minmax(820px,1fr) 290px;gap:14px}.panel{border:1px solid rgba(0,213,255,.16);border-radius:18px;background:#061228ad;padding:16px;overflow:hidden;box-shadow:inset 0 0 40px #00d5ff0a}.topologyPanel{height:730px}.svgTopo{width:100%;height:680px;background:radial-gradient(circle at center,rgba(0,213,255,.11),transparent 45%)}.layerLine{stroke:#00d5ff24;stroke-width:1;stroke-dasharray:8 10}.layerText{fill:#00d5ff;font-size:13px;font-weight:900}.linkBase{fill:none;stroke:#00d5ff38;stroke-width:2}.linkFlow{fill:none;stroke:url(#linkFlow);stroke-width:2.6;stroke-dasharray:14 16;animation:dash 1.4s linear infinite}.linkText{fill:#8ff2ff;font-size:11px;font-weight:800}@keyframes dash{to{stroke-dashoffset:-60}}.topoNode{height:122px;padding:9px 10px;border-radius:12px;border:1px solid rgba(0,213,255,.36);background:linear-gradient(145deg,#0b2146f2,#040e1ee6);box-shadow:0 0 18px #00d5ff29;cursor:pointer;position:relative;overflow:hidden}.topoNode .dot{position:absolute;left:8px;top:9px;width:8px;height:8px;border-radius:50%;background:#2fffb4;box-shadow:0 0 8px #2fffb4}.topoNode.normal{border-color:#00d5ff61}.topoNode.warn{border-color:#ffd335;box-shadow:0 0 18px #ffd33552}.topoNode.warn .dot{background:#ffd335;box-shadow:0 0 8px #ffd335}.topoNode.alarm{border-color:#ff4d5c;box-shadow:0 0 22px #ff4d5c7a}.topoNode.alarm .dot{background:#ff4d5c;box-shadow:0 0 8px #ff4d5c}.nodeName{font-size:13px;line-height:16px;font-weight:900;color:#fff;padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nodeIp{font-size:11px;color:#7deaff;margin-top:4px}.nodeMeta{margin-top:5px;display:flex;flex-direction:column;gap:1px;font-size:10px;line-height:13px;color:#d4e9f0}.nodeMeta .mid{color:#ffd335}.nodeMeta .bad{color:#ff4d5c}.legend rect{fill:#071226bf;stroke:#00d5ff24}.legend text{fill:#dff8ff;font-size:12px}.normalFill{fill:#2fffb4}.warnFill{fill:#ffd335}.alarmFill{fill:#ff4d5c}.legendLine{stroke:#00d5ff;stroke-width:2}.sidePanels{display:flex;flex-direction:column;gap:14px}.healthPanel{height:260px}.healthItem{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(100,160,190,.14);color:#b9d0df}.healthItem b{font-size:22px;color:#fff}.statusList{display:flex;flex-direction:column;gap:8px;max-height:330px;overflow:auto}.statusRow{display:grid;grid-template-columns:18px 1fr 54px;align-items:center;padding:10px;border-radius:12px;background:#ffffff0b;cursor:pointer}.statusRow b{color:#2fffb4;text-align:right}i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2fffb4;box-shadow:0 0 8px #2fffb4}i.warn{background:#ffd335;box-shadow:0 0 8px #ffd335}i.alarm{background:#ff4d5c;box-shadow:0 0 8px #ff4d5c}.table{display:flex;flex-direction:column;gap:8px}.tr{display:grid;grid-template-columns:110px 1fr 140px 80px 80px 80px 1.5fr;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:#ffffff0a;color:#dff8ff;cursor:pointer}.tr:hover{background:#00d5ff1a}.tr.head{color:#78e9ff;background:#00d5ff1a;cursor:default}.drawerMask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:50;display:flex;justify-content:flex-end}.drawer{width:560px;height:100%;overflow:auto;padding:28px;background:#061022;border-left:1px solid rgba(0,213,255,.28);box-shadow:-20px 0 60px #00000059}.close{float:right;width:36px;height:36px;border-radius:12px;background:#ffffff14;color:#fff;font-size:24px}.muted{color:#8aaebe}.detailKpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.detailKpis>div{position:relative;padding:12px;border-radius:12px;background:#101d35;border:1px solid transparent}.detailKpis span{display:block;font-size:12px;color:#8ca5c8}.detailKpis b{display:block;font-size:22px;margin-top:5px}.detailKpis small{display:block;margin-top:5px}.warnBox{border-color:#ffd335!important;box-shadow:0 0 15px #ffd33559}.warnBox b{color:#ffd335}.alarmBox{border-color:#ff4d5c!important;box-shadow:0 0 15px #ff4d5c8c}.alarmBox b{color:#ff4d5c}.drawer h3{margin-top:24px;color:#00d5ff}.empty{height:260px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:#8fb8c7}@media(max-width:1500px){.cockpit{grid-template-columns:repeat(5,1fr)}.dashGauge{height:145px}.dashboardGrid{grid-template-columns:1fr 280px}.topologyPanel{height:620px}.svgTopo{height:565px}.meter{transform:scale(.9);transform-origin:center top}}.meter{width:150px;height:90px;margin:4px auto 0;position:relative;overflow:hidden}.meterArc{position:absolute;width:150px;height:150px;left:0;top:0;border-radius:50%;border:14px solid rgba(120,150,170,.25);border-bottom-color:transparent;border-left-color:transparent;transform:rotate(-45deg)}.dashGauge.normal .meterArc{border-top-color:#2fffb4;border-right-color:#2fffb4}.dashGauge.warn .meterArc{border-top-color:#ffd335;border-right-color:#ffd335}.dashGauge.danger .meterArc{border-top-color:#ff4d5c;border-right-color:#ff4d5c}.meterNeedle{position:absolute;left:73px;top:64px;width:3px;height:45px;background:#fff;border-radius:5px;transform-origin:50% 45px;box-shadow:0 0 12px #fff}.meterCenter{position:absolute;left:0;right:0;top:40px;text-align:center;z-index:2}.meterCenter b{font-size:32px;line-height:32px}.meterCenter span{font-size:11px;color:#8da9bb}.meterNeedle{left:73px;top:48px;height:52px;transform-origin:50% 52px}.meterNeedle{left:60px!important;top:34px!important;height:42px!important;transform-origin:50% 38px!important}.dashGauge.normal .meterStatus i{background:#2fffb4!important;box-shadow:0 0 8px #2fffb4!important}.meterNeedle{left:66px!important;top:34px!important;height:42px!important;transform-origin:50% 38px!important}.svgNode{cursor:pointer}.svgNodeRect{fill:#081836eb;stroke:#00d5ff6b;stroke-width:1.4;filter:url(#nodeGlow)}.svgNode.normal .svgNodeRect{stroke:#00d5ff7a}.svgNode.warn .svgNodeRect{stroke:#ffd335;stroke-width:2}.svgNode.alarm .svgNodeRect{stroke:#ff4d5c;stroke-width:2}.svgNodeDot{fill:#2fffb4;filter:url(#nodeGlow)}.svgNode.warn .svgNodeDot{fill:#ffd335}.svgNode.alarm .svgNodeDot{fill:#ff4d5c}.svgNodeName{fill:#fff;font-size:13px;font-weight:900}.svgNodeIp{fill:#7deaff;font-size:11px}.svgNodeMetric{fill:#d4e9f0;font-size:10px}.svgNodeMetric.mid{fill:#ffd335}.svgNodeMetric.bad{fill:#ff4d5c}.svgNodeName{font-size:11px!important;font-weight:900}.svgNodeIp{font-size:10px!important}.svgNodeMetric{font-size:9.5px!important}.linkText{font-size:9.5px!important;font-weight:900}.accessPanel{min-height:720px}.accessHeader{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.accessHeader p{margin:8px 0 0;color:#8fb8c7;line-height:1.7}.primaryBtn{padding:11px 18px;border-radius:14px;background:linear-gradient(90deg,#00d5ff,#0fa);color:#00141c;font-weight:900;box-shadow:0 0 22px #00d5ff40}.accessTools{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.accessTools input{flex:1;height:46px;border-radius:14px;border:1px solid rgba(0,213,255,.22);background:#ffffff0e;color:#e9fbff;padding:0 14px;outline:none}.accessTools input:focus{border-color:#00d5ff;box-shadow:0 0 16px #00d5ff2e}.accessTools span{color:#8fb8c7}.accessList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:520px;overflow:auto;padding-right:6px}.accessUser{display:grid;grid-template-columns:34px 42px 1fr 96px;gap:10px;align-items:center;padding:12px;border-radius:16px;background:#ffffff0b;border:1px solid rgba(0,213,255,.08);cursor:pointer;-webkit-user-select:none;user-select:none}.accessUser:hover{border-color:#00d5ff61;background:#00d5ff14}.accessUser.checked{border-color:#2fffb47a;box-shadow:inset 0 0 22px #2fffb40d}.fakeCheck{width:26px;height:26px;border-radius:9px;border:1px solid rgba(0,213,255,.38);display:flex;align-items:center;justify-content:center;color:#00141c;font-weight:900;background:#ffffff0a}.accessUser.checked .fakeCheck{background:#2fffb4;border-color:#2fffb4}.accessAvatar{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a2a58,#00d5ff);font-weight:900}.accessInfo b{display:block;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accessInfo span{display:block;color:#8fb8c7;font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roleTag{text-align:center;font-size:12px;padding:6px;border-radius:999px;color:#9ed8e7;background:#00d5ff14}.roleTag.super{color:#00141c;background:#2fffb4;font-weight:900}.accessFooter{display:flex;justify-content:flex-end;margin-top:18px}.interfaceTable{display:flex;flex-direction:column;gap:6px;margin-top:10px}.interfaceRow{display:grid;grid-template-columns:2.5fr .8fr .8fr 1fr 1fr 1fr;gap:8px;padding:8px;background:#ffffff0a;border-radius:6px;font-size:13px}.up{color:#00d084}.down{color:#ff5b5b}.opticalRow{grid-template-columns:1.8fr 1fr 1fr 1fr 1fr 1fr 1fr}.interfaceRow .normal{color:#2fffb4}.interfaceRow .warn{color:#ffd335}.interfaceRow .alarm{color:#ff4d5c}.opticalSummary span{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:7px 10px;font-size:13px}.opticalSummary .warn{color:#facc15;border-color:#facc1559}.opticalSummary .alarm{color:#fb7185;border-color:#fb718566}.opticalRow.warn{border-color:#facc1573;box-shadow:inset 3px 0 #facc15}.opticalRow.alarm{border-color:#fb71858c;box-shadow:inset 3px 0 #fb7185}.paramPill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 8px;font-weight:700;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;white-space:nowrap}.paramPill em{font-style:normal;font-size:11px;opacity:.9}.paramPill.normal{color:#34d399;background:#34d3991f;border-color:#34d39959}.paramPill.warn{color:#facc15;background:#facc1521;border-color:#facc1573}.paramPill.alarm{color:#fb7185;background:#fb718526;border-color:#fb71858c}.paramPill.unknown{color:#94a3b8;background:#94a3b81f;border-color:#94a3b847}.drawer{width:min(760px,54vw)!important;max-width:calc(100vw - 48px);animation:nocDrawerIn .22s cubic-bezier(.2,.8,.2,1)}.interfaceRow.opticalRow{grid-template-columns:1.55fr 1.1fr 1.1fr 1.15fr 1.15fr 1.15fr .9fr;gap:10px}@keyframes nocDrawerIn{0%{opacity:0;transform:translate(32px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@media(max-width:1200px){.drawer{width:min(860px,76vw)!important}}@media(max-width:760px){.drawer{width:100vw!important;max-width:100vw}.interfaceRow.opticalRow{grid-template-columns:1fr}}.drawer{width:min(1120px,78vw)!important;max-width:calc(100vw - 32px)!important}.drawerMask{animation:nocFadeIn .18s ease-out}.drawer{animation:nocDrawerIn .22s cubic-bezier(.2,.8,.2,1)}.interfaceRow.opticalRow{grid-template-columns:1.6fr 1.12fr 1.12fr 1.12fr 1.12fr 1.12fr .7fr!important;min-width:980px}.opticalSummary{display:flex;gap:10px;margin:8px 0 10px;flex-wrap:wrap}.opticalChip{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;border:1px solid rgba(255,255,255,.12)}.opticalChip.normal{color:#3ff3b3;background:#00ffaa1f;border-color:#00ffaa47}.opticalChip.warn{color:#ffd45a;background:#ffc40024;border-color:#ffc40059}.opticalChip.alarm{color:#ff6b82;background:#ff466424;border-color:#ff466461}.opticalRow span b{display:block;margin-bottom:4px;color:#dce9ff;font-size:12px}.opticalRow .ifName{font-weight:700;word-break:break-all}.dashGauge .meter{display:flex;align-items:center;justify-content:center}.dashGauge .meterNeedle{left:50%!important;transform-origin:50% 100%!important}@keyframes nocFadeIn{0%{opacity:0}to{opacity:1}}@keyframes nocDrawerIn{0%{opacity:0;transform:translate(36px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}.drawerWide{width:min(760px,52vw);max-width:760px;animation:drawerIn .18s ease-out}.drawerMask{animation:maskIn .16s ease-out}@keyframes drawerIn{0%{transform:translate(28px);opacity:.35}to{transform:translate(0);opacity:1}}@keyframes maskIn{0%{opacity:0}to{opacity:1}}.opticalSummary{display:flex;gap:10px;margin:8px 0 12px}.opticalSummary span{padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}.opticalTable{min-width:720px}.opticalRow{grid-template-columns:1.35fr 1.25fr 1.25fr 1.15fr 1.15fr 1.25fr .7fr;gap:8px;align-items:center}.opticIf{word-break:break-all;font-weight:700}.opticPill{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 8px;border-radius:999px;font-weight:800;white-space:nowrap}.opticPill small{font-size:11px;opacity:.9}.normal,.opticPill.normal,.opticState.normal{color:#36e6a5;background:#36e6a521;border:1px solid rgba(54,230,165,.35)}.warn,.opticPill.warn,.opticState.warn{color:#ffd45c;background:#ffd45c24;border:1px solid rgba(255,212,92,.45)}.alarm,.opticPill.alarm,.opticState.alarm{color:#ff6b7a;background:#ff6b7a26;border:1px solid rgba(255,107,122,.48)}.opticState{padding:7px 9px;border-radius:999px;text-align:center;font-weight:900}@media(max-width:1200px){.drawerWide{width:72vw}}.apPage{display:flex;flex-direction:column;gap:18px}.apHeader{display:flex;justify-content:space-between;align-items:center}.apHeader h2{margin:4px 0 0}.apSummaryGrid{display:grid;grid-template-columns:repeat(8,minmax(110px,1fr));gap:12px}.apSummaryCard{min-height:92px;padding:16px;border:1px solid rgba(76,201,240,.18);border-radius:14px;background:#081426c7;display:flex;flex-direction:column;justify-content:space-between}.apSummaryCard span{color:#8fa5bd;font-size:13px}.apSummaryCard b{font-size:28px}.apSummaryCard.normal{border-color:#24dca059}.apSummaryCard.warn{border-color:#ffc10794;box-shadow:inset 0 0 22px #ffc10714}.apSummaryCard.alarm{border-color:#ff4c60a6;box-shadow:inset 0 0 22px #ff4c601a}.apToolbar{display:grid;grid-template-columns:minmax(240px,1fr) 150px 150px auto;gap:12px;align-items:center;margin-bottom:16px}.apToolbar input,.apToolbar select{height:42px;border-radius:10px;border:1px solid rgba(100,190,255,.22);background:#05111fe0;color:#eaf7ff;padding:0 12px}.apToolbar span{color:#8298af;text-align:right}.apGrid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:14px}.apCard{text-align:left;border:1px solid rgba(84,183,230,.2);border-radius:15px;padding:16px;color:inherit;background:linear-gradient(145deg,#0a1c30f0,#061221f0);cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.apCard:hover{transform:translateY(-2px);border-color:#00daff94;box-shadow:0 12px 30px #0003}.apCard.warn{border-color:#ffbe209e}.apCard.alarm{border-color:#ff455cb8}.apCardTop{display:flex;align-items:flex-start;justify-content:space-between}.apCardTop>div{display:flex;flex-direction:column;gap:4px}.apCardTop b{font-size:17px}.apCardTop span{color:#8da3b9;font-size:13px}.apCardTop i{font-style:normal;border-radius:999px;padding:4px 9px;font-size:12px}.apCardTop i.normal{color:#5df3bb;background:#21da971a}.apCardTop i.warn{color:#ffd05c;background:#ffc1071f}.apCardTop i.alarm{color:#ff7284;background:#ff4c6021}.apCardIp{margin:12px 0;color:#70d7ff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.apCardMetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.apCardMetrics span{border-radius:9px;padding:8px;background:#ffffff09;display:flex;flex-direction:column;gap:4px}.apCardMetrics small{color:#7890a8}.apCardMetrics b{font-size:13px}.apRadioMini{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}.apRadioMini span{font-size:11px;color:#a6bdd1;padding:4px 7px;border-radius:7px;background:#4eaedc14}.apTabs{display:flex;gap:8px;margin:18px 0}.apTabs button{border:1px solid rgba(90,180,225,.22);border-radius:9px;padding:9px 15px;color:#98b1c8;background:#04111fc2}.apTabs button.active{color:#fff;border-color:#00bff3;background:#00bff324}.apInfoGrid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px}.apInfoItem{min-width:0;padding:11px 12px;border-radius:10px;background:#ffffff09;display:flex;flex-direction:column;gap:5px}.apInfoItem span{color:#7890a8;font-size:12px}.apInfoItem b{word-break:break-all;font-size:13px}.radioGrid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:12px}.radioCard{padding:14px;border:1px solid rgba(70,175,220,.18);border-radius:13px;background:#051322c2}.radioCard.alarm{border-color:#ff4c60ad}.radioTitle{display:flex;justify-content:space-between;margin-bottom:10px}.radioTitle span{color:#70d7ff}.radioCard .apInfoItem{margin-top:6px}.clientList{display:flex;flex-direction:column;gap:9px}.clientCard{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;padding:13px;border-radius:11px;background:#ffffff09}.clientCard>div{display:flex;flex-direction:column;gap:4px}.clientCard span{color:#91a8bd;font-size:12px}@media(max-width:1400px){.apSummaryGrid{grid-template-columns:repeat(4,1fr)}.apGrid{grid-template-columns:repeat(2,minmax(280px,1fr))}}@media(max-width:760px){.apHeader{align-items:flex-start}.apSummaryGrid{grid-template-columns:repeat(2,1fr)}.apSummaryCard{min-height:80px}.apToolbar{grid-template-columns:1fr 1fr}.apToolbar input{grid-column:1 / -1}.apToolbar span{grid-column:1 / -1;text-align:left}.apGrid{grid-template-columns:1fr}.apCardMetrics{grid-template-columns:repeat(2,1fr)}.apInfoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.radioGrid,.clientCard{grid-template-columns:1fr}.apDrawer{width:min(100vw,1000px)}}.backupPage{display:flex;flex-direction:column;gap:16px}.backupHero{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:150px;padding:24px 26px;overflow:hidden;background:radial-gradient(circle at 88% 10%,rgba(0,213,255,.16),transparent 34%),linear-gradient(145deg,#091f42eb,#051228d6)}.backupHero:after{content:"";position:absolute;right:-60px;bottom:-90px;width:280px;height:280px;border-radius:50%;background:#00ffaa14;filter:blur(20px);pointer-events:none}.backupHero>div{position:relative;z-index:1}.backupHero h2{margin:5px 0 9px;font-size:24px}.backupHero p{max-width:850px;margin:0;color:#9fc2d1;line-height:1.75}.backupActions{display:flex;align-items:center;gap:10px;white-space:nowrap}.secondaryBtn,.backupRowActions a,.backupRowActions button{border:1px solid rgba(0,213,255,.28);color:#dff8ff;background:#00d5ff14;transition:border-color .18s ease,background .18s ease,transform .18s ease}.secondaryBtn{padding:11px 17px;border-radius:13px;font-weight:800}.secondaryBtn:hover,.backupRowActions a:hover,.backupRowActions button:hover{border-color:#00d5ff;background:#00d5ff26;transform:translateY(-1px)}.primaryBtn:disabled,.secondaryBtn:disabled{opacity:.55;cursor:not-allowed;transform:none}.backupToolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.backupToolbar input{flex:1;min-width:240px;height:44px;padding:0 14px;border:1px solid rgba(0,213,255,.2);border-radius:13px;outline:none;color:#e9fbff;background:#ffffff0b}.backupToolbar input:focus{border-color:#00d5ff;box-shadow:0 0 18px #00d5ff1f}.backupToolbar span{color:#8fb8c7;white-space:nowrap}.backupTable{display:flex;flex-direction:column;gap:8px;overflow-x:auto;padding-bottom:4px}.backupRow{display:grid;grid-template-columns:minmax(145px,1.05fr) 130px minmax(260px,1.7fr) 90px 180px 128px;align-items:center;gap:14px;min-width:1040px;min-height:62px;padding:11px 14px;border:1px solid rgba(0,213,255,.07);border-radius:13px;color:#dff8ff;background:#ffffff09;transition:background .18s ease,border-color .18s ease}.backupRow:not(.backupHead):hover{border-color:#00d5ff3d;background:#00d5ff11}.backupHead{min-height:48px;color:#7deaff;font-weight:900;background:#00d5ff18;border-color:#00d5ff24}.backupRow>span{min-width:0}.backupRow b{display:block;margin-bottom:5px;color:#fff}.backupRow small{display:block;overflow:hidden;color:#7890a8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.backupFilename{overflow:hidden;color:#bfeeff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.backupRowActions{display:flex;gap:8px}.backupRowActions a,.backupRowActions button{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:7px 10px;border-radius:9px;text-decoration:none;font-size:12px;font-weight:800}.backupEmpty{padding:60px 20px;border:1px dashed rgba(0,213,255,.16);border-radius:14px;color:#7890a8;text-align:center}.backupDiffDrawer{width:min(1080px,82vw)!important;max-width:calc(100vw - 30px)!important}.diffLegend{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.diffLegend span{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}.diffAdded{color:#38e6a5;border:1px solid rgba(56,230,165,.35);background:#38e6a521}.diffRemoved{color:#ff7584;border:1px solid rgba(255,107,122,.42);background:#ff6b7a24}.diffMeta{color:#74d9ff;border:1px solid rgba(0,191,243,.35);background:#00bff321}.diffViewer{display:block;min-height:240px;margin:0;padding:16px;overflow:auto;border:1px solid rgba(0,213,255,.15);border-radius:14px;color:#c9d7df;background:#020610;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre}.diffLine{display:block;min-height:19px;padding:0 9px}.diffLine.added{color:#52f0b4;background:#25be7821}.diffLine.removed{color:#ff7b89;background:#dc374b24}.diffLine.meta{color:#7bdcff;background:#0096d221;font-weight:900}.taskOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:#00040cb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:nocFadeIn .18s ease-out}.taskCard{display:flex;gap:18px;width:min(580px,100%);padding:25px;border:1px solid rgba(0,213,255,.34);border-radius:22px;background:radial-gradient(circle at 90% 0,rgba(0,213,255,.14),transparent 38%),linear-gradient(145deg,#0b2146fc,#040e1efc);box-shadow:0 32px 100px #00000085,0 0 55px #00d5ff21}.taskSpinner{flex:0 0 48px;width:48px;height:48px;border:4px solid rgba(0,213,255,.18);border-top-color:#00d5ff;border-radius:50%;animation:taskSpin .9s linear infinite}.taskCard.success .taskSpinner{border-color:#2fffb4;animation:none}.taskCard.failed .taskSpinner{border-color:#ff6b7a;animation:none}.taskContent{flex:1;min-width:0}.taskTop{display:flex;justify-content:space-between;gap:15px}.taskTop span{color:#00d5ff;font-size:11px;letter-spacing:2px}.taskTop h3{margin:5px 0 0;color:#fff;font-size:20px}.taskTop>b{color:#fff;font-size:30px}.taskProgress{height:10px;margin:16px 0 12px;overflow:hidden;border-radius:999px;background:#ffffff14}.taskProgress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00d5ff,#0fa);box-shadow:0 0 16px #00d5ff80;transition:width .25s ease}.taskCard p{margin:0;color:#b7d8e2}.taskCard small{display:block;margin-top:8px;color:#7890a8}@keyframes taskSpin{to{transform:rotate(360deg)}}@media(max-width:900px){.backupHero{align-items:flex-start;flex-direction:column}.backupActions{width:100%}.backupActions button{flex:1}.backupDiffDrawer{width:100vw!important;max-width:100vw!important}}@media(max-width:600px){.backupToolbar{align-items:flex-start;flex-direction:column}.backupToolbar input{width:100%}.taskCard{padding:20px}.taskSpinner{flex-basis:38px;width:38px;height:38px}}.apCardTop{gap:12px}.apCardTop>div{min-width:0;flex:1}.apStateBadge{flex:0 0 auto;min-width:54px;height:28px;display:inline-flex!important;align-items:center;justify-content:center;padding:0 10px!important;border-radius:999px;font-style:normal;font-size:12px;font-weight:900;line-height:1;white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb}.apStateBadge.normal{color:#5df3bb;border:1px solid rgba(33,218,151,.3);background:#21da971c;box-shadow:0 0 14px #21da9729}.apStateBadge.warn{color:#ffd05c;border:1px solid rgba(255,193,7,.38);background:#ffc1071f;box-shadow:0 0 14px #ffc10726}.apStateBadge.alarm{color:#ff7284;border:1px solid rgba(255,76,96,.42);background:#ff4c6021;box-shadow:0 0 16px #ff4c602e}.apCardDiagnostic{display:flex;flex-direction:column;gap:3px;min-height:48px;margin-top:11px;padding:8px 10px;border-left:3px solid transparent;border-radius:9px;text-align:left;background:#ffffff09}.apCardDiagnostic b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.apCardDiagnostic span{overflow:hidden;color:#8da3b9;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.apCardDiagnostic.normal{border-left-color:#2fffb4}.apCardDiagnostic.warn{border-left-color:#ffd05c;background:#ffc10712}.apCardDiagnostic.alarm{border-left-color:#ff6b7a;background:#ff4c6012}.apDrawerTitle{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-right:48px}.apDrawerTitle h2{margin-bottom:5px}.apDrawerTitle p{margin:0}.apDrawerStatus{flex:0 0 auto;min-width:66px;padding:8px 12px;border-radius:999px;text-align:center;font-size:13px;font-weight:900}.apDrawerStatus.normal{color:#42ebb0;border:1px solid rgba(66,235,176,.34);background:#42ebb01c}.apDrawerStatus.warn{color:#ffd05c;border:1px solid rgba(255,208,92,.4);background:#ffd05c1f}.apDrawerStatus.alarm{color:#ff7485;border:1px solid rgba(255,116,133,.42);background:#ff748521}.apDiagnosticList{display:flex;flex-direction:column;gap:10px}.apDiagnosticItem{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:flex-start;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#ffffff09}.apDiagnosticItem.warn{border-color:#ffd05c52;background:#ffd05c11}.apDiagnosticItem.alarm{border-color:#ff74855c;background:#ff748512}.apDiagnosticItem.normal{border-color:#42ebb047;background:#42ebb00e}.apDiagnosticIcon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:11px;font-size:17px;font-weight:900;background:#ffffff12}.apDiagnosticItem.warn .apDiagnosticIcon{color:#ffd05c;background:#ffd05c21}.apDiagnosticItem.alarm .apDiagnosticIcon{color:#ff7485;background:#ff748524}.apDiagnosticItem.normal .apDiagnosticIcon{color:#42ebb0;background:#42ebb01f}.apDiagnosticItem b{display:block;color:#fff;font-size:14px}.apDiagnosticItem p{margin:5px 0 0;color:#91a8bd;line-height:1.55}.apThresholdPanel{margin-top:8px;padding:15px;border:1px solid rgba(0,213,255,.13);border-radius:14px;background:#00d5ff0a}.apThresholdPanel h3{margin:0 0 12px;color:#7deaff;font-size:14px}.apThresholdPanel>div{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:8px}.apThresholdPanel span{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:9px;color:#91a8bd;background:#ffffff09}.apThresholdPanel b{color:#fff;white-space:nowrap}.radioCard.warn{border-color:#ffd05c7a;box-shadow:inset 3px 0 #ffd05c}.radioCard.alarm{border-color:#ff74858c;box-shadow:inset 3px 0 #ff7485}.radioStatusLine{display:flex;justify-content:flex-end;margin:-4px 0 8px}.clientCardDetailed{grid-template-columns:1.1fr 1fr 1fr 1fr;align-items:start}.clientCardDetailed b{color:#eaf7ff}.clientCardDetailed>div{min-width:0}@media(max-width:1100px){.apThresholdPanel>div{grid-template-columns:repeat(2,minmax(170px,1fr))}.clientCardDetailed{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.apThresholdPanel>div{grid-template-columns:1fr}.clientCardDetailed{grid-template-columns:1fr}.apDrawerTitle{padding-right:42px}}.thresholdPage{display:flex;flex-direction:column;gap:14px}.thresholdHero{display:flex;justify-content:space-between;align-items:center;gap:24px}.thresholdHero p{margin:7px 0 0;color:#86a9ba}.thresholdTabs{display:flex;gap:8px;padding:5px;border:1px solid rgba(0,213,255,.14);border-radius:14px;background:#00000029}.thresholdTabs button{height:40px;padding:0 16px;border-radius:10px;color:#91afbf;background:transparent}.thresholdTabs button.active{color:#00141c;background:linear-gradient(90deg,#00d5ff,#2fffb4);font-weight:900}.thresholdMessage{padding:11px 15px;border:1px solid rgba(47,255,180,.27);border-radius:13px;color:#6ff3c3;background:#2fffb412}.thresholdGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.thresholdCard{padding:17px;border:1px solid rgba(0,213,255,.15);border-radius:18px;background:linear-gradient(145deg,#0a1f3bdb,#051020e0);box-shadow:inset 0 1px #ffffff08}.thresholdCardHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.thresholdCardHead h3{margin:0;color:#eefcff;font-size:17px}.thresholdCardHead span{display:block;margin-top:5px;color:#7396a8;font-size:12px}.thresholdCardHead>b{padding:5px 9px;border-radius:999px;color:#75e8ff;background:#00d5ff14;font-size:12px}.thresholdInputs{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:16px}.thresholdInputs.range{grid-template-columns:repeat(4,1fr)}.thresholdInputs label{display:block;padding:10px;border-radius:12px;background:#ffffff09}.thresholdInputs label span{display:block;margin-bottom:7px;color:#89a8b8;font-size:12px}.thresholdInputs input{width:100%;height:38px;padding:0 10px;border:1px solid rgba(0,213,255,.17);outline:none;border-radius:9px;color:#fff;background:#020a15c7}.thresholdInputs input:focus{border-color:#00d5ff;box-shadow:0 0 0 3px #00d5ff14}.thresholdActions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.thresholdActions button{height:39px;padding:0 16px;border-radius:11px;font-weight:800}.thresholdReset{color:#9db8c6;border:1px solid rgba(255,255,255,.1);background:#ffffff0d}.thresholdSave{color:#00141c;background:linear-gradient(90deg,#00d5ff,#2fffb4)}.thresholdActions button:disabled{opacity:.55;cursor:not-allowed}.thresholdLoading{min-height:220px;display:flex;align-items:center;justify-content:center;color:#86a9ba}@media(max-width:1100px){.thresholdGrid{grid-template-columns:1fr}.thresholdInputs.range{grid-template-columns:repeat(2,1fr)}}.alertCenterPage,.systemLogsPage{display:flex;flex-direction:column;gap:14px}.alertKpis,.logKpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.alertKpis>div,.logKpis>div{padding:18px;border-radius:17px;border:1px solid rgba(0,213,255,.16);background:linear-gradient(145deg,#0d2448bf,#061023bf)}.alertKpis span,.logKpis span{display:block;color:#8fb8c7}.alertKpis b,.logKpis b{display:block;margin-top:8px;font-size:30px}.alertKpis .warning,.logKpis .warning{border-color:#ffd33580}.alertKpis .warning b,.logKpis .warning b{color:#ffd335}.alertKpis .critical,.logKpis .critical{border-color:#ff4d5c8c}.alertKpis .critical b,.logKpis .critical b{color:#ff6575}.sectionHeading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.sectionHeading p{margin:4px 0;color:#8fb8c7}.switchLabel{display:flex;align-items:center;gap:9px;color:#dff8ff}.switchLabel input,.notifyCategories input{accent-color:#00d5ff}.mailPolicyGrid{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin:18px 0}.mailPolicyGrid label{color:#8fb8c7;font-size:13px}.mailPolicyGrid textarea,.mailPolicyGrid select,.alertTools select,.logTools select,.logTools input{width:100%;margin-top:7px;border:1px solid rgba(0,213,255,.2);border-radius:11px;background:#071427;color:#dff8ff;padding:10px 12px;outline:none}.mailPolicyGrid textarea{min-height:72px;resize:vertical}.notifyCategories{display:flex;flex-wrap:wrap;gap:9px}.notifyCategories label{padding:8px 11px;border-radius:10px;background:#ffffff0a;color:#b9d7e2}.policyActions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px}.policyActions span{margin-right:auto;color:#2fffb4}.policyActions button,.alertTools button,.logTools button,.pager button,.alertItem>button{padding:9px 13px;border-radius:10px;border:1px solid rgba(0,213,255,.22);background:#00d5ff14;color:#dff8ff}.alertTools,.logTools{display:grid;grid-template-columns:160px 160px 180px 1fr;gap:10px;align-items:center;margin-bottom:14px}.alertTools span{text-align:right;color:#8fb8c7}.alertList{display:flex;flex-direction:column;gap:9px}.alertItem{display:grid;grid-template-columns:66px 1fr auto;gap:13px;align-items:center;padding:14px;border:1px solid rgba(255,211,53,.32);border-radius:14px;background:#ffd3350d}.alertItem.critical{border-color:#ff4d5c80;background:#ff4d5c0f}.alertItem.closed{opacity:.58}.alertBadge{padding:7px;text-align:center;border-radius:999px;color:#ffd335;background:#ffd3351f;font-weight:900}.alertItem.critical .alertBadge{color:#ff6575;background:#ff4d5c24}.alertBody>div{display:flex;gap:10px;align-items:center}.alertBody>div span{padding:3px 7px;border-radius:999px;background:#ffffff12;font-size:11px}.alertBody p{margin:7px 0;color:#c6dfe8}.alertBody small{color:#789aad}.alertEmpty{padding:50px;text-align:center;color:#789aad}.logTools{grid-template-columns:140px 180px minmax(260px,1fr) auto auto}.logTools select,.logTools input{margin:0}.logTable{display:flex;flex-direction:column;gap:5px}.logRow{display:grid;grid-template-columns:180px 90px 120px minmax(280px,1fr) 160px;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:#ffffff09;font-size:13px}.logHead{color:#68dff5;background:#00d5ff17;font-weight:900}.logRow>span:nth-child(4){word-break:break-word}.logRow small{display:block;color:#789aad;margin-top:3px}.logRow i{margin-right:7px}.logRow.warn i,.logRow.warning i{background:#ffd335}.logRow.error{border-left:3px solid #ff6575;background:#ff4d5c0f}.logRow.error i{background:#ff6575}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}.pager span{color:#8fb8c7}@media(max-width:1100px){.alertKpis,.logKpis{grid-template-columns:repeat(2,1fr)}.mailPolicyGrid{grid-template-columns:1fr}.alertTools,.logTools{grid-template-columns:1fr 1fr}.logRow{grid-template-columns:150px 80px 100px 1fr}.logRow>span:last-child{display:none}}.dynamicTopo{min-height:680px;height:auto}.topoApGroup{cursor:pointer}.topoApGroup line{stroke:#7deaff;stroke-width:1.5;stroke-dasharray:3 3}.topoApGroup rect{fill:#00d5ff21;stroke:#00d5ff8c;stroke-width:1}.topoApGroup text{fill:#7deaff;font-size:11px;font-weight:900;text-anchor:middle}.legendAp{fill:#00d5ff21;stroke:#00d5ff80}.deviceDrawerTabs{display:flex;gap:8px;margin:18px 0}.deviceDrawerTabs button{padding:10px 16px;border-radius:12px;border:1px solid rgba(0,213,255,.17);background:#ffffff0a;color:#92b7c8}.deviceDrawerTabs button.active{color:#fff;border-color:#00d5ff;background:#00d5ff21;box-shadow:0 0 18px #00d5ff1f}.deviceDrawerTabs b{display:inline-flex;min-width:22px;height:22px;margin-left:6px;align-items:center;justify-content:center;border-radius:999px;background:#00d5ff;color:#03101d}.connectedApPanel{display:flex;flex-direction:column;gap:8px}.connectedApHead,.connectedApRow{display:grid;grid-template-columns:1.1fr 1.7fr .8fr 1.2fr;gap:12px;align-items:center}.connectedApHead{padding:10px 13px;color:#66def5;background:#00d5ff14;border-radius:10px;font-size:12px}.connectedApRow{width:100%;padding:13px;border-radius:13px;border:1px solid rgba(0,213,255,.12);background:#ffffff09;color:#dff8ff;text-align:left}.connectedApRow:hover{border-color:#00d5ff85;background:#00d5ff14}.connectedApRow span{min-width:0}.connectedApRow b,.connectedApRow small{display:block}.connectedApRow small{margin-top:4px;color:#7f9fae;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connectedApRow .apLinkUp{color:#2fffb4}.connectedApRow .apLinkDown{color:#ff6575}.connectedApEmpty{padding:45px;text-align:center}@media(max-width:900px){.connectedApHead{display:none}.connectedApRow{grid-template-columns:1fr 1fr}.dynamicTopo{min-width:1000px}}.topoLinkGroup{cursor:help}.topoLinkLabel{opacity:0;pointer-events:none;transition:opacity .14s ease}.topoLinkGroup:hover .topoLinkLabel{opacity:1}.topoLinkLabel rect{fill:#020c1df5;stroke:#00d5ffb8;stroke-width:1}.topoLinkLabel text{fill:#baf6ff;font-size:10px;font-weight:800;text-anchor:middle}.topoLinkGroup:hover .linkFlow{stroke-width:4;filter:drop-shadow(0 0 5px #00d5ff)}.topoApGroup.topoApInline line{display:none}.topoApGroup.topoApInline rect{fill:#00d5ff33;stroke:#48e7ff}.topoApGroup.topoApInline text{font-size:8.5px;fill:#dffbff}.apUplink{margin:10px 0;padding:12px 14px;border-radius:12px;border:1px solid rgba(0,213,255,.22);background:linear-gradient(90deg,#00d5ff17,#00ffaa0b);display:grid;grid-template-columns:90px 1fr;gap:4px 10px;text-align:left}.apUplink span{grid-row:1/3;color:#78dff3;font-size:12px;align-self:center}.apUplink b{color:#effcff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apUplink small{color:#88aebd;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apUplink.compact{margin:8px 0;padding:8px 10px;grid-template-columns:62px 1fr}.apUplink.compact span{font-size:11px}.apUplink.compact b{font-size:12px}.apUplink.unknown{border-color:#ffd33540;background:#ffd3350e}.apUplink.unknown b{color:#ffd45c}@media(max-width:760px){.apUplink{grid-template-columns:1fr}.apUplink span{grid-row:auto}.topoLinkLabel{display:none}}.topoLinkGroup .linkHit{fill:none;stroke:transparent;stroke-width:30;pointer-events:stroke}.topoLinkGroup .linkBase{stroke-width:5;opacity:.55}.topoLinkGroup .linkFlow{stroke-width:3.8}.topoLinkGroup:hover .linkBase{stroke:#00d5ffb8;opacity:1}.topoLinkGroup:hover .linkFlow{stroke-width:5}.topoLinkLabelFull text{font-size:10.5px;text-anchor:start;white-space:pre}.topoLinkLabelFull rect{fill:#020c1dfa;stroke:#48e7ff;stroke-width:1.2;filter:drop-shadow(0 4px 12px rgba(0,0,0,.55))}.topoApModelGroup{cursor:pointer}.topoApStem{stroke:#48e7ffb8;stroke-width:1.4;stroke-dasharray:4 4}.topoApCard{fill:#051b36f5;stroke:#48e7ff;stroke-width:1.2;filter:drop-shadow(0 4px 10px rgba(0,0,0,.45))}.topoApModelGroup:hover .topoApCard{fill:#00d5ff33;stroke:#8ff5ff}.topoApIcon{fill:#e8fdff;font-size:15px;font-weight:900;text-anchor:middle}.topoApModel{fill:#76e9ff;font-size:9px;font-weight:800;text-anchor:middle}.topoApCountBadge{fill:#00d5ff;stroke:#b9f8ff;stroke-width:.7}.topoApCount{fill:#02101d;font-size:9px;font-weight:900;text-anchor:middle}.topoApModelGroup text{pointer-events:none}.metricTrend{margin:18px 0;padding:16px;border:1px solid rgba(0,213,255,.18);border-radius:16px;background:linear-gradient(145deg,#0a1f3bd1,#051020e6);overflow:hidden}.metricTrendHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.drawer .metricTrendHead h3,.metricTrendHead h3{margin:0;color:#eaffff;font-size:17px}.metricTrendHead p{margin:5px 0 0;color:#789aad;font-size:12px}.metricTrendRanges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:4px;border:1px solid rgba(0,213,255,.13);border-radius:11px;background:#00000026}.metricTrendRanges button{min-width:48px;height:31px;padding:0 8px;border-radius:8px;color:#89aabd;background:transparent;font-size:12px}.metricTrendRanges button.active{color:#00141c;background:linear-gradient(90deg,#00d5ff,#2fffb4);font-weight:900}.metricTrendLegend{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 7px}.metricTrendLegend>span{padding:9px 10px;border-radius:10px;color:#9ab6c4;background:#ffffff09;font-size:11px}.metricTrendLegend i{width:8px;height:8px;margin-right:6px;box-shadow:none}.metricTrendLegend b{margin-right:7px;color:#edfaff}.metricTrendLegend small{display:block;margin:5px 0 0 14px;color:#6f91a4}.metricTrendChart{width:100%;overflow:hidden}.metricTrendChart svg{display:block;width:100%;height:auto;min-height:220px}.metricGridLine{stroke:#87b8c921;stroke-width:1;stroke-dasharray:4 5}.metricAxisText{fill:#66889b;font-size:10px}.metricTimeText{font-size:9px}.metricTrendLine{filter:drop-shadow(0 0 4px currentColor)}.metricTrendFoot{display:flex;justify-content:space-between;gap:12px;color:#698b9d;font-size:10px}.metricTrendEmpty{display:grid;min-height:180px;place-items:center;color:#789aad}.metricTrendEmpty.error{color:#ff6575}.metricTrendChart svg{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.metricCursorLine{stroke:#eaffff;stroke-width:1;stroke-dasharray:3 3;opacity:.85}.metricCursorDot{stroke:#061425;stroke-width:2;filter:drop-shadow(0 0 4px currentColor)}.metricCursorBox{fill:#030d1cf2;stroke:#00d5ff6b;stroke-width:1}.metricCursorTime{fill:#eaffff;font-size:10px;font-weight:800}.metricCursorValue{font-size:10px;font-weight:800}.metricTrendSelected{display:flex;align-items:center;gap:12px;margin-top:10px;padding:9px 11px;border:1px solid rgba(0,213,255,.12);border-radius:10px;color:#91afbf;background:#00d5ff0a;font-size:11px}.metricTrendSelected b{margin-right:auto;color:#eaffff}.serverBackupPage{display:flex;flex-direction:column;gap:14px;min-width:0}.serverBackupHero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid rgba(0,213,255,.18);border-radius:18px;background:radial-gradient(circle at 90% 0,rgba(47,255,180,.12),transparent 42%),linear-gradient(145deg,#0a203de6,#051020f0)}.serverBackupHero>div>span{color:#2fffb4;font-size:11px;font-weight:900;letter-spacing:2px}.serverBackupHero h2{margin:6px 0;color:#f1fdff}.serverBackupHero p,.serverBackupPanelHead p{margin:0;color:#84a6b7;line-height:1.6}.serverBackupHero>button,.serverBackupRun,.serverBackupBreadcrumbs button,.serverBackupActions button,.serverBackupActions a,.serverBackupPager button,.serverBackupPreview header button{padding:9px 13px;border:1px solid rgba(0,213,255,.23);border-radius:10px;color:#dffaff;background:#00d5ff14;text-decoration:none}.serverBackupCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.serverBackupCards>button{display:grid;gap:6px;min-height:104px;padding:15px;border:1px solid rgba(0,213,255,.14);border-radius:15px;color:#dff8ff;background:linear-gradient(145deg,#0c2341c7,#051020d9);text-align:left}.serverBackupCards>button.active{border-color:#00d5ff;box-shadow:inset 3px 0 #2fffb4,0 0 24px #00d5ff17}.serverBackupCards span{font-weight:900}.serverBackupCards b{color:#2fffb4;font-size:12px}.serverBackupCards small{overflow:hidden;color:#7899aa;text-overflow:ellipsis;white-space:nowrap}.serverBackupPanel{padding:18px;border:1px solid rgba(0,213,255,.15);border-radius:18px;background:#051122d1}.serverBackupPanelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.serverBackupPanelHead h3{margin:0 0 5px}.serverBackupRun{color:#00141c!important;border:0!important;background:linear-gradient(90deg,#00d5ff,#2fffb4)!important;font-weight:900}.serverBackupSnapshot{display:grid;grid-template-columns:120px minmax(240px,520px);align-items:center;gap:10px;margin:16px 0;color:#91adbc}.serverBackupSnapshot select{height:42px;padding:0 11px;border:1px solid rgba(0,213,255,.2);border-radius:10px;color:#e8faff;background:#071427}.serverBackupBreadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:16px 0 10px}.serverBackupBreadcrumbs i{color:#58798b}.serverBackupBreadcrumbs button{padding:7px 9px;background:#ffffff08}.serverBackupMessage{margin:9px 0;padding:10px 12px;border:1px solid rgba(255,208,92,.3);border-radius:10px;color:#ffd05c;background:#ffd05c0f}.serverBackupTable{display:flex;flex-direction:column;gap:4px;min-width:0}.serverBackupRow{display:grid;grid-template-columns:minmax(260px,1fr) 110px 190px 150px;align-items:center;gap:10px;min-height:48px;padding:8px 11px;border-radius:10px;background:#ffffff08;color:#b9d5df}.serverBackupHead{color:#6fe4f7;background:#00d5ff14;font-size:12px;font-weight:900}.serverBackupName{display:flex;align-items:center;gap:9px;min-width:0;color:#e9fbff;background:transparent;text-align:left}.serverBackupName:disabled{cursor:default}.serverBackupName>i{display:grid;flex:0 0 auto;width:28px;height:28px;place-items:center;border-radius:8px;color:#6fe4f7;background:#00d5ff14;font-style:normal}.serverBackupName>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.serverBackupName small{display:block;margin-top:3px;color:#607f90;font-size:9px}.serverBackupActions{display:flex;align-items:center;gap:6px}.serverBackupActions button,.serverBackupActions a{padding:7px 9px}.serverBackupActions em{color:#6d8795;font-size:11px}.serverBackupEmpty{padding:46px;text-align:center;color:#6d8999}.serverBackupPager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;color:#83a2b2}.serverBackupPreviewMask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:grid;place-items:center;padding:4%;background:#00050dd6}.serverBackupPreview{display:flex;flex-direction:column;width:min(1100px,96vw);height:min(820px,90vh);overflow:hidden;border:1px solid rgba(0,213,255,.32);border-radius:18px;background:#061425;box-shadow:0 30px 100px #0000008c}.serverBackupPreview header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 15px;border-bottom:1px solid rgba(0,213,255,.16)}.serverBackupPreview pre{flex:1;overflow:auto;margin:0;padding:16px;color:#cce7ef;background:#020b14;white-space:pre-wrap;word-break:break-word}.serverBackupPreview img{max-width:100%;max-height:calc(90vh - 65px);margin:auto;object-fit:contain}.serverBackupPreview iframe{flex:1;width:100%;border:0;background:#fff}@media(max-width:1100px){.serverBackupCards{grid-template-columns:repeat(2,minmax(0,1fr))}.serverBackupRow{grid-template-columns:minmax(220px,1fr) 90px 150px 125px}}
