*{font-family:Microsoft YaHei,PingFang SC,Helvetica Neue,sans-serif}body{background:linear-gradient(135deg,#0a192f,#112240 50%,#0a192f);min-height:100vh;position:relative}.login-page,body{align-items:center;display:flex;justify-content:center;overflow:hidden;padding:0 15px}.login-page{background:radial-gradient(700px 420px at 50% -8%,#ffd20029,#0000 62%),linear-gradient(160deg,#f8f9fb,#e9ebef);flex-direction:column;inset:0;position:fixed}.grid-overlay{animation:gridMove 20s linear infinite;background-image:linear-gradient(hsla(0,0%,8%,.035) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,8%,.035) 1px,#0000 0);background-size:52px 52px;height:200%;left:0;position:absolute;top:0;transform-origin:0 0;width:200%;z-index:0}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(-25px,-25px)}}.login-card{background:#fff;border:1px solid #e2e5ea;border-radius:16px;box-shadow:0 18px 44px #141e3224;max-width:420px;padding:clamp(30px,5vw,50px) clamp(25px,4vw,40px);position:relative;width:100%;z-index:1}.logoadmin{background:#ffffff0d;border:1px solid #00b4d833;border-radius:12px;display:block;height:auto;margin:0 auto clamp(10px,2vw,15px);max-width:220px;object-fit:contain;overflow:hidden;padding:8px;width:65%}.system-title{color:#17181a;font-size:clamp(14px,3vw,18px);font-weight:600;letter-spacing:2px;margin-bottom:clamp(25px,4vw,35px);text-align:center}.input-group{margin-bottom:clamp(18px,3vw,24px)}.input-group label{color:#565d67;display:block;font-size:clamp(14px,2vw,15px);font-weight:500;letter-spacing:1px;margin-bottom:8px}.input-group input{background:#fff;border:1px solid #e2e5ea;border-radius:8px;color:#17181a;font-size:clamp(15px,2.5vw,16px);height:clamp(46px,6vw,50px);outline:none;padding:0 16px;transition:all .3s ease;width:100%}.input-group input::placeholder{color:#b3b8bf}.input-group input:focus{background:#fff;border-color:#c08900;box-shadow:0 0 0 3px #c0890026}.captcha-group{display:flex;flex-direction:column;gap:8px}.captcha-input{align-items:center;display:flex;gap:10px}.captcha-input input{flex:1 1}.captcha-code{align-items:center;background:#f6f7f9;border:1px solid #e2e5ea;border-radius:8px;color:#c08900;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:clamp(46px,6vw,50px);justify-content:center;letter-spacing:4px;-webkit-user-select:none;user-select:none;width:120px}.error-tip{color:#ff6b6b;display:none;font-size:clamp(12px,2vw,13px);margin-top:6px}.options{font-size:clamp(13px,2vw,14px);justify-content:space-between;margin-bottom:20px}.options,.remember{align-items:center;display:flex}.remember{color:#8b9198;cursor:pointer;gap:6px}.remember input[type=checkbox]{accent-color:#c08900}.forget{background:none;border:0;color:#c08900;cursor:pointer;font:inherit;padding:0;text-align:left}.forget a:hover,.forget:hover{color:#8f6500;text-decoration:underline}.alarm-table .ant-table-thead>tr>th,.alarm-table .ant-table-thead>tr>th span{line-height:16px;white-space:normal!important;word-break:break-word}.login-btn{background:#ffd200;border:1px solid #0000000f;border-radius:8px;box-shadow:0 6px 18px #ffd20059;color:#111214;cursor:pointer;font-size:clamp(16px,3vw,17px);font-weight:700;height:clamp(48px,7vw,52px);letter-spacing:3px;margin-top:12px;transition:all .3s ease;width:100%}.login-btn:hover{background:#fd3;border-color:#0000000f;box-shadow:0 8px 22px #ffd20080;transform:translateY(-2px)}.login-btn:active{transform:translateY(0)}.register{color:#fff6;font-size:clamp(13px,2vw,14px);margin-top:25px;text-align:center}.register a{color:#00d4ffb3;font-weight:600;text-decoration:none}.register a:hover{color:#00d4ff;text-decoration:underline}.consent-row{margin:12px 0 4px;text-align:left}.consent-check{align-items:flex-start;color:#565d67;cursor:pointer;display:flex;font-size:clamp(12px,2vw,13px);gap:8px;line-height:1.6}.consent-check input[type=checkbox]{flex:0 0 auto;margin-top:3px}.consent-text a{color:#00a8cc;text-decoration:none}.consent-text a:hover{text-decoration:underline}.consent-row .error-tip{margin-top:4px}.copyright{bottom:12px;color:#8b9198;font-size:clamp(12px,2vw,13px);left:0;letter-spacing:1px;line-height:1.8;padding:0 15px;position:absolute;text-align:center;width:100%;z-index:1}.copyright .legal-links{margin-bottom:2px}.copyright .beian-link{align-items:center;display:inline-flex;gap:4px}.copyright a,.copyright a:visited{color:#8b9198;text-decoration:none;transition:color .2s ease}.copyright a:hover{color:#00d4ff;text-decoration:underline}.copyright .sep{margin:0 8px;opacity:.55}.login-page .ant-select-selector{background:#fff!important;border-color:#e2e5ea!important;color:#17181a!important}.login-page .ant-select-arrow,.login-page .ant-select-selection-item{color:#565d67!important}.login-page .input-group input:-webkit-autofill,.login-page .input-group input:-webkit-autofill:focus,.login-page .input-group input:-webkit-autofill:hover{-webkit-text-fill-color:#17181a!important;box-shadow:inset 0 0 0 1000px #fff!important;caret-color:#17181a!important}.sidebar-container{background:linear-gradient(180deg,#0a192f,#0d1f44);border-right:1px solid #00b4d833;display:flex;flex-direction:column;flex-shrink:0;height:100vh;overflow-y:auto;width:240px}.sidebar-logo-area{align-items:center;background:linear-gradient(90deg,#00b4d826,#0000);border-bottom:1px solid #00b4d833;display:flex;flex-direction:row;flex-shrink:0;gap:12px;height:70px;justify-content:center;padding:0 16px}.sidebar-logo-img{border-radius:12px;flex-shrink:0;height:56px;object-fit:contain;overflow:hidden;width:auto}.sidebar-container .ant-menu{background:#0000;border-right:none;flex:1 1;padding:8px 0}.sidebar-container .ant-menu-item{border-radius:6px;color:#ffffffb3;font-size:13px;height:44px;line-height:44px;margin:2px 8px!important;padding-left:16px!important;transition:all .3s}.sidebar-container .ant-menu-item:hover{background:#00b4d81a!important;color:#00d4ff!important}.sidebar-container .ant-menu-item-selected{background:linear-gradient(90deg,#00b4d840,#00b4d81a)!important;border-left:3px solid #00d4ff;color:#00d4ff!important}.sidebar-container .ant-menu-item-selected .anticon{color:#00d4ff!important}.sidebar-container .ant-menu-item .anticon{color:#ffffff80;font-size:15px;margin-right:10px;transition:color .3s}.sidebar-container .ant-menu-item:hover .anticon{color:#00d4ff}.sidebar-bottom{border-top:1px solid #00b4d826;color:#ffffff4d;flex-shrink:0;font-size:10px;padding:12px 16px;text-align:center}.sidebar-close-btn{align-items:center;background:#0000;border:none;color:#ffffffb3;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;justify-content:center;margin-left:auto;padding:8px;transition:color .3s}.sidebar-close-btn:hover{color:#00d4ff}@media (max-width:768px){.sidebar-container{bottom:0;box-shadow:none;left:-260px;position:fixed;top:0;transition:left .3s ease;width:260px;z-index:999}.sidebar-container.sidebar-visible{box-shadow:4px 0 20px #00000080;left:0}.sidebar-logo-area{height:60px;justify-content:center;padding:0 12px}.sidebar-logo-img{height:36px;padding:4px 8px}}.app-header{background:linear-gradient(90deg,#0a192f,#0d1f44 50%,#0a192f);border-bottom:1px solid #00b4d833;flex-shrink:0;height:64px;justify-content:space-between;padding:0 24px;z-index:10}.app-header,.header-left{align-items:center;display:flex}.header-left{gap:20px}.hamburger-btn{background:#0000;border:none;color:#ffffffb3;cursor:pointer;display:none;font-size:20px;padding:8px;transition:color .3s}.hamburger-btn:hover{color:#00d4ff}.header-logo,.header-title-bar{align-items:center;display:flex}.header-title-bar{gap:10px}.header-title-bar:before{background:linear-gradient(180deg,#00d4ff,#0077b6);border-radius:2px;box-shadow:0 0 8px #00d4ff80;content:"";height:24px;width:4px}.header-title{color:#fff;font-size:16px;font-weight:600;letter-spacing:2px;margin:0}.time-location{align-items:center;color:#00d4ffb3;display:flex;font-size:12px;gap:16px}.time-location .time{color:#fff9}.time-location .location{border-left:1px solid #00b4d84d;padding-left:16px}.header-right{align-items:center;display:flex;gap:16px}.welcome-text{color:#ffffffb3;font-size:13px}.logout-btn,.welcome-text strong{color:#00d4ff}.logout-btn{background:#00b4d826;border:1px solid #00b4d84d;border-radius:4px;cursor:pointer;font-size:12px;letter-spacing:1px;padding:6px 16px;transition:all .3s}.logout-btn:hover{background:#00b4d840;border-color:#00d4ff;box-shadow:0 0 10px #00b4d84d}@media (max-width:768px){.app-header{min-width:0;overflow:hidden;padding:0 10px}.header-left{gap:10px;min-width:0}.header-left,.header-right{flex-shrink:0;flex-wrap:nowrap!important}.header-right{gap:8px}.hamburger-btn{align-items:center;display:flex;flex-shrink:0;font-size:16px;justify-content:center;padding:4px}.header-logo{display:none}.header-title-bar{flex-shrink:0;gap:6px}.header-title-bar:before{flex-shrink:0;height:16px;width:3px}.header-title{flex-shrink:0;font-size:13px;letter-spacing:1px;white-space:nowrap}.time-location{display:none}.welcome-text{color:#fff9;flex-shrink:0;font-size:10px;white-space:nowrap}.welcome-text strong{color:#00d4ff}.logout-btn{flex-shrink:0;font-size:10px;padding:4px 8px;white-space:nowrap}}.main-layout{background:#0a192f;height:100vh;width:100vw}.main-layout,.main-right{display:flex;overflow:hidden}.main-right{background:linear-gradient(135deg,#0a192f,#0d1f44 50%,#0a192f);flex:1 1;flex-direction:column;height:100%}.page-content{flex:1 1;overflow-y:auto;padding:20px;position:relative}.page-content::-webkit-scrollbar{width:6px}.page-content::-webkit-scrollbar-track{background:#00b4d80d}.page-content::-webkit-scrollbar-thumb{background:#00b4d84d;border-radius:3px}.sidebar-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:998}@media (max-width:768px){.sidebar-overlay{display:block}.page-content{padding:12px}}.station-workspace-panels,.station-workspace-web,:root{--cyan:#00d4ff;--muted:#fff9;--card:#0d1f44d9;--border:#00b4d84d;--text:#fff;--accent:#00d4ff}.station-workspace-panels{color:#fff;color:var(--text)}.station-workspace-panels h3{border-left:3px solid #00d4ff;color:#fff;color:var(--text);font-size:14px;font-weight:600;letter-spacing:1px;margin:24px 0 14px;padding-left:12px}.station-workspace-panels h3:first-child{margin-top:0}.metric-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0 0 16px}.station-metric{background:linear-gradient(135deg,#0d1f44f2,#132c5ef2);border:1px solid #00b4d84d;border:1px solid var(--border);border-radius:8px;box-shadow:0 0 16px #00b4d814;display:flex;flex-direction:column;gap:8px;min-height:88px;padding:16px 18px}.station-metric span{color:#fff9;color:var(--muted);font-size:12px}.station-metric strong{color:#fff;color:var(--text);font-size:22px;font-weight:700;line-height:1.2}.station-metric small{color:#fff9;color:var(--muted);font-size:12px;font-weight:400;margin-left:4px}.card-actions button,.station-control-add,.station-control-card>button,.station-history-actions button,.station-parameter-card .card-actions button,.station-refresh-btn,.topology-display-settings,.topology-settings-save{background:#00b4d826;border:1px solid #00b4d859;border-radius:6px;color:#00d4ff;cursor:pointer;font-size:13px;min-height:32px;padding:6px 14px}.station-refresh-btn:disabled{cursor:not-allowed;opacity:.55}.station-empty{color:#fff9;color:var(--muted);padding:16px;text-align:center}.station-error{color:#ff6685;padding:12px 0}.station-history-field{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:180px}.station-history-field label{color:#fff9;color:var(--muted);font-size:12px}.station-history-field input{background:#00000047;border:1px solid #00b4d84d;border:1px solid var(--border);border-radius:6px;color:#fff;color:var(--text);color-scheme:dark;padding:8px 10px}.station-chart{height:280px;min-height:280px;width:100%}.command-editor,.device-checks{border:1px solid #59ade733;border-radius:12px;margin:4px 0 10px;min-width:0;padding:10px}.command-editor legend,.device-checks legend{color:#9ec7df;font-size:12px;padding:0 6px}.device-checks label{align-items:center;color:#c5d8e8;display:flex;font-size:12px;gap:8px;line-height:1.4;margin:6px 0}.device-checks.sub-device-type-filters{grid-gap:4px 12px;align-items:start;display:grid;gap:4px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.device-checks.sub-device-type-filters legend{grid-column:1/-1}.device-checks.sub-device-type-filters label{margin:2px 0;min-width:0}.device-checks.sub-device-type-filters span{overflow-wrap:anywhere}.mppt-channels{border-top:1px solid #ffffff14;display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px}.mppt-channels>div{display:flex;font-size:12px;gap:8px;justify-content:space-between}.mppt-channels span{color:#ffffff8c;flex-shrink:0}.mppt-channels strong{color:#ffffffeb;font-weight:600;text-align:right;white-space:nowrap}.metric-grid>.metric:last-child:nth-child(odd){grid-column:1/-1}.metric-grid>.metric.metric-lead{grid-column:1/-1;min-height:108px}.station-device-list{grid-gap:8px;display:grid;gap:8px;margin:0 0 8px}.station-device-row{grid-gap:12px;align-items:center;background:#ffffff0a;border:1px solid #00b4d82e;border-radius:8px;color:#fff9;color:var(--muted);display:grid;font-size:13px;gap:12px;grid-template-columns:minmax(120px,1fr) minmax(0,1.6fr) auto;padding:12px 14px}.station-device-row b{color:#fff;font-size:13px}.station-device-row b,.station-device-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-card header em,.station-device-row em{font-size:11px;font-style:normal;line-height:1.25;max-width:48%;text-align:right;white-space:normal}.station-card header .online,.station-device-row .online{color:#52e8b0}.station-card header .offline,.station-device-row .offline{color:#ff9bad}.station-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:8px}.station-info-grid>div{background:linear-gradient(135deg,#0d1f44f2,#132c5ef2);border:1px solid #00b4d84d;border:1px solid var(--border);border-radius:8px;box-shadow:0 0 16px #00b4d814;min-width:0;padding:16px 18px}.station-info-grid span,.station-info-grid strong{display:block}.station-info-grid span{color:#fff9;color:var(--muted);font-size:12px}.station-info-grid strong{color:#fff;font-size:15px;font-weight:600;margin-top:8px;overflow-wrap:anywhere}.station-range{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.station-history-block{grid-gap:12px;background:#0000001f;border:1px solid #00b4d833;border-radius:8px;display:grid;gap:12px;margin-top:8px;padding:16px}.station-history-label{border-left:3px solid #00d4ff;color:#fff;color:var(--text);font-size:14px;font-weight:600;letter-spacing:1px;margin:0;padding-left:12px}.station-history-actions{display:flex;justify-content:flex-start}.station-history-range .station-range-result{margin-top:16px}.station-history-range .station-range-result .station-chart{margin-top:0}.station-chart{height:220px;margin-top:10px;overflow:hidden}.data-source-note{color:#fff9;color:var(--muted);display:block;font-size:12px;line-height:1.5;margin-top:6px}.station-monitor-section{margin-bottom:16px}.station-tab-meta{align-items:center;background:#00000029;border:1px solid #00b4d838;border-radius:8px;display:flex;gap:10px;justify-content:space-between;margin:0 0 12px;padding:8px 12px}.station-tab-meta .page-last-update{color:#ffffff8c;flex:1 1;font-size:12px;margin:0;min-width:0}.station-tab-meta>button{flex-shrink:0}.station-topology{grid-gap:9px;background:radial-gradient(circle at 50% 42%,#11598e47,#0000 48%),linear-gradient(145deg,#0d2c54,#06172b 78%);border:1px solid #20d9f64d;border-radius:14px;box-shadow:inset 0 0 30px #1466a71f;display:grid;gap:9px;overflow:visible;padding:12px 10px 14px;position:relative}.topology-settings-bar{align-items:center;display:flex;gap:12px;justify-content:space-between}.topology-settings-bar h3{flex:1 1;margin:0;text-align:left}.topology-settings-bar button{background:#00b4d826;border:1px solid #00b4d859;border-radius:6px;color:#00d4ff;flex:0 0 auto;font-size:13px;line-height:1.3;margin:0 0 0 auto;min-height:32px;padding:6px 12px;width:auto}.topology-settings-save{font-weight:700}.station-topology-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.topology-display-settings{background:#00b4d826;border:1px solid #00b4d859;border-radius:6px;color:#00d4ff;font-size:13px;line-height:1.3;margin:0;padding:6px 12px}.station-topology-header b{border:1px solid #00b4d84d;border-radius:6px;color:#00d4ff;font-size:12px;letter-spacing:.04em;padding:4px 10px;text-transform:none}.topology-station-offline-note{color:#ffffff8c;font-size:11px;line-height:1.3}.station-topology-grid{align-items:stretch;display:flex;gap:7px}.station-topology-slot{display:flex;flex:1 1;justify-content:center;min-width:0}.station-topology-grid-bottom[data-count="3"] .station-topology-slot.is-storage{flex:2 1}.station-topology-column{display:grid;grid-template-rows:1fr 52px;min-width:0;width:100%}.station-topology-grid[data-count="1"] .station-topology-column{width:25%}.station-topology-grid[data-count="2"] .station-topology-column{width:50%}.station-topology-grid[data-count="3"] .station-topology-column{width:75%}.station-topology-grid-bottom[data-count="3"] .station-topology-column,.station-topology-grid[data-count="2"] .station-topology-column.is-storage{width:100%}.station-topology-grid-bottom .station-topology-column{grid-template-rows:52px 1fr}.topology-preview-banner{align-items:baseline;background:linear-gradient(120deg,#f4c54229,#20d9f61a);border:1px solid #f4c54259;border-radius:10px;color:#dce9f5;display:flex;flex-wrap:wrap;font-size:11px;gap:6px 10px;line-height:1.35;margin:0 0 10px;padding:8px 10px}.topology-preview-banner b{color:#f4c542;font-size:11px;letter-spacing:.04em}.station-topology-node{background:linear-gradient(160deg,#071e38f0,#030f1df0);border:1px solid #59ade72e;border-radius:10px;border-top:2px solid var(--node-color);box-shadow:0 5px 14px #00000026;min-width:0;padding:9px 8px;position:relative}.station-topology-node.node-state-working{border-color:color-mix(in srgb,var(--node-color) 58%,#0000);box-shadow:0 0 14px color-mix(in srgb,var(--node-color) 18%,#0000)}.station-topology-node.node-state-fault,.station-topology-node.node-state-offline{filter:saturate(.55)}.station-topology-node.node-state-fault{--node-color:#ff6685!important}.station-topology-node-heading{align-items:center;display:flex;gap:5px;min-width:0}.station-topology-node-icon{border:1px solid color-mix(in srgb,var(--node-color) 65%,#0000);border-radius:6px;color:var(--node-color);display:inline-grid;flex:0 0 20px;font-size:14px;height:20px;place-items:center;width:20px}.station-topology-node strong,.station-topology-node-flow,.station-topology-node-label,.station-topology-node-status{display:block}.station-topology-node-label{color:#dce9f5;font-size:10px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-topology-node-status{color:#fff9;color:var(--muted);font-size:9px;font-style:normal;margin-top:5px}.station-topology-node-status.status-working{color:#52e8b0}.station-topology-node-status.status-fault{color:#ff6685}.station-topology-node-status.status-offline{color:#8998aa}.station-topology-node strong{color:var(--node-color);font-size:17px;margin-top:6px}.station-topology-node strong small{color:#fff9;color:var(--muted);font-size:9px;font-weight:400}.station-topology-metrics{grid-gap:3px;display:grid;gap:3px;margin-top:6px}.station-topology-metrics span{color:#fff9;color:var(--muted);display:flex;font-size:8px;gap:4px;justify-content:space-between}.station-topology-metrics b{color:#cfe2f3;font-size:8px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-topology-node-flow{color:#00d4ff;color:var(--cyan);font-size:7px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-top:5px;overflow:hidden;text-overflow:clip;white-space:nowrap}.station-topology-node-flow.flow-idle,.station-topology-node-flow.flow-unknown{color:#fff9;color:var(--muted)}.station-topology-branch{display:grid;min-width:0;place-items:center;position:relative}.station-topology-branch-line{background:#7697b18c;bottom:0;position:absolute;top:0;width:2px}.station-topology-branch-line:after,.station-topology-branch-line:before{border:1px solid #6c9fbfa6;border-radius:50%;content:"";height:7px;left:50%;position:absolute;transform:translateX(-50%);width:7px}.station-topology-branch-line:before{top:0}.station-topology-branch-line:after{bottom:0}.station-topology-branch.flow-both .station-topology-branch-line,.station-topology-branch.flow-down .station-topology-branch-line,.station-topology-branch.flow-up .station-topology-branch-line{background:linear-gradient(180deg,#20d9f6,#52e8b0);box-shadow:0 0 8px #20d9f661}.station-topology-branch.flow-unknown .station-topology-branch-line{background:repeating-linear-gradient(180deg,#8ca0b2a6 0 5px,#0000 5px 9px)}.station-topology-flow-arrow{color:#00d4ff;color:var(--cyan);font-size:14px;line-height:1;position:absolute;text-shadow:0 0 8px #20d9f6bf;z-index:1}.station-topology-branch.flow-down .station-topology-flow-arrow,.station-topology-flow-arrow-down{animation:station-flow-down 1.2s linear infinite}.station-topology-branch.flow-up .station-topology-flow-arrow,.station-topology-flow-arrow-up{animation:station-flow-up 1.2s linear infinite}.station-topology-branch.flow-both .station-topology-flow-arrow-up{animation-delay:.6s}.station-topology-node .online,.topology-device-row .online{color:#52e8b0}.station-topology-node .offline,.topology-device-row .offline{color:#ff9bad}.station-topology-acdc{display:flex;flex-direction:column;gap:6px}.station-topology-acdc .station-topology-grid .station-topology-column,.station-topology-acdc .station-topology-grid-bottom .station-topology-column{grid-template-rows:auto 40px;width:100%}.station-topology-acdc .station-topology-grid-bottom .station-topology-column{grid-template-rows:40px auto}.station-topology-acdc .station-topology-node{align-items:center;display:flex;flex-direction:column;overflow:hidden;text-align:center}.station-topology-acdc .station-topology-node-heading{justify-content:center}.station-topology-acdc .station-topology-metrics:empty{display:none}.station-topology-storage-row{display:flex;justify-content:center;padding:0 18%}.station-topology-storage-column{display:grid;grid-template-rows:40px auto 40px;justify-items:stretch;min-width:0;width:min(220px,100%)}.station-topology-storage-column .station-topology-node{width:100%}.station-topology-empty{color:#fff9;color:var(--muted);font-size:12px;grid-column:1/-1;padding:12px 0;text-align:center}.station-topology-side-badge{border-radius:999px;display:inline-block;font-size:10px;font-weight:700;margin-top:4px;padding:1px 8px}.station-topology-side-badge.side-dc{background:#52e8b0d9;color:#052e1a}.station-topology-side-badge.side-ac{background:#00d4ffd9;color:#04263a}.station-topology-side-badge.side-bridge{background:#fa8c16e0;color:#3b2200}.station-topology-bus{align-items:center;color:#00d4ff;color:var(--cyan);display:flex;font-size:11px;font-weight:700;gap:8px;justify-content:center;letter-spacing:.08em;min-height:28px}.station-topology-bus i{background:linear-gradient(90deg,#0000,#20d9f6e6);box-shadow:0 0 7px #20d9f659;display:block;flex:1 1;height:2px}.station-topology-bus i:last-child{background:linear-gradient(90deg,#20d9f6e6,#0000)}.station-topology-bus-dc{color:#52e8b0}.station-topology-bus-dc i{background:linear-gradient(90deg,#0000,#52e8b0e6);box-shadow:0 0 7px #52e8b059}.station-topology-bus-dc i:last-child{background:linear-gradient(90deg,#52e8b0e6,#0000)}.topology-device-list{grid-gap:7px;display:grid;gap:7px}.topology-device-row{grid-gap:3px 10px;align-items:center;background:#0d1f44d9;background:var(--card);border:1px solid #00b4d84d;border:1px solid var(--border);border-radius:11px;display:grid;font-size:10px;gap:3px 10px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);padding:10px}.topology-device-row>.topology-device-row-name{display:flex;flex-direction:column;gap:1px;min-width:0}.topology-device-row b,.topology-device-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topology-device-row b{color:#dce9f5}.topology-device-row em,.topology-device-row span{color:#fff9;color:var(--muted)}.topology-device-row em{font-size:9px;font-style:normal;line-height:1.25;max-width:100%;white-space:normal}.topology-device-row strong{color:#00d4ff;color:var(--cyan);text-align:right;white-space:nowrap}.topology-device-row small{color:#fff9;color:var(--muted);font-size:9px;line-height:1.35;text-align:right}.topology-device-metric{white-space:nowrap}.station-parameters-section{margin-bottom:8px}.station-parameter-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.station-parameter-card{background:linear-gradient(135deg,#0d1f44f2,#132c5ef2);border:1px solid #00b4d84d;border:1px solid var(--border);border-radius:8px;box-shadow:0 0 16px #00b4d814;padding:16px 18px}.station-parameter-card header{align-items:center;border-bottom:1px solid #00b4d82e;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px;padding-bottom:10px}.station-parameter-card h4{border-left:3px solid #00d4ff;color:#fff;font-size:14px;font-weight:600;letter-spacing:1px;margin:0;padding-left:10px}.station-parameter-card header em{color:#fff9;color:var(--muted);font-size:11px;font-style:normal;line-height:1.25;max-width:58%;text-align:right;white-space:normal}.station-parameter-card header .online{color:#52e8b0}.station-parameter-card header .offline{color:#ff9bad}.station-parameter-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.station-parameter-grid>div{background:#00000038;border:1px solid #00b4d826;border-radius:6px;min-width:0;padding:10px 12px}.station-parameter-grid span,.station-parameter-grid strong{display:block}.station-parameter-grid span{color:#fff9;color:var(--muted);font-size:12px}.station-parameter-grid strong{color:#fff;font-size:14px;font-weight:600;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-parameter-block{border-top:1px solid #59ade729;margin-top:9px;padding-top:9px}.cell-parameter-block>strong{color:#00d4ff;color:var(--cyan);font-size:11px}.cell-value-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:6px}.cell-value-grid span{background:#030f1d73;border-radius:6px;color:#fff9;color:var(--muted);font-size:10px;padding:5px 6px}.card-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:11px}.card-actions button{background:#20d9f614;border:1px solid #20d9f640;border-radius:8px;color:#00d4ff;color:var(--cyan);cursor:pointer;min-height:34px;padding:0 12px}.card-actions button:disabled{cursor:not-allowed;opacity:.35}.card-actions.card-actions-fill{justify-content:stretch}.card-actions.card-actions-fill>button{flex:1 1}.mini-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin:8px 0}.mini-grid span{background:#ffffff0a;border-radius:9px;color:#fff9;color:var(--muted);font-size:10px;padding:9px}.station-alerts-section{margin-bottom:8px}.station-alert-range{grid-gap:16px;background:#0000001f;border:1px solid #00b4d833;border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:8px;padding:16px}.station-alert-list{grid-gap:12px;display:grid;gap:12px;margin-top:16px}.station-alert-card{background:linear-gradient(135deg,#0d1f44f2,#132c5ef2);border:1px solid #00b4d84d;border:1px solid var(--border);border-radius:8px;box-shadow:0 0 16px #00b4d814;padding:16px 18px}.station-alert-card.severity-4{border-left:3px solid #ff6685}.station-alert-card.severity-3{border-left:3px solid #f4c542}.station-alert-card header{align-items:center;display:flex;gap:12px;justify-content:space-between}.station-alert-card header b{color:#fff;font-size:14px}.station-alert-card header em{color:#ffae57;font-size:12px;font-style:normal;white-space:nowrap}.station-alert-card p{color:#ffffffc7;font-size:13px;line-height:1.5;margin:10px 0}.station-alert-meta{grid-gap:6px 16px;color:#fff9;color:var(--muted);display:grid;font-size:12px;gap:6px 16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:720px){.station-alert-range,.station-info-grid,.station-range{grid-template-columns:1fr}}.station-control-section{margin-bottom:20px}.station-control-card{background:linear-gradient(135deg,#0d1f44f2,#132c5ef2);border:1px solid #00b4d84d;border:1px solid var(--border);border-radius:8px;box-shadow:0 0 16px #00b4d814;margin-bottom:12px;padding:16px 18px}.station-control-card>b{color:#fff;display:block;font-size:14px;margin-bottom:12px}.station-control-card>h4{border-left:3px solid #00d4ff;color:#fff;font-size:14px;font-weight:600;margin:16px 0 12px;padding-left:10px}.station-control-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.station-control-add,.station-control-card>button{background:#00b4d826;border:1px solid #00b4d859;border-radius:6px;color:#00d4ff;cursor:pointer;font-size:13px;margin-top:12px;min-height:32px;min-width:160px;padding:6px 14px;width:auto}.station-control-add:disabled,.station-control-card>button:disabled{cursor:not-allowed;opacity:.45}.station-control-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0}.station-control-field-label{color:#fff9;color:var(--muted);font-size:12px}.station-control-field input[type=number],.station-control-field input[type=time],.station-control-grid input{background:#00000047;border:1px solid #00b4d84d;border:1px solid var(--border);border-radius:6px;color:#fff;height:36px;padding:0 12px;width:100%}.station-control-feedback{color:#00d4ff;color:var(--cyan);margin:8px 0 16px}.station-schedule-editor{margin-top:8px}*{box-sizing:border-box;margin:0;padding:0}#device-config-json::placeholder,.ant-modal .ant-input::placeholder{color:#ffffff8c!important;opacity:1!important}.ant-modal .ant-picker-input>input::placeholder,.ant-modal .ant-select-selection-placeholder{color:#ffffff9e!important;opacity:1!important}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a192f;font-family:Microsoft YaHei,PingFang SC,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ant-table{background:#0000!important;color:#fff}.ant-table-thead>tr>th{background:#00b4d81a!important;border-bottom:1px solid #00b4d833!important;color:#fffc!important;font-size:12px;letter-spacing:1px}.ant-table-cell,.ant-table-tbody>tr>td{background:#0000!important;border-bottom:1px solid #ffffff0d!important;color:#fff!important}.ant-table-tbody>tr:hover>td{background:#00b4d80d!important}.cloud-platform-page .ant-card-body,.cloud-platform-page .ant-table-title,.cloud-platform-page .ant-table-wrapper .ant-spin-nested-loading{color:#fff!important}.ant-table-pagination.ant-pagination{background:#0000}.ant-pagination-item{background:#00b4d81a!important;border-color:#00b4d84d!important}.ant-pagination-item a{color:#ffffffb3!important}.ant-pagination-item-active{background:#00b4d840!important;border-color:#00d4ff!important}.ant-pagination-next .ant-pagination-item-link,.ant-pagination-prev .ant-pagination-item-link{background:#00b4d81a!important;border-color:#00b4d84d!important;color:#ffffffb3!important}.ant-select .ant-select-content,.ant-select-selector,.ant-select.ant-select-filled,.ant-select.ant-select-outlined{background:#0003!important;border-color:#00b4d84d!important;color:#fff!important}.ant-select.ant-select-outlined:hover{border-color:#00d4ff99!important}.ant-select.ant-select-focused{border-color:#00d4ff!important;box-shadow:0 0 0 2px #00d4ff1a!important}.ant-select-content,.ant-select-input,.ant-select-selection-item{color:#fff!important}.ant-select-arrow,.ant-select-suffix{color:#ffffff80!important}.ant-input,.ant-input-affix-wrapper{background:#0003!important;border-color:#00b4d84d!important;color:#fff!important}.ant-input-affix-wrapper .ant-input{background:#0000!important}.ant-input-focused,.ant-input:focus{border-color:#00d4ff!important;box-shadow:0 0 0 2px #00d4ff1a!important}.ant-input:-webkit-autofill,.ant-input:-webkit-autofill:active,.ant-input:-webkit-autofill:focus,.ant-input:-webkit-autofill:hover,textarea.ant-input:-webkit-autofill,textarea.ant-input:-webkit-autofill:active,textarea.ant-input:-webkit-autofill:focus,textarea.ant-input:-webkit-autofill:hover{-webkit-text-fill-color:#fff!important;box-shadow:inset 0 0 0 1000px #0d1f44!important;caret-color:#fff!important;-webkit-transition:background-color 99999s ease-out 0s!important;transition:background-color 99999s ease-out 0s!important}.ant-input-number{background:#0003!important;border-color:#00b4d84d!important}.ant-input-number,.ant-input-number-input{color:#fff!important}.ant-picker{background:#0003!important;border-color:#00b4d84d!important}.ant-picker-input>input{background:#0000!important;color:#fff!important}.ant-picker-separator,.ant-picker-suffix{color:#ffffffd9!important}.ant-picker-input>input::placeholder{color:#ffffffd9!important;opacity:1!important}.ant-picker-range-separator,.ant-picker-range-separator .ant-picker-separator{color:#ffffffd9!important}.ant-select .ant-select-placeholder,.ant-select-multiple .ant-select-selection-placeholder,.ant-select-selection-placeholder{color:#ffffffd9!important;opacity:1!important}.ant-input-affix-wrapper input::placeholder,.ant-input::placeholder,textarea.ant-input::placeholder{color:#ffffffbf!important;opacity:1!important}.ant-btn-primary{background:#00b4d833!important;border-color:#00b4d866!important;color:#00d4ff!important}.ant-btn-primary:hover{background:#00b4d859!important;border-color:#00d4ff!important}.ant-btn-default{background:#0003!important;border-color:#00b4d84d!important;color:#ffffffb3!important}.ant-divider{border-color:#00b4d833!important}.ant-divider-inner-text{color:#ffffffe0!important}.ant-tag{background:#0000004d!important;border-color:#00b4d84d!important}.ant-steps-item-title,.ant-tag{color:#fffc!important}.ant-steps-item-description{color:#ffffff80!important}.ant-timeline-item-content{color:#ffffffb3!important}.ant-message-notice-content{background:#0d1f44!important;border:1px solid #00b4d84d!important;color:#fff!important}.ant-timeline-head{background:#0000!important}.ant-progress-indicator,.ant-progress-text{color:#ffffffeb!important}.ant-progress-inner{background:#ffffff1a!important}.ant-card{border:none!important}.ant-card,.ant-card-body{background:#0000!important}.ant-statistic-title{color:#fff9!important}.ant-statistic-content{color:#fff!important}.ant-tabs-tab{color:#fff9!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:#00d4ff!important}.ant-tabs-ink-bar{background:#00d4ff!important}.ant-tabs-nav:before{border-color:#00b4d833!important}.ant-form-item{color:#fffc}.ant-form-item-explain-error{color:#ff4d4f!important}.ant-picker-header{border-color:#00b4d833!important}.ant-picker-header,.ant-picker-header button{color:#fffc!important}.ant-picker-content th{color:#ffffffb8!important}.ant-picker-cell{color:#ffffffd9!important}.ant-picker-cell-in-view{color:#fff!important}.ant-picker-cell-selected .ant-picker-cell-inner{background:#00b4d84d!important;color:#00d4ff!important}.ant-picker-cell-today .ant-picker-cell-inner:before{border-color:#00d4ff!important}.ant-picker-footer{border-color:#00b4d833!important}.ant-picker-datetime-panel,.ant-picker-panel,.ant-picker-time-panel{background:#0d1f44!important;border-color:#00b4d833!important;color:#fff!important}.ant-picker-time-panel-column{border-color:#00b4d833!important}.ant-picker-time-panel-column:after{background:#0000!important}.ant-picker-time-panel-cell,.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner{color:#ffffffd9!important}.ant-picker-time-panel-cell:hover .ant-picker-time-panel-cell-inner{background:#00b4d82e!important;color:#fff!important}.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner{background:#00b4d84d!important;color:#00d4ff!important}.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner{color:#ffffff40!important}.ant-picker-now-btn,.ant-picker-ok{color:#00d4ff!important}.ant-picker-footer .ant-btn-primary,.ant-picker-ranges .ant-picker-ok button{background:#00b4d840!important;border-color:#00b4d873!important;color:#00d4ff!important}.ant-switch{background:#fff3!important}.ant-switch-checked{background:#00b4d880!important}.ant-picker-range-wrapper{background:#0d1f44!important}.ant-row{color:#fff}.ant-empty-description{color:#fff6!important}.ant-checkbox-wrapper{color:#ffffffb3!important}.ant-checkbox-inner{background:#0003!important;border-color:#00b4d866!important}.ant-checkbox-checked .ant-checkbox-inner{background:#00b4d84d!important;border-color:#00d4ff!important}.ant-tooltip-inner{border:1px solid #00b4d84d!important;color:#fff!important}.ant-tooltip-arrow-content,.ant-tooltip-inner{background:#0d1f44!important}.ant-popover-inner{border:1px solid #00b4d84d!important}.ant-popover-title{border-color:#00b4d833!important;color:#fff!important}.ant-progress-circle-trail{stroke:#ffffff14!important}.ant-steps-item-process .ant-steps-item-icon{background:#00b4d84d!important}.ant-steps-item-finish .ant-steps-item-tail:after{border-color:#00b4d866!important}.ant-dropdown-menu{background:#0d1f44!important;border:1px solid #00b4d84d!important}.ant-dropdown-menu-item{color:#fffc!important}.ant-dropdown-menu-item:hover{background:#00b4d826!important}.ant-modal-confirm .ant-modal-header{display:none!important}.ant-confirm-body .ant-confirm-title,.ant-modal-confirm-title{color:#fff!important}.ant-confirm-body .ant-confirm-content,.ant-modal-confirm-content{color:#ffffffb3!important}.ant-message .ant-message-notice-wrapper,.ant-notification-notice{background:#0d1f44!important;border:1px solid #00b4d84d!important}.ant-notification-notice-message{color:#fff!important}.ant-notification-notice-description{color:#ffffffb3!important}.ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton-content .ant-skeleton-title{background:linear-gradient(90deg,#00b4d81a 25%,#00b4d833 50%,#00b4d81a 75%)!important}.ant-spin-dot-item{background:#00d4ff!important}.ant-table-column-sorter{color:#ffffff4d!important}.ant-table-column-sorter-down.active,.ant-table-column-sorter-up.active{color:#00d4ff!important}.ant-table-filter-trigger{color:#fff6!important}.ant-table-filter-trigger:hover{color:#00d4ff!important}.ant-drawer-content,.ant-drawer-header{background:#0d1f44!important}.ant-drawer-header{border-color:#00b4d833!important}.ant-drawer-title{color:#fff!important}.ant-drawer-close{color:#ffffff80!important}.ant-slider-rail{background:#ffffff1a!important}.ant-slider-track{background:#00b4d866!important}.ant-slider-handle{background:#0d1f44!important;border-color:#00d4ff!important}.ant-slider-mark-text{color:#fff6!important}.ant-modal{box-shadow:none!important;outline:none!important;top:60px!important}.ant-modal,.ant-modal-container{background:#0000!important;border:none!important;padding:0!important}.ant-modal-container{margin:0!important}.ant-modal-mask,.ant-modal-wrap{background:#000000bf!important;box-shadow:none!important;outline:none!important}.ant-modal-mask{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:none!important}.ant-modal-content{border:1px solid #00b4d84d!important;border-radius:10px!important;box-shadow:0 0 40px #00b4d833,0 8px 32px #0009!important;overflow:hidden!important}.ant-modal-content,.ant-modal-header{background:#0d1f44!important;outline:none!important}.ant-modal-header{align-items:center!important;border-bottom:1px solid #00b4d833!important;display:flex!important;justify-content:space-between!important;padding:16px 20px!important}.ant-modal-title{color:#fff!important;flex:1 1!important;font-size:16px!important;font-weight:600!important;letter-spacing:1px!important;outline:none!important}.ant-modal-close{align-items:center!important;background:#0000!important;border:none!important;border-radius:4px!important;color:#ffffff80!important;display:flex!important;height:24px!important;justify-content:center!important;margin:0!important;outline:none!important;padding:0!important;position:absolute!important;right:16px!important;top:16px!important;transition:all .2s!important;width:24px!important}.ant-modal-close:hover{background:#00b4d81a!important;color:#00d4ff!important}.ant-modal-close:active{background:#00b4d833!important}.ant-modal-body{color:#ffffffd9!important;padding:20px!important}.ant-modal-body,.ant-modal-footer{background:#0d1f44!important;outline:none!important}.ant-modal-footer{border-top:1px solid #00b4d833!important;display:flex!important;gap:10px!important;justify-content:flex-end!important;padding:14px 20px!important}.ant-modal-footer .ant-btn{background:#0003!important;border-color:#00b4d84d!important;border-radius:6px!important;color:#ffffffb3!important;outline:none!important}.ant-modal-footer .ant-btn,.ant-modal-footer .ant-btn-primary{font-size:13px!important;height:34px!important;padding:0 16px!important}.ant-modal-footer .ant-btn-primary{background:#00b4d833!important;border-color:#00b4d866!important;border-radius:6px!important;color:#00d4ff!important}.ant-modal-footer .ant-btn:not(.ant-btn-primary):hover{background:#00000059!important;border-color:#00b4d880!important;color:#fff!important}.ant-modal-footer .ant-btn-primary:hover{background:#00b4d859!important;border-color:#00d4ff!important}.ant-modal .ant-form,.ant-modal .ant-form-item{background:#0000!important}.ant-modal .ant-form-item{margin-bottom:16px!important}.ant-modal .ant-form-item-label{background:#0000!important;padding-bottom:6px!important}.ant-modal .ant-form-item-label>label{background:#0000!important;color:#ffffffb3!important;font-size:13px!important}.ant-modal .ant-form-item-control,.ant-modal .ant-form-item-control-input,.ant-modal .ant-form-item-control-input-content,.ant-modal .ant-row{background:#0000!important}.ant-modal .ant-row{color:#fff!important;margin:0!important}.ant-modal .ant-col{background:#0000!important}.ant-modal .ant-input,.ant-modal .ant-input-affix-wrapper{background:#0000004d!important;border-color:#00b4d84d!important;border-radius:6px!important;color:#fff!important;outline:none!important}.ant-modal .ant-input-affix-wrapper:hover,.ant-modal .ant-input:hover{border-color:#00b4d880!important}.ant-modal .ant-input-affix-wrapper-focused,.ant-modal .ant-input:focus{border-color:#00b4d899!important;box-shadow:0 0 0 2px #00b4d826!important}.ant-modal .ant-select-selector{background:#0000004d!important;border-color:#00b4d84d!important;border-radius:6px!important;color:#fff!important;outline:none!important}.ant-modal .ant-select-selection-placeholder{color:#fff6!important}.ant-modal .ant-input-group-addon{background:#0003!important;border-color:#00b4d84d!important;color:#ffffffb3!important}.ant-modal .ant-input-group-addon:first-child{border-right:1px solid #00b4d84d!important}.ant-modal .ant-input-number-addon{background:#0003!important;border-color:#00b4d84d!important;color:#ffffffb3!important}.ant-modal .ant-input-number{border-radius:6px 0 0 6px!important}.ant-modal .ant-input-number-focused,.ant-modal .ant-input-number:hover{border-color:#00b4d880!important}.ant-modal .ant-picker{background:#0000004d!important;border-color:#00b4d84d!important;color:#fff!important}.ant-modal .ant-picker-focused,.ant-modal .ant-picker:hover{border-color:#00b4d880!important}.ant-modal .ant-picker-input>input{background:#0000!important;color:#fff!important}.ant-modal .ant-picker-suffix{color:#ffffff80!important}.ant-modal .ant-picker-clear{background:#0003!important;color:#fff6!important}.ant-modal .ant-select:hover .ant-select-selector{border-color:#00b4d880!important}.ant-modal .ant-select-focused .ant-select-selector{border-color:#00b4d899!important;box-shadow:0 0 0 2px #00b4d826!important}.ant-modal .ant-input-number{background:#0000004d!important;border-color:#00b4d84d!important;border-radius:6px!important;color:#fff!important;outline:none!important;width:100%!important}.ant-modal .ant-input-number-input{color:#fff!important}.ant-modal .ant-select-dropdown,.ant-select-dropdown{background:#0d1f44!important;border:1px solid #00b4d84d!important;border-radius:6px!important;box-shadow:0 4px 20px #00000080!important}.ant-select-item{color:#fffc!important}.ant-select-item-option-active:not(.ant-select-item-option-disabled){background:#00b4d826!important}.ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:#00b4d840!important;color:#00d4ff!important;font-weight:600}.ant-picker-dropdown{background:#0000!important}.ant-picker-panel-container{background:#0d1f44!important;border:1px solid #00b4d84d!important;box-shadow:0 4px 20px #00000080!important}.ant-badge-status-text{color:#ffffffb3!important}.ant-descriptions-item-label{color:#fff9!important}.ant-descriptions-item-content{color:#fff!important}.ant-empty{color:#fff6!important}.ant-card-grid{background:#0000!important;box-shadow:none!important}.ant-drawer-body{background:#0d1f44!important;color:#fff!important}.ant-table-filter-dropdown{border:1px solid #00b4d84d!important}.ant-table-filter-dropdown,.ant-table-filter-dropdown .ant-dropdown-menu{background:#0d1f44!important}.ant-table-filter-dropdown .ant-table-filter-trigger{color:#fff6!important}.ant-slider{background:#0000!important}.ant-popover-inner{background:#0d1f44!important}.ant-popconfirm-message-title{color:#ffffffd9!important}.ant-popconfirm-description{color:#fff9!important}.ant-form-item .ant-form-item-explain-error{color:#ff6b6b!important}.ant-message-notice-content .anticon{color:#00d4ff!important}.ant-message-success .anticon{color:#52c41a!important}.ant-message-error .anticon{color:#ff4d4f!important}.ant-message-warning .anticon{color:#faad14!important}.ant-confirm .anticon,.ant-message-info .anticon{color:#00d4ff!important}.ant-confirm-title,.ant-modal-confirm-title{color:#fff!important}.ant-confirm-content,.ant-modal-confirm-content{color:#ffffffbf!important}.ant-modal-confirm-paragraph{color:#ffffffd9!important}.dark-confirm-modal .ant-modal-content{background:#0d1f44!important;border:1px solid #00b4d84d!important;box-shadow:0 0 30px #00b4d826,0 0 0 1px #00b4d81a!important}.dark-confirm-modal .ant-modal-header{background:#0d1f44!important;border-bottom:1px solid #00b4d833!important}.dark-confirm-modal .ant-modal-title{color:#fff!important}.dark-confirm-modal .ant-modal-body{background:#0d1f44!important;color:#fffc!important}.dark-confirm-modal .ant-modal-footer{background:#0d1f44!important;border-top:1px solid #00b4d833!important}.dark-confirm-modal .ant-btn{background:#0003!important;border-color:#00b4d84d!important;color:#ffffffb3!important}.dark-confirm-modal .ant-btn-primary{background:#00b4d833!important;border-color:#00b4d866!important;color:#00d4ff!important}.dark-confirm-modal+.ant-modal-mask,.dark-confirm-modal~.ant-modal-mask{background:#000000b3!important}.dark-confirm-modal .ant-modal-confirm-content,.dark-confirm-modal.ant-modal-confirm .ant-modal-confirm-content{background:#0d1f44!important;color:#ffffffd9!important;padding:16px!important}.dark-confirm-modal .ant-modal-confirm-body .anticon,.dark-confirm-modal.ant-modal-confirm .ant-modal-confirm-body .anticon{color:#00b4d8cc!important}.ant-steps-item-container,.dark-confirm-modal .ant-modal-confirm-body>.anticon+span,.dark-confirm-modal.ant-modal-confirm .ant-modal-confirm-body>.anticon+span{background:#0000!important}.ant-steps-item-icon{background:#0000004d!important;border-color:#00b4d866!important}.ant-steps-item-icon .anticon{color:#00d4ff!important}.ant-modal-content .ant-steps,.ant-modal-content .ant-steps-item,.ant-modal-content .ant-timeline,.ant-modal-content .ant-timeline-item,.ant-steps-item-content,.ant-timeline,.ant-timeline-item{background:#0000!important}.ant-steps-item-wait .ant-steps-item-icon{background:#0000004d!important;border-color:#00b4d866!important}.ant-steps-item-wait .ant-steps-item-icon .anticon{color:#fff6!important}.ant-steps-item-process .ant-steps-item-icon{background:#00b4d840!important;border-color:#00d4ff!important}.ant-steps-item-finish .ant-steps-item-icon{background:#00b4d833!important;border-color:#00d4ff!important}.ant-steps-item-finish .ant-steps-item-icon .anticon{color:#00d4ff!important}.ant-steps-item-finish .ant-steps-item-content .ant-steps-item-title,.ant-steps-item-process .ant-steps-item-content .ant-steps-item-title,.ant-steps-item-wait .ant-steps-item-content .ant-steps-item-title{color:#ffffffd9!important}.ant-steps-item-finish .ant-steps-item-content .ant-steps-item-description,.ant-steps-item-process .ant-steps-item-content .ant-steps-item-description,.ant-steps-item-wait .ant-steps-item-content .ant-steps-item-description{color:#ffffff73!important}.ant-steps-item-tail:after{background:#00b4d84d!important}.ant-timeline-item-head-blue{background:#0000004d!important;border-color:#00d4ff!important}.ant-timeline-item-head{background:#0000004d!important;border-color:#00b4d866!important}.ant-timeline-item-tail{border-color:#00b4d84d!important}.ant-timeline-item-content{background:#0000!important;color:#ffffffbf!important}.dashboard-topbar{display:flex;flex-direction:column;gap:10px}.dashboard-topbar-row{align-items:center;display:flex;gap:12px 16px;min-width:0}.dashboard-topbar-row-main,.dashboard-topbar-row-meta{justify-content:space-between}.dashboard-topbar-row-meta{border-top:1px solid #00b4d82e;padding-top:8px}.dashboard-topbar-brand{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}.dashboard-topbar-brand-text{color:#fff;font-size:clamp(14px,1.1vw,17px);font-weight:700;letter-spacing:.3px;line-height:1.3;overflow-wrap:break-word;white-space:normal;word-break:break-word}.dashboard-topbar-station{color:#00d4ff;font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-topbar-device{flex:0 0 240px;min-width:180px;width:240px}.dashboard-topbar-clock{flex:0 0 auto;min-width:118px;text-align:right}.dashboard-topbar-clock-time{color:#00d4ff;font-family:monospace;font-size:20px;font-weight:700;line-height:1.15}.dashboard-topbar-clock-date{color:#fff9;font-size:11px;white-space:nowrap}.dashboard-topbar-meta-left{align-items:center;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:10px 14px;min-width:0}.dashboard-topbar-alarm{background:#0000;border:none;color:#ff4d4f;cursor:pointer;flex:0 0 auto;font-size:12px;line-height:16px;max-width:160px;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.dashboard-topbar-env{align-items:center;color:#fff9;display:flex;flex-wrap:wrap;font-size:11px;gap:6px 12px;min-width:0}.dashboard-topbar-env-ext{color:#ffffff73;font-size:11px;line-height:1.35}.dashboard-topbar-refresh{align-items:center;color:#fff9;display:flex;flex:0 0 auto;font-size:12px;gap:8px;justify-content:flex-end;white-space:nowrap}.dashboard-topbar-nav{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:900px){.dashboard-topbar-row-main{flex-wrap:wrap}.dashboard-topbar-brand{flex:1 1 100%}.dashboard-topbar-device{flex:1 1 200px;width:auto}.dashboard-topbar-clock{margin-left:auto}}@media (max-width:640px){.dashboard-topbar{padding:10px 12px!important}.dashboard-topbar-row-meta{align-items:stretch;flex-direction:column;gap:8px}.dashboard-topbar-refresh{justify-content:flex-start}.dashboard-topbar-device{flex:1 1 100%}.dashboard-topbar-env{display:none}.dashboard-topbar-brand-text{font-size:14px}}.dashboard-topology-acdc{display:flex;flex-direction:column;gap:4px}.dashboard-topology-bus{margin:2px 0}.dashboard-topology-branch{display:grid;height:44px;min-width:0;place-items:center;position:relative}.dashboard-topology-branch-line{background:#7697b18c;bottom:0;position:absolute;top:0;width:2px}.dashboard-topology-branch-line:after,.dashboard-topology-branch-line:before{border:1px solid #6c9fbfa6;border-radius:50%;content:"";height:7px;left:50%;position:absolute;transform:translateX(-50%);width:7px}.dashboard-topology-branch-line:before{top:0}.dashboard-topology-branch-line:after{bottom:0}.dashboard-topology-branch.flow-both .dashboard-topology-branch-line,.dashboard-topology-branch.flow-down .dashboard-topology-branch-line,.dashboard-topology-branch.flow-up .dashboard-topology-branch-line{background:linear-gradient(180deg,#20d9f6,#52e8b0);box-shadow:0 0 8px #20d9f661}.dashboard-topology-branch.flow-unknown .dashboard-topology-branch-line{background:repeating-linear-gradient(180deg,#8ca0b2a6 0 5px,#0000 5px 9px)}.dashboard-topology-flow-arrow{color:#00d4ff;font-size:14px;line-height:1;position:absolute;text-shadow:0 0 8px #20d9f6bf;z-index:1}.dashboard-topology-branch.flow-down .dashboard-topology-flow-arrow,.dashboard-topology-flow-arrow-down{animation:dashboard-flow-down 1.2s linear infinite}.dashboard-topology-branch.flow-up .dashboard-topology-flow-arrow,.dashboard-topology-flow-arrow-up{animation:dashboard-flow-up 1.2s linear infinite}.dashboard-topology-branch.flow-both .dashboard-topology-flow-arrow-up{animation-delay:.6s}@keyframes dashboard-flow-down{0%{opacity:0;transform:translateY(-17px)}20%,80%{opacity:1}to{opacity:0;transform:translateY(17px)}}@keyframes dashboard-flow-up{0%{opacity:0;transform:translateY(17px)}20%,80%{opacity:1}to{opacity:0;transform:translateY(-17px)}}
/*# sourceMappingURL=main.0cee20a8.css.map*/