*{scrollbar-width:thin;scrollbar-color:#334155 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#334155;border-radius:8px}:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--status-success:#248a3d;--status-warning:#b25000;--status-error:#d70015;--status-info:#0071e3;--status-neutral:#6e6e73;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--shadow-card:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f;--shadow-pop:0 12px 40px #0f172a1f;--yx-primary:#1f4e79;--yx-primary-strong:#163a5c}html[data-theme=dark]{--status-success:#34d399;--status-warning:#fbbf24;--status-error:#f87171;--status-info:#60a5fa;--status-neutral:#94a3b8;--shadow-card:0 1px 2px #00000040, 0 8px 24px #00000047;--shadow-pop:0 12px 40px #00000073;--yx-primary:#6a9bbe;--yx-primary-strong:#447caa}html.color-weak{filter:invert(80%)}body{font-family:-apple-system,PingFang SC,Microsoft YaHei,system-ui,sans-serif}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=dark] body{background:#0b1220}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=light] body{background:#f5f7fa}.neon{text-shadow:0 0 12px #22d3ee80}html[data-theme=light] .neon{text-shadow:none}.text-grad{background:linear-gradient(90deg,#22d3ee,#3b82f6);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-gradient{background:radial-gradient(1200px 380px at 18% -20%,#22d3ee24,#0000 60%),linear-gradient(135deg,#22d3ee0f,#3b82f605)}.lift{cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.lift:hover{transform:translateY(-3px);box-shadow:0 10px 34px #22d3ee1f;border-color:#22d3ee66!important}.heat-cell{text-align:center;color:#e2e8f0;cursor:pointer;border-radius:8px;padding:8px 4px;font-size:11px;line-height:1.5;transition:all .15s;position:relative}.heat-cell:hover{outline:2px solid #22d3ee8c}.heat-dot{border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.h0{background:#22c55e2e}.h1{background:#84cc1640}.h2{background:#eab3084d}.h3{background:#ef444466}html[data-theme=light] .heat-cell{color:#1e293b}.arch-node{text-align:center;color:#e2e8f0;background:color-mix(in srgb, var(--node-color) 22%, transparent);border:1px solid color-mix(in srgb, var(--node-color) 45%, transparent);border-radius:8px;flex:1 1 0;min-width:96px;padding:10px 8px;font-size:12px;font-weight:600}html[data-theme=light] .arch-node{color:#0f172a;background:color-mix(in srgb, var(--node-color) 16%, #fff);border-color:color-mix(in srgb, var(--node-color) 42%, #94a3b8)}.btn-grad{color:#fff!important;background:linear-gradient(90deg,#06b6d4,#2563eb)!important;border:none!important}.btn-grad:hover{filter:brightness(1.12)}.blink-caret{color:#22d3ee;font-weight:700;animation:.9s step-end infinite blinkCaret}@keyframes blinkCaret{0%,to{opacity:1}50%{opacity:0}}.phone{background:#0b1220;border:10px solid #1e293b;border-radius:36px;width:320px;overflow:hidden;box-shadow:0 20px 60px #00000080}.phone .screen{height:640px;overflow-y:auto}.app-sider .ant-menu-item-group-title{letter-spacing:.04em;text-transform:uppercase;padding-top:14px;font-size:11px}.app-sider .ant-menu-item{position:relative}.app-sider .ant-menu-item-selected{font-weight:600}.app-sider .ant-menu-item-selected:after{display:none}.app-sider .ant-menu-item-selected:before{content:"";inset-inline-start:0;background:var(--yx-primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px}.app-sider .ant-menu-submenu-title{font-weight:500}.sc-row-warn>td{background:#fbbf2412!important}.hr-soft{border:0;border-top:1px solid #ffffff0f;margin:14px 0}@media (width<=1100px){.hide-sm{display:none!important}}.sc-root{color:#e2e8f0;background:radial-gradient(1200px 520px at 12% -8%,#22d3ee1f,#0000 60%),radial-gradient(1000px 480px at 92% 0,#3b82f61f,#0000 60%),linear-gradient(160deg,#0a1120 0%,#0b1322 50%,#081019 100%);flex-direction:column;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.sc-root:before{content:"";pointer-events:none;background-image:linear-gradient(#94a3b80d 1px,#0000 1px),linear-gradient(90deg,#94a3b80d 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 35%,#0000 90%);mask-image:radial-gradient(#000 35%,#0000 90%)}.sc-head{z-index:2;background:linear-gradient(#0d1526b3,#0d152600);border-bottom:1px solid #22d3ee2e;flex:none;justify-content:space-between;align-items:center;height:64px;padding:0 20px;display:flex;position:relative}.sc-head-side{flex:1 1 0;align-items:center;gap:14px;min-width:0;display:flex}.sc-head-r{justify-content:flex-end}.sc-logo{color:#06121f;background:linear-gradient(135deg,#22d3ee,#2563eb);border-radius:10px;place-items:center;width:38px;height:38px;font-weight:800;display:grid;box-shadow:0 0 18px #22d3ee73}.sc-clock-time{letter-spacing:.04em;font-variant-numeric:tabular-nums;color:#67e8f9;text-shadow:0 0 12px #22d3ee80;font-size:20px;font-weight:700;line-height:1.1}.sc-clock-date{color:#7c8aa5;font-size:11px}.sc-head-center{text-align:center;flex:none}.sc-h1{letter-spacing:.06em;background:linear-gradient(90deg,#67e8f9,#a5b4fc);color:#0000;text-shadow:0 0 22px #22d3ee40;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(18px,1.75vw,30px);font-weight:800}.sc-h2{color:#7c8aa5;letter-spacing:.18em;margin-top:2px;font-size:11px}.sc-live{color:#34d399;letter-spacing:.08em;align-items:center;gap:6px;font-size:12px;display:inline-flex}.sc-live.sm{font-size:11px}.sc-live i{background:#34d399;border-radius:50%;width:7px;height:7px;animation:1.4s infinite scPulse;box-shadow:0 0 8px #34d399}.sc-btn.ant-btn{color:#94a3b8}.sc-btn.ant-btn:hover{color:#67e8f9!important;background:#22d3ee1a!important}.sc-body{z-index:1;flex-direction:column;flex:auto;gap:12px;min-height:0;padding:12px 16px 8px;display:flex;position:relative}.sc-kpis{flex:none;gap:12px;display:flex}.sc-kpi{background:linear-gradient(160deg,#1e293b8c,#0f172a59);border:1px solid #94a3b824;border-radius:12px;flex:1 1 0;min-width:0;padding:10px 16px 12px;transition:all .2s;position:relative;overflow:hidden}.sc-kpi:hover{border-color:#22d3ee73;transform:translateY(-2px)}.sc-kpi-label{color:#94a3b8;font-size:12px}.sc-kpi-value{font-variant-numeric:tabular-nums;font-size:clamp(20px,1.9vw,32px);font-weight:800;line-height:1.2}.sc-kpi-suffix{opacity:.8;margin-left:2px;font-size:13px;font-weight:600}.sc-kpi-delta{color:#7c8aa5;font-variant-numeric:tabular-nums;font-size:11px}.sc-kpi-bar{opacity:.85;width:100%;height:3px;position:absolute;bottom:0;left:0}.sc-cols{flex:auto;grid-template-columns:1.05fr 1.3fr 1.05fr;gap:12px;min-height:0;display:grid}.sc-col{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.sc-panel{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(160deg,#11192bb8,#0b122080);border:1px solid #94a3b824;border-radius:12px;flex-direction:column;min-height:0;display:flex;position:relative}.sc-panel-hd{border-bottom:1px solid #94a3b81a;flex:none;justify-content:space-between;align-items:center;gap:8px;padding:9px 14px;display:flex}.sc-panel-ti{color:#e2e8f0;letter-spacing:.04em;white-space:nowrap;padding-left:12px;font-size:13px;font-weight:600;position:relative}.sc-panel-ti:before{content:"";background:linear-gradient(#22d3ee,#2563eb);border-radius:2px;width:3px;height:13px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sc-panel-ex{color:#7c8aa5;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.sc-panel-bd{flex-direction:column;flex:auto;min-height:0;padding:10px 12px;display:flex}.sc-chart{flex:auto;width:100%;min-height:0}.sc-corner{pointer-events:none;border:1.5px solid #22d3ee80;width:10px;height:10px;position:absolute}.sc-corner.tl{border-bottom:0;border-right:0;border-top-left-radius:12px;top:-1px;left:-1px}.sc-corner.tr{border-bottom:0;border-left:0;border-top-right-radius:12px;top:-1px;right:-1px}.sc-corner.bl{border-top:0;border-right:0;border-bottom-left-radius:12px;bottom:-1px;left:-1px}.sc-corner.br{border-top:0;border-left:0;border-bottom-right-radius:12px;bottom:-1px;right:-1px}.sc-scroll{overflow-y:auto}.sc-scroll::-webkit-scrollbar{width:5px}.sc-overview{flex:auto;gap:8px;min-height:0;display:flex}.sc-gauge{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}.sc-bases{flex-direction:column;flex:1.25 1 0;min-width:0;min-height:0;display:flex}.sc-sub-ti{color:#7c8aa5;flex:none;margin-bottom:4px;font-size:11px}.sc-floors{flex-direction:column;flex:auto;justify-content:space-between;gap:6px;min-height:0;display:flex;overflow-y:auto}.sc-floor{align-items:center;gap:10px;display:flex}.sc-floor-no{color:#67e8f9;flex:none;width:30px;font-size:12px;font-weight:700}.sc-zones{flex:auto;gap:6px;display:grid}.sc-legend{color:#7c8aa5;align-items:center;gap:4px;font-size:10px;display:inline-flex}.sc-d{border-radius:2px;width:9px;height:9px;margin-left:8px;display:inline-block}.sc-courses{flex-direction:column;flex:auto;justify-content:space-around;gap:4px;min-height:0;display:flex}.sc-course-top{justify-content:space-between;margin-bottom:2px;font-size:12px;display:flex}.sc-course-num{color:#94a3b8;font-variant-numeric:tabular-nums}.sc-alerts,.sc-feed{flex-direction:column;flex:auto;gap:7px;min-height:0;display:flex}.sc-alert,.sc-feed-item{cursor:default;background:#94a3b80d;border-radius:7px;align-items:center;gap:8px;padding:5px 6px;font-size:12px;display:flex}.sc-alert:hover{cursor:pointer;background:#22d3ee14}.sc-dot{border-radius:50%;flex:none;width:7px;height:7px}.sc-alert-time,.sc-feed-time{color:#7c8aa5;font-variant-numeric:tabular-nums;flex:none;font-size:11px}.sc-alert-area{color:#a5b4fc;flex:none;font-size:11px}.sc-alert-msg,.sc-feed-msg{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.sc-foot{z-index:2;background:linear-gradient(#0d152600,#0d1526b3);border-top:1px solid #22d3ee29;flex:none;align-items:center;gap:16px;height:34px;padding:0 18px;font-size:12px;display:flex;position:relative}.sc-foot-badge{color:#34d399;flex:none}.sc-foot-ver{color:#64748b;flex:none}.sc-ticker-wrap{flex:auto;min-width:0;overflow:hidden}.sc-ticker{white-space:nowrap;gap:48px;animation:32s linear infinite scMarquee;display:inline-flex}.sc-ticker-item{color:#94a3b8}.sc-ticker-item:before{content:"▶";color:#22d3ee;margin-right:8px;font-size:9px}@keyframes scPulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes scFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes scMarquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=1280px){.sc-cols{grid-template-columns:1fr 1fr}.sc-col-mid{grid-column:1/-1}.sc-kpis{flex-wrap:wrap}.sc-kpi{flex:30%}}@media (width<=820px){.sc-cols{grid-template-columns:1fr}.sc-kpi{flex:45%}.sc-head-center .sc-h2{display:none}}.bld{align-items:stretch;gap:14px;display:flex;position:relative}.bld-riser{background:#94a3b829;border-radius:5px;flex:0 0 8px;position:relative;overflow:hidden}.bld-riser.live{background:linear-gradient(#22d3ee73,#3b82f62e)}.bld-riser .bld-spark{background:radial-gradient(circle,#22d3eef2,#0000 70%);border-radius:8px;width:14px;height:30px;animation:3.1s ease-in-out bldRise;position:absolute;bottom:0;left:-3px}@keyframes bldRise{0%{opacity:0;bottom:-6%}8%{opacity:1}to{opacity:0;bottom:104%}}.bld-tower{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.bld-roof{background:linear-gradient(90deg,#22d3ee47,#3b82f61f);border-radius:14px 14px 0 0;height:16px;margin:0 22px;box-shadow:0 -6px 22px #22d3ee24}.bld-base{background:#64748b47;border-radius:0 0 16px 16px;height:12px;margin:0 10px}.bld-floor{cursor:pointer;background:#94a3b80d;border:1px solid #94a3b829;border-radius:12px;align-items:center;gap:14px;padding:10px 14px;transition:background .5s,border-color .5s,box-shadow .5s,opacity .4s;display:flex;position:relative;overflow:hidden}.bld-floor:hover{border-color:#22d3ee66}.bld-floor.on{background:linear-gradient(90deg,#22d3ee1a,#3b82f608);border-color:#22d3ee73;box-shadow:inset 0 0 0 1px #22d3ee24,0 8px 30px #22d3ee1f}.bld-floor.off{opacity:.5}.bld-floor.degraded{background:linear-gradient(90deg,#f871711a,#f8717105);border-color:#f871718c;animation:1.9s ease-in-out infinite bldBreathe}@keyframes bldBreathe{0%,to{box-shadow:inset 0 0 0 1px #f8717138}50%{box-shadow:0 0 26px #f8717152}}.bld-floor.powering:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#22d3ee61,#0000);animation:.85s bldSweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes bldSweep{to{transform:translate(100%)}}.bld-badge{border:1px solid #94a3b833;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-weight:700;line-height:1.1;transition:all .4s;display:flex}.bld-floor.on .bld-badge{color:#22d3ee;border-color:#22d3ee80}.bld-floor.degraded .bld-badge{color:#f87171;border-color:#f8717199}.bld-badge small{opacity:.7;font-size:9px;font-weight:500}.bld-wins{flex-wrap:wrap;flex:auto;align-content:center;gap:4px;min-width:0;min-height:34px;display:flex}.bld-win{background:#94a3b82e;border-radius:2px;width:9px;height:15px;transition:background .3s,box-shadow .3s,transform .3s}.bld-floor.on .bld-win{animation:.5s both bldWin}@keyframes bldWin{0%{opacity:.25;transform:scaleY(.35)}to{opacity:1;transform:scaleY(1)}}.bld-side{flex-direction:column;flex:none;align-items:flex-end;gap:4px;min-width:132px;display:flex}.bld-chips{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.bld-chip{color:#94a3b8;white-space:nowrap;background:#94a3b81f;border-radius:5px;height:17px;padding:0 5px;font-size:10px;line-height:17px}@media (width<=900px){.bld-side{min-width:0}.bld-chips{display:none}}.bld-floor.booting{background:linear-gradient(90deg,#38bdf812,#0000);border-color:#38bdf86b}.bld-floor.booting .bld-win{animation:1s ease-in-out infinite bldBoot}@keyframes bldBoot{0%,to{opacity:.35}50%{opacity:.9}}.bld-boot-bar{background:#94a3b833;border-radius:2px;width:100%;height:3px;overflow:hidden}.bld-boot-bar>i{background:linear-gradient(90deg,#22d3ee,#34d399);height:100%;transition:width .12s linear;display:block}.loadmap{flex-direction:column;gap:8px;display:flex}.load-floor{background:#94a3b80a;border:1px solid #94a3b824;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;transition:background .4s,border-color .4s;display:flex}.load-floor.over{background:linear-gradient(90deg,#f8717114,#0000);border-color:#f8717180;animation:2s ease-in-out infinite bldBreathe}.load-badge{border:1px solid #94a3b833;border-radius:9px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;display:flex}.load-floor.over .load-badge{color:#f87171;border-color:#f8717199}.load-main{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.load-zone{cursor:pointer;border-radius:8px;padding:2px 4px;transition:background .15s}.load-zone:hover{background:#22d3ee0f}.load-bar{background:#94a3b829;border-radius:6px;height:12px;overflow:hidden}.load-bar>i{border-radius:6px;height:100%;transition:width .6s;display:block}.load-side{flex-direction:column;flex:none;align-items:flex-end;gap:4px;min-width:96px;display:flex}.fp-dots{align-items:center;gap:6px;margin-top:8px;display:flex}.fp-dot{border-radius:50%;width:12px;height:12px;box-shadow:inset 0 0 0 1px #0000002e}.twin3d-page{background:#050b16;border:1px solid #22d3ee2e;border-radius:14px;height:calc(100vh - 88px);min-height:560px;margin:-8px -4px 0;position:relative;overflow:hidden}.twin3d-canvas{position:absolute;inset:0}.twin3d-canvas canvas{display:block;width:100%!important;height:100%!important}.twin3d-webgl-fallback{z-index:2;background:radial-gradient(at 40% 30%,#0e74902e,#0000 55%),#050b16;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.twin3d-webgl-fallback-card{flex-direction:column;gap:10px;max-width:420px;padding:22px 24px;display:flex}.twin3d-webgl-fallback-card h3{color:#e2e8f0;margin:0;font-size:16px;font-weight:700}.twin3d-webgl-fallback-card p{color:#94a3b8;margin:0;font-size:13px;line-height:1.55}.twin3d-webgl-fallback-hint{opacity:.85;color:#67e8f9!important}.twin3d-webgl-fallback-card .ant-btn{align-self:flex-start;margin-top:4px}.twin3d-hud{z-index:5;pointer-events:none;position:absolute}.twin3d-hud>*{pointer-events:auto}.twin3d-hud-top{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex;top:12px;left:12px;right:340px}.twin3d-hud-bottom{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex;bottom:12px;left:12px;right:340px}.twin3d-kpi{color:#94a3b8;gap:14px;padding:10px 14px;font-size:12px;display:flex}.twin3d-kpi>div{align-items:baseline;gap:6px;display:flex}.twin3d-kpi b{color:#e2e8f0;font-variant-numeric:tabular-nums;font-size:18px}.twin3d-kpi i{color:#64748b;font-size:11px;font-style:normal}.twin3d-title{text-align:center;min-width:220px;padding:10px 16px}.twin3d-title-main{color:#e2e8f0;letter-spacing:.02em;font-size:14px;font-weight:700}.twin3d-phase{margin-top:2px;font-size:12px;font-weight:600}.twin3d-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;padding:8px 10px;display:flex}.twin3d-legend{color:#94a3b8;flex-wrap:wrap;gap:10px;padding:8px 12px;font-size:11px;display:flex}.twin3d-legend i{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.twin3d-hall-btns{gap:8px;padding:8px 10px;display:flex}.twin3d-hint{color:#64748b;padding:8px 12px;font-size:11px}.twin3d-side{z-index:6;pointer-events:none;flex-direction:column;gap:8px;width:316px;display:flex;position:absolute;top:12px;bottom:12px;right:12px}.twin3d-side>*{pointer-events:auto}.twin3d-side-list{flex-direction:column;flex:42%;min-height:160px;padding:10px;display:flex;overflow:hidden}.twin3d-detail{flex:0 auto;max-height:42%;padding:10px;overflow:auto}.twin3d-detail-empty{text-align:center;color:#64748b;justify-content:center;align-items:center;min-height:88px;padding:20px;font-size:12px;display:flex}.twin3d-log{flex-direction:column;flex:0 0 112px;padding:8px 10px;display:flex;overflow:hidden}.twin3d-side-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.twin3d-side-head b{color:#e2e8f0;font-size:13px}.twin3d-muted{color:#64748b;font-family:ui-monospace,monospace;font-size:11px}.twin3d-floor-summary{background:#22d3ee0f;border:1px solid #22d3ee26;border-radius:8px;margin-bottom:8px;padding:8px}.twin3d-floor-summary>div:first-child{justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.twin3d-floor-summary span{color:#64748b;font-size:11px}.twin3d-dev-list{flex-direction:column;flex:1;gap:4px;display:flex;overflow:auto}.twin3d-dev-row{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:7px 8px;transition:background .15s,border-color .15s;display:flex}.twin3d-dev-row.on{background:#22d3ee1f;border-color:#22d3ee66}.twin3d-dot{border-radius:50%;flex:none;width:8px;height:8px}.twin3d-dev-meta{flex-direction:column;flex:1;min-width:0;display:flex}.twin3d-dev-meta b{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.twin3d-dev-meta span{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.twin3d-empty{text-align:center;color:#64748b;padding:16px;font-size:12px}.twin3d-slider{margin-top:8px}.twin3d-slider>span{color:#94a3b8;font-size:11px}.twin3d-redline{color:#fca5a5;background:#f8717114;border:1px solid #f8717140;border-radius:8px;margin-top:10px;padding:8px;font-size:11px}.twin3d-log-body{flex:1;font-size:10px;overflow:auto}.twin3d-log-row{color:#94a3b8;border-bottom:1px solid #94a3b814;grid-template-columns:36px 1fr 1.2fr 52px;gap:4px;padding:3px 0;display:grid}.twin3d-log-row .t{color:#64748b;font-variant-numeric:tabular-nums}.twin3d-log-row .g{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.twin3d-log-row .a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.twin3d-batch{z-index:7;white-space:nowrap;align-items:center;gap:12px;padding:10px 14px;display:flex;position:absolute;bottom:64px;left:50%;transform:translate(-50%)}.twin3d-tip{color:#e2e8f0;white-space:nowrap;background:#081020e6;border:1px solid #22d3ee59;border-radius:8px;flex-direction:column;gap:2px;padding:6px 10px;font-size:11px;display:flex}.twin3d-flabel{color:#94a3b8;background:#081020bf;border:1px solid #94a3b840;border-radius:6px;flex-direction:column;align-items:flex-start;min-width:64px;padding:4px 8px;font-size:10px;display:flex}.twin3d-flabel.on{background:#06b6d426;border-color:#22d3ee8c}@media (width<=1100px){.twin3d-side{width:280px}.twin3d-hud-top,.twin3d-hud-bottom{right:292px}}@media (width<=860px){.twin3d-page{height:auto;min-height:720px}.twin3d-side{width:auto;max-height:none;margin-top:52vh;padding:8px;position:relative;top:auto;bottom:auto;right:auto}.twin3d-canvas{height:52vh;position:absolute;top:0;left:0;right:0}.twin3d-hud-top,.twin3d-hud-bottom{right:12px}.twin3d-hud-bottom{top:calc(52vh - 52px);bottom:auto}}.twin3d-page{isolation:isolate;background:radial-gradient(at 48% 36%,#145b7a2e,#0000 38%),linear-gradient(155deg,#07101d 0%,#02050c 58%,#060b14 100%);border-color:#59d2f247;box-shadow:inset 0 0 80px #071e3166,0 18px 48px #0f172a29}.twin3d-page:before{content:"";z-index:2;pointer-events:none;mix-blend-mode:screen, screen, normal;background:linear-gradient(90deg,#45c7e706 1px,#0000 1px) 0 0/56px 56px,linear-gradient(#45c7e705 1px,#0000 1px) 0 0/56px 56px,radial-gradient(circle at 46% 47%,#0000 36%,#0003095c 100%);position:absolute;inset:0}.twin3d-page:after{content:"";z-index:8;pointer-events:none;opacity:.72;background:linear-gradient(90deg,#0000,#43d8fa 22%,#7b8cff 50%,#43d8fa 78%,#0000);height:3px;position:absolute;top:0;left:0;right:0;box-shadow:0 0 16px #43d8faa6}.twin3d-canvas{z-index:1;transition:left .24s,right .24s;left:198px;right:354px}.twin3d-side-collapsed .twin3d-canvas{right:14px}.twin3d-glass{-webkit-backdrop-filter:blur(18px)saturate(125%);background:linear-gradient(145deg,#0a1424e3,#050c18c2);border:1px solid #5fcdeb33;border-radius:13px;box-shadow:inset 0 1px #ffffff09,0 12px 35px #00000057}.twin3d-hud-top{flex-wrap:nowrap;align-items:stretch;gap:9px;top:14px;left:14px;right:354px}.twin3d-title{text-align:left;align-items:center;gap:10px;min-width:304px;padding:9px 12px;display:flex}.twin3d-brand-mark{background:linear-gradient(145deg,#36cff347,#5e67ff38);border:1px solid #5bddfa61;border-radius:10px;flex:none;width:34px;height:34px;position:relative;box-shadow:inset 0 0 18px #36cff31f}.twin3d-brand-mark:before,.twin3d-brand-mark:after,.twin3d-brand-mark span,.twin3d-brand-mark i{content:"";border:1px solid #6ce3fc;border-radius:2px;position:absolute}.twin3d-brand-mark:before{width:16px;height:10px;top:7px;left:8px;transform:skewY(-18deg)}.twin3d-brand-mark:after{opacity:.65;width:16px;height:10px;top:16px;left:8px;transform:skewY(18deg)}.twin3d-brand-mark span{background:#d9faff;border:0;width:4px;height:4px;top:14px;left:15px;box-shadow:0 0 9px #6ce3fc}.twin3d-brand-mark i{border-color:#6ce3fc29;border-radius:7px;inset:4px}.twin3d-title-copy{flex:1;min-width:0}.twin3d-title-main{letter-spacing:.08em;color:#eefaff;white-space:nowrap;font-size:13px}.twin3d-title-sub{letter-spacing:.17em;color:#5e829b;white-space:nowrap;margin-top:2px;font-size:8px}.twin3d-phase{white-space:nowrap;background:#ffffff09;border:1px solid;border-radius:999px;align-items:center;gap:6px;margin:0;padding:5px 7px;font-size:10px;display:flex}.twin3d-phase i{background:currentColor;border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px}.twin3d-kpi{flex:520px;gap:0;min-width:470px;padding:0;overflow:hidden}.twin3d-kpi>div{border-left:1px solid #6dc9e41a;flex:1;min-width:104px;padding:8px 12px;display:block;position:relative}.twin3d-kpi>div:first-child{border-left:0}.twin3d-kpi>div:after{content:"";opacity:.45;background:linear-gradient(90deg,#3ad6f980,#0000);height:2px;position:absolute;bottom:0;left:12px;right:12px}.twin3d-kpi>div.warn:after{opacity:.8;background:linear-gradient(90deg,#fbbf24,#0000)}.twin3d-kpi span{color:#66869b;letter-spacing:.08em;font-size:9px;display:block}.twin3d-kpi p{align-items:baseline;gap:4px;margin:1px 0 0;display:flex}.twin3d-kpi b{color:#edfaff;font-size:17px;line-height:1.12}.twin3d-kpi i{color:#6b8ca2;font-size:9px}.twin3d-kpi em{color:#48697d;white-space:nowrap;margin-top:1px;font-size:8px;font-style:normal;display:block}.twin3d-kpi .warn b{color:#ffd25e;text-shadow:0 0 12px #fbbf2440}.twin3d-tools{flex:none;align-content:center;max-width:460px;margin-left:0;padding:7px 8px}.twin3d-tools .ant-segmented{background:#0309139e}.twin3d-tools .ant-segmented-item{color:#7e9aab;font-size:10px}.twin3d-tools .ant-segmented-item-selected{color:#dff9ff;background:#228ba957;box-shadow:inset 0 0 0 1px #5edaf729}.twin3d-tools .ant-btn{color:#91aebe;background:#050e1b9e;border-color:#64bdd638;font-size:10px}.twin3d-floor-rail{z-index:6;flex-direction:column;gap:3px;width:184px;padding:9px;display:flex;position:absolute;top:82px;left:14px}.twin3d-floor-rail-head{border-bottom:1px solid #64bed81f;justify-content:space-between;align-items:center;padding:2px 3px 7px;display:flex}.twin3d-floor-rail-head span{color:#7694a8;letter-spacing:.12em;font-size:9px}.twin3d-floor-rail-head i{color:#45e5b1;letter-spacing:.12em;font-size:8px;font-style:normal}.twin3d-floor-rail button{width:100%;height:39px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:31px 1fr 6px;align-items:center;gap:7px;padding:0 8px;transition:background .18s,border-color .18s,transform .18s;display:grid}.twin3d-floor-rail button:hover{background:#34c7ea12;transform:translate(2px)}.twin3d-floor-rail button.on{background:linear-gradient(90deg,#29bde133,#29bde109);border-color:#4cd2f047}.twin3d-floor-rail button>span{color:#7d9aaa;font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace}.twin3d-floor-rail button.on>span{color:#8feaff;text-shadow:0 0 12px #53ddfa99}.twin3d-floor-rail button div{flex-direction:column;min-width:0;display:flex}.twin3d-floor-rail button b{color:#afc2cf;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.twin3d-floor-rail button em{color:#46677b;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-style:normal;overflow:hidden}.twin3d-floor-rail button>i{background:#36d399;border-radius:50%;width:5px;height:5px;box-shadow:0 0 7px #34d39999}.twin3d-floor-rail button.alarm>i{background:#ff6b5f;box-shadow:0 0 8px #ff6b5fbf}.twin3d-floor-rail button.warn>i{background:#fbbf24;box-shadow:0 0 8px #fbbf24a6}.twin3d-floor-rail-foot{border-top:1px solid #64bed81f;flex-direction:column;gap:1px;margin:5px 2px 0;padding:7px 6px 2px;display:flex}.twin3d-floor-rail-foot span{color:#45687d;font-size:8px}.twin3d-floor-rail-foot b{color:#7da1b4;font-size:8px;font-weight:500}.twin3d-side{gap:9px;width:326px;top:14px;bottom:14px;right:14px}.twin3d-side-toggle{z-index:9;color:#83acbe;cursor:pointer;background:#06111feb;border:1px solid #52c1dc4d;border-radius:7px 0 0 7px;place-items:center;width:30px;height:34px;padding:0;transition:right .24s,color .16s,background .16s;display:grid;position:absolute;top:84px;right:346px;box-shadow:-6px 8px 22px #00000047}.twin3d-side-toggle:hover{color:#e1faff;background:#176176eb}.twin3d-side-toggle span{letter-spacing:0;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.twin3d-side-collapsed .twin3d-side-toggle{border-radius:7px;right:14px}.twin3d-side-collapsed .twin3d-hud-top,.twin3d-side-collapsed .twin3d-hud-bottom{right:14px}.twin3d-side-list,.twin3d-detail,.twin3d-log{border-color:#5cc7e52e}.twin3d-side-list{padding:11px}.twin3d-side-head b{color:#d9edf5;letter-spacing:.03em}.twin3d-floor-summary{background:linear-gradient(135deg,#2cb8db1c,#3554ab0f);border-color:#47c8e733}.twin3d-dev-row{border-radius:9px;padding:8px}.twin3d-dev-row:hover{background:#34c4e813}.twin3d-dev-row.on{background:linear-gradient(90deg,#29bade2b,#29bade0a);border-color:#4bd1f159;box-shadow:inset 3px 0 #48d8f7}.twin3d-dev-meta b{color:#bed2dd}.twin3d-dev-meta span{color:#4f7185}.twin3d-log{flex-basis:118px}.twin3d-log-row{color:#7390a1}.twin3d-page .ant-select-selector,.twin3d-page .ant-input,.twin3d-page .ant-input-affix-wrapper,.twin3d-page .ant-input-group-addon,.twin3d-page .ant-input-search-button{color:#b9d0dc!important;box-shadow:none!important;background:#040c18b8!important;border-color:#5cabc533!important}.twin3d-page .ant-select-selection-placeholder,.twin3d-page .ant-input::placeholder{color:#46677a!important}.twin3d-page .ant-select-arrow,.twin3d-page .ant-input-search-button{color:#6e91a3!important}.twin3d-page .ant-select-focused .ant-select-selector,.twin3d-page .ant-input:focus,.twin3d-page .ant-input-affix-wrapper-focused{border-color:#4cd3f17a!important;box-shadow:0 0 0 2px #30c2e414!important}.twin3d-page .ant-btn-default,.twin3d-page .ant-btn-color-default{color:#91adbb;box-shadow:none;background:#081322c7;border-color:#5bacc638}.twin3d-page .ant-btn-default:hover,.twin3d-page .ant-btn-color-default:hover{color:#d8f7ff!important;background:#196a804d!important;border-color:#4cd3f180!important}.twin3d-page .ant-checkbox-inner{background:#040c17d1;border-color:#65a3b761}.twin3d-page .ant-tag{color:#94b2c0;background:#162b37b8;border-color:#7aacbc33}.twin3d-page .ant-tag-green{color:#5ee0ad;background:#16654a38;border-color:#34d39947}.twin3d-page .ant-tag-gold{color:#ffd15a;background:#835b0f3d;border-color:#fbbf244d}.twin3d-page .ant-tag-red{color:#ff8b86;background:#7f1d1d3d;border-color:#f871714d}.twin3d-page .ant-segmented{color:#7897a8;background:#040c17b3}.twin3d-page .ant-segmented-item-selected{color:#e2faff;background:#1d758e5c;box-shadow:inset 0 0 0 1px #4bcdeb29}.twin3d-hud-bottom{bottom:14px;left:214px;right:354px}.twin3d-legend{color:#7895a6;gap:12px;padding:8px 11px}.twin3d-legend i{border-radius:50%;box-shadow:0 0 7px}.twin3d-hall-btns{padding:7px 9px}.twin3d-hall-btns .ant-btn{border-radius:7px;height:30px;font-size:11px}.twin3d-hint{color:#58778a;align-items:center;gap:7px;display:flex}.twin3d-hint>i{border:1px solid #58d6f4;border-radius:50%;width:6px;height:6px;box-shadow:0 0 9px #58d6f4a6}.twin3d-tip{background:linear-gradient(145deg,#071221f7,#050a16f0);border-color:#57d8f66b;min-width:154px;padding:9px 11px;box-shadow:0 10px 26px #0000006b,inset 0 0 20px #2ab4d70f}.twin3d-tip-head{align-items:center;gap:7px;display:flex}.twin3d-tip-head i{border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px}.twin3d-tip b{color:#e6f8ff;font-size:10px}.twin3d-tip span{color:#66879a;font-size:8px}.twin3d-tip em{color:#89a9ba;font-size:8px;font-style:normal}.twin3d-tip.alarm{border-color:#fbbf2499}.twin3d-tip.offline{border-color:#64748b8c}.twin3d-flabel{background:linear-gradient(120deg,#06101de0,#050a13ad);border-color:#6ea7bd33;border-radius:8px;align-items:stretch;gap:1px;min-width:92px;padding:6px 8px;box-shadow:0 5px 18px #00000047}.twin3d-flabel>div{justify-content:space-between;align-items:center;display:flex}.twin3d-flabel>div i{background:#34d399;border-radius:50%;width:5px;height:5px;box-shadow:0 0 7px #34d399b3}.twin3d-flabel strong{color:#83dff5;font-size:11px}.twin3d-flabel span{color:#9ab1be;font-size:8px}.twin3d-flabel em{color:#496b7d;white-space:nowrap;font-size:7px;font-style:normal}.twin3d-flabel.warn>div i{background:#fbbf24;box-shadow:0 0 7px #fbbf24b3}.twin3d-flabel.alarm>div i{background:#f87171;box-shadow:0 0 7px #f87171c7}.twin3d-flabel.on{background:linear-gradient(120deg,#106b858a,#061f32c2);border-color:#4fdaf9a3;transform:scale(1.07);box-shadow:0 0 22px #33c9ec29}.twin3d-batch{border-color:#51d6f659;bottom:70px}@media (width<=1320px){.twin3d-kpi{min-width:360px}.twin3d-kpi>div{min-width:84px;padding-inline:9px}.twin3d-kpi em{display:none}.twin3d-title{min-width:250px}.twin3d-title-sub{display:none}.twin3d-tools{position:absolute;top:58px;right:0}}@media (width<=1060px){.twin3d-floor-rail{display:none}.twin3d-canvas,.twin3d-hud-bottom{left:14px}.twin3d-title{min-width:210px}.twin3d-kpi>div:nth-child(4){display:none}}@media (width<=860px){.twin3d-canvas,.twin3d-side-collapsed .twin3d-canvas{left:0;right:0}.twin3d-side-toggle{display:none}.twin3d-hud-top{flex-wrap:wrap;right:12px}.twin3d-title{flex:230px}.twin3d-kpi{flex:100%;min-width:0}.twin3d-tools{display:none}.twin3d-hud-bottom{right:12px}}.app-loading{color:#475569;background:#f8fafc;place-items:center;min-height:100vh;font-size:14px;display:grid}.redirect-overlay{z-index:1100;background:#0b122073;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.redirect-overlay-card{background:#fff;border-radius:14px;justify-content:center;align-items:center;min-width:220px;padding:28px 40px;display:flex;box-shadow:0 12px 40px #0000002e}:root{--chrome-header-h:56px;--chrome-sider-w:252px;--chrome-tabs-h:40px;--chrome-content-pad:20px;--chrome-content-pad-sm:12px;--chrome-divider:#0f172a17;--chrome-divider-strong:#0f172a29;--chrome-title-fs:16px;--chrome-crumb-fs:13px;--chrome-focus:var(--yx-primary-strong)}html[data-theme=dark]{--chrome-divider:#94a3b82e;--chrome-divider-strong:#94a3b84d;--chrome-focus:var(--yx-primary)}.chrome-state{justify-content:center;align-items:center;gap:var(--sp-3);min-height:260px;padding:var(--sp-8) var(--sp-6);text-align:center;flex-direction:column;display:flex}.chrome-state--fill{height:100%;min-height:320px}.chrome-breadcrumb{align-items:center;min-width:0;display:flex}.chrome-breadcrumb .ant-breadcrumb{font-size:var(--chrome-crumb-fs)}.skip-link{z-index:2100;border-radius:var(--radius-md);color:#f8fafc;box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;background:#0f172a;padding:8px 16px;font-size:14px;text-decoration:none;transition:transform .15s,opacity .15s;position:fixed;top:12px;left:12px;transform:translateY(-64px)}html[data-theme=dark] .skip-link{color:#0f172a;background:#e2e8f0}.skip-link:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--chrome-focus);outline-offset:2px;transform:translateY(0)}.app-sider .ant-menu-item:focus-visible,.app-sider .ant-menu-submenu-title:focus-visible,.chrome-focusable:focus-visible{outline:2px solid var(--chrome-focus);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.skip-link,.chrome-state,.chrome-breadcrumb{transition:none!important;animation:none!important}}:root{--color-bg:#f3f5f8;--color-surface:#fff;--color-text:#1d1d1f;--color-text-muted:#6e6e73;--color-text-faint:#86868b;--color-primary:#1f4e79;--color-primary-pressed:#163a5c;--color-primary-fill:#1f4e791a;--color-border:#e4e8ee;--color-fill:#1f4e790a;--color-fill-strong:#1f4e7914;--color-success:#248a3d;--color-warning:#b25000;--color-danger:#d70015;--color-info:#0071e3;--color-primary-bg:#e4f0fa;--color-success-bg:#e3f6ea;--color-warning-bg:#fff6e8;--color-danger-bg:#ffe7e6;--color-info-bg:#e6f7ff;--color-focus:#1f4e79;--color-header:#fff;--color-header-fg:#1d1d1f;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--radius-sm:4px;--radius-md:6px;--radius-lg:6px;--radius-pill:999px;--shadow-1:0 1px 2px #0000000f, 0 1px 1px #0000000a;--shadow-2:0 8px 28px #0000001f, 0 2px 8px #0000000f;--duration-instant:80ms;--duration-fast:.16s;--duration-base:.22s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--focus-ring-width:3px;--focus-ring-offset:2px;--shell-width:232px}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.47}button,a,input,textarea,select{font-family:inherit}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell.ant-layout{background:var(--color-bg);min-height:100%}.shell-header.ant-layout-header{z-index:40;box-sizing:border-box;height:var(--chrome-header-h,56px);background:var(--color-header);color:var(--color-header-fg);border-bottom:1px solid var(--color-border);box-shadow:none;align-items:stretch;gap:8px;padding-inline:20px 12px;line-height:1.2;display:flex;position:sticky;top:0}.shell-header-brand,.shell-mobile-brand{min-width:0;max-width:220px;color:var(--color-header-fg);flex-direction:column;flex:none;justify-content:center;align-self:center;line-height:1.2;text-decoration:none;display:flex}.shell-header-brand-name,.shell-mobile-brand-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:16px;font-weight:650;display:block;overflow:hidden}.shell-header-brand-meta,.shell-mobile-brand-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);margin-top:2px;font-size:13px;display:block;overflow:hidden}.shell-header-nav{flex:1;align-items:stretch;min-width:0;display:flex}.shell-header-nav .ant-menu-horizontal{background:0 0;border-bottom:0;flex:1;height:100%;line-height:1.2}.shell-header-nav .ant-menu-horizontal>.ant-menu-item,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu{height:100%;color:var(--color-text);background:0 0;border-radius:0;align-items:center;margin:0;padding-inline:12px;line-height:1.2;display:inline-flex;top:0}.shell-header-nav .ant-menu-horizontal>.ant-menu-item:hover,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu:hover,.shell-header-nav .ant-menu-horizontal>.ant-menu-item-active,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-active,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-open{color:var(--color-text);background:var(--color-fill)}.shell-header-nav .ant-menu-horizontal>.ant-menu-item:hover:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu:hover:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-item-active:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-active:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-open:after{border-bottom-color:#0000}.shell-header-nav .ant-menu-horizontal>.ant-menu-item-selected,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-selected,.shell-header-nav .ant-menu-horizontal>.ant-menu-item-selected:hover,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-selected:hover{color:var(--color-primary);background:0 0}.shell-header-nav .ant-menu-horizontal>.ant-menu-item-selected:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-selected:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-item-selected:hover:after,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu-selected:hover:after{border-bottom-style:solid;border-bottom-width:2px;border-bottom-color:var(--color-primary);bottom:-1px;inset-inline:14px}.shell-header-extra{flex:none;align-self:center;align-items:center;gap:8px;min-width:0;display:flex}.shell-header-extra .ant-btn-text,.shell-header-extra .shell-user-name,.shell-header-extra .ant-typography{color:var(--color-text)}.shell-header-extra .ant-btn-text:hover{color:var(--color-text);background:var(--color-fill-strong)}.shell-capsule{border-radius:var(--radius-sm);background:var(--color-fill-strong);color:var(--color-text-muted);align-items:center;gap:6px;padding:2px 8px;font-size:12px;display:inline-flex}.shell-capsule.is-warn{color:var(--color-warning);background:var(--color-warning-bg)}.shell-user{align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.shell-user-name{text-overflow:ellipsis;white-space:nowrap;font-weight:510;overflow:hidden}.shell-body.ant-layout{background:var(--color-bg)}.shell-sider.ant-layout-sider{background:var(--color-surface);border-right:1px solid var(--color-border)}.shell--header-static .shell-header.ant-layout-header{position:static}.shell--sider-fixed .shell-sider.ant-layout-sider{top:var(--chrome-header-h,56px);height:calc(100vh - var(--chrome-header-h,56px));align-self:flex-start;position:sticky}.shell--content-fixed .shell-main{width:min(1200px,100%);margin-inline:auto}.shell-sider-nav.shell-sider-nav{height:calc(100vh - var(--chrome-header-h,56px));padding:12px 8px;overflow:auto}.shell-sider-nav .ant-menu-inline{border-inline-end:0}.shell-sider-nav .ant-menu-item-group-title{padding:14px 12px 4px;font-size:13px;font-weight:650;line-height:1.4}.shell-sider-nav .ant-menu-item-group-list .ant-menu-item{margin-block:2px}.shell-brand{color:var(--color-text);padding:16px 16px 12px;text-decoration:none;display:block}.shell-brand-name{font-family:var(--font-display);font-size:16px;font-weight:650;line-height:1.25;display:block}.shell-brand-meta{color:var(--color-text-muted);margin-top:2px;font-size:13px;display:block}.shell-main{min-width:0;padding:var(--shell-main-pad,24px 28px 40px);flex:1}.shell-mobile-menu{border:1px solid var(--color-border);border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text);cursor:pointer;background:0 0;justify-content:center;align-self:center;align-items:center;margin:0;padding:0;font-size:18px;display:inline-flex}.shell-banner{border-radius:var(--radius-md);color:var(--color-warning);background:#b2500014;margin:-8px 0 20px;padding:10px 14px;font-size:13px}.shell-drawer-nav{box-sizing:border-box;background:var(--color-surface);flex-direction:column;height:100%;min-height:0;padding:8px 8px 16px;display:flex}.shell-drawer-close{border-radius:var(--radius-md);color:var(--color-text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin-top:8px;padding:10px 12px;font-size:13px}.shell-drawer-close:hover{background:var(--color-fill);color:var(--color-text)}@media (width<=960px){.shell-header-extra .shell-user{display:none}.shell-main{padding:20px 16px 40px}}.page{flex-direction:column;gap:16px;display:flex}.page--fill{height:100%;min-height:0}.page>.page-hero{margin-bottom:0}.page-hero{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.page-hero h1{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:34px;font-weight:700;line-height:1.12}.page-hero p{color:var(--color-text-muted);margin:6px 0 0;font-size:15px}.page-hero-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.page-hero--actions{align-items:center;width:100%;margin-bottom:0;display:flex}.page-hero--actions>.page-hero-actions{width:100%}.panel-head:not(:has(button,.ant-btn,.ant-tag,a)):has(+.panel-body>.filter-bar){display:none}.page-hero-marker{display:none}.page-actions-host{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.filter-bar>.list-toolbar,.filter-bar.ant-space{flex:auto;width:100%;min-width:0}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.kpis{margin-bottom:20px;display:grid}.kpis-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpis-5,.kpis-compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.kpis-strip{width:auto;max-width:100%;box-shadow:none;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:4px 20px;margin-bottom:8px;display:flex}.kpis-strip .kpi,.kpis-strip button.kpi{background:0 0;flex-direction:row;align-items:baseline;gap:6px;width:auto;height:auto;min-height:0;padding:0;display:inline-flex}.kpis-strip .kpi-label{white-space:nowrap;margin-bottom:0}.kpis-strip .kpi-value{font-size:15px}.kpis-strip .kpi.is-on,.kpis-strip button.kpi.is-on{background:0 0}.kpis-strip .kpi.is-on .kpi-label,.kpis-strip .kpi.is-on .kpi-value{color:var(--color-primary)}.kpis-strip .kpi+.kpi{border:0}.kpi{min-width:0;padding:22px 24px}button.kpi{width:100%;height:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;display:block}button.kpi:hover{background:var(--color-fill)}.kpis-3 .kpi:not(:nth-child(3n+1)),.kpis-4 .kpi:not(:nth-child(4n+1)),.kpis-5 .kpi:not(:nth-child(5n+1)){border-left:1px solid var(--color-border)}.kpi-label{color:var(--color-text-muted);margin-bottom:8px;font-size:13px;display:block}.kpi-value{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:650;line-height:1.1}.kpi-affix{font-family:var(--font-sans);letter-spacing:0;color:var(--color-text-muted);font-size:15px;font-weight:510}.kpi-affix:first-child{margin-right:6px}.kpi-value>.kpi-affix:last-child{margin-left:6px}.kpi-sub{color:var(--color-text-muted);margin-top:8px;font-size:13px;line-height:1.4}.panel{margin-bottom:20px;overflow:visible}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;padding:16px 20px 0;display:flex}.panel-head h2{letter-spacing:-.02em;margin:0;font-size:17px;font-weight:650}.panel-head a{color:var(--color-primary);font-size:14px;font-weight:510;text-decoration:none}.panel-head a:hover{text-decoration:underline}.panel-body{padding:8px 8px 12px}.panel-empty,.panel-muted{color:var(--color-text-muted);padding:16px 20px 20px;font-size:14px}.list-row{border-radius:var(--radius-md);width:100%;color:inherit;text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);background:0 0;border:0;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:12px;text-decoration:none;display:grid}.list-row:hover{background:var(--color-fill)}.list-row-title{font-weight:510;display:block}.list-row-sub{color:var(--color-text-muted);margin-top:2px;font-size:13px;display:block}.list-row-meta{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:13px}.pill{border-radius:var(--radius-pill);background:var(--color-fill-strong);color:var(--color-text-muted);align-items:center;padding:2px 8px;font-size:12px;font-weight:510;display:inline-flex}.pill.is-live{color:var(--color-success);background:#248a3d1f}.pill.is-bad{color:var(--color-danger);background:#d700151a}.pill.is-ok{background:var(--color-fill-strong);color:var(--color-text)}.empty-hint{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-wrap:anywhere;max-width:100%;padding:36px 24px}.empty-hint h3{margin:0 0 8px;font-size:17px}.empty-hint p{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0 0 12px}.empty-hint a,.empty-hint-action{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-block}.facet{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:inherit;cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:inline-flex}.facet.is-on{border-color:var(--color-text);background:var(--color-fill-strong)}.quota-track{border-radius:var(--radius-pill);background:var(--color-fill-strong);height:6px;overflow:hidden}.quota-fill{border-radius:inherit;background:var(--color-text);height:100%}.quota-fill.is-full{background:var(--color-danger)}@media (width<=960px){.kpis-3,.kpis-4,.kpis-5,.kpis-compact{grid-template-columns:1fr}.kpis-3 .kpi,.kpis-4 .kpi,.kpis-5 .kpi,.kpis-compact .kpi,.kpis-strip .kpi+.kpi{border:0}.kpis:not(.kpis-strip) .kpi+.kpi{border-top:1px solid var(--color-border)}}.shell,.shell *{box-sizing:border-box}.shell--fill{height:100vh;overflow:hidden}.shell--fill .shell-body.shell-body{flex:auto;min-height:0;overflow:hidden}.shell--fill .shell-main.shell-main{flex-direction:column;height:auto;min-height:0;padding:12px 20px;display:flex;overflow:hidden}.shell--fill .shell-main>.workbench-tabs{min-height:0;flex:auto;block-size:auto}.workbench-tabs-pane:has(.split-workbench) :has(.split-workbench){flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.workbench-tabs-pane:has(.split-workbench) .panel:has(.split-workbench){margin-bottom:0;overflow:visible}.workbench-tabs-pane:has(.split-workbench) .split-workbench{flex:auto;min-height:0;overflow:visible}.workbench-tabs-pane:has(.split-workbench) .split-workbench:not(.iam-directory-workspace--single){grid-template-rows:minmax(0,1fr)}.workbench-tabs-pane:has(.split-workbench) .split-workbench>*{min-width:0;min-height:0;overflow:auto}.shell-main--flush{padding:0}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:0;display:flex}.list-toolbar{margin-bottom:8px}.filter-bar .list-toolbar{margin-bottom:0}.pager{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.pager-prev,.pager-next{border-radius:var(--radius-sm);min-height:40px;font:inherit;cursor:pointer;padding:0 16px}.pager-prev{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.pager-next{background:var(--color-primary);color:#fff;border:0}.pager-next:hover:not(:disabled){background:var(--color-primary-pressed)}.pager-prev:disabled,.pager-next:disabled{cursor:not-allowed;opacity:.45}.drawer-footer{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.drawer-footer.has-extra{justify-content:space-between}.drawer-footer-actions{flex-shrink:0;gap:8px;display:flex}.edit-form{max-width:720px}.input-short{max-width:280px}.sticky-actions{background:var(--color-bg);justify-content:flex-end;align-items:center;gap:8px;padding:16px 0 8px;display:flex;position:sticky;bottom:0}.sticky-actions-note{color:var(--color-text-muted);flex:1;margin-right:auto;font-size:13px}.ant-progress-bg{background:var(--color-text)!important}.ant-progress-status-exception .ant-progress-bg{background:var(--color-danger)!important}.ant-btn-primary:not(:disabled):hover,.ant-btn-primary:not(:disabled):active{background:var(--color-primary-pressed)!important}.ant-btn-primary,.ant-btn-default{box-shadow:none!important}.ant-card .ant-card-head.ant-card-head{height:auto;min-height:48px}.ant-card .ant-card-head-title.ant-card-head-title{white-space:normal;text-overflow:unset;overflow:visible}.ant-modal .ant-modal-content{border-radius:var(--radius-md)!important}.ant-table-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:visible}.ant-table-wrapper .ant-table.ant-table,.ant-table-wrapper .ant-table-container{overflow:visible!important}.surface .surface.surface,.ant-card .surface.surface,.permission-split.is-framed .surface.surface,:is(.surface,.panel,.ant-card,.ant-collapse,.permission-split.is-framed) .ant-table-wrapper.ant-table-wrapper{background:0 0;border-radius:0;box-shadow:none!important;border:0!important}:is(.surface,.panel,.ant-card,.ant-collapse,.permission-split.is-framed) .ant-table-container{border-radius:0;border:0!important}.panel:has(.ant-table){overflow:visible}.panel-body:not(:has(>:not(.surface,.ant-table-wrapper,.pager,.empty-hint))){padding:0}.panel-body:not(:has(>:not(.surface,.ant-table-wrapper,.pager,.empty-hint)))>.pager{margin:0;padding:12px 16px 16px}.surface:has(>.ant-table-wrapper):not(:has(+.pager)) .ant-table-tbody>tr:last-child>td{border-bottom:0}.ant-table .ant-btn.ant-btn-sm,.ant-drawer .ant-btn.ant-btn-sm{height:32px;padding-inline:12px;font-size:14px}.surface .empty-hint,.ant-card .empty-hint,.ant-modal .empty-hint,.ant-drawer .empty-hint{background:0 0;border:0}.surface .ant-collapse.ant-collapse,.ant-card .ant-collapse.ant-collapse{box-shadow:none;background:0 0;border:0}@media (width<=960px){.shell--fill{height:auto;overflow:visible}.shell--fill .shell-body.shell-body{overflow:visible}.shell--fill .shell-main.shell-main{height:auto;padding:20px 16px 40px;display:block;overflow:visible}}.shell-header-nav .ant-menu-horizontal>.ant-menu-item .ant-menu-item-icon+.ant-menu-title-content,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu .ant-menu-item-icon+.ant-menu-title-content{margin-inline-start:6px}@media (width<=1600px){.shell-header-nav .ant-menu-horizontal>.ant-menu-item,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu{padding-inline:8px}}@media (width<=1400px){.shell-header-nav .ant-menu-horizontal>.ant-menu-item,.shell-header-nav .ant-menu-horizontal>.ant-menu-submenu{padding-inline:6px}}
