.sudong-app-layout{min-height:100vh;background:radial-gradient(1200px 800px at 12% -10%,rgba(255,184,74,.08),transparent 60%),radial-gradient(1000px 700px at 110% 10%,rgba(74,196,129,.08),transparent 55%),linear-gradient(180deg,#061220,#081727,#061220);color:#d4e3f0}.sudong-top-header{position:sticky;top:0;z-index:50;height:64px;padding:0;background:linear-gradient(180deg,#091627f7,#091627e6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,184,74,.18);box-shadow:0 2px 16px #00000080}.sudong-top-header-inner{height:100%;max-width:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.sudong-header-center{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.sider-toggle-btn{color:#ffb84a!important;border-color:#ffb84a61!important}.sider-toggle-btn:hover{border-color:#64ffda8c!important;color:#64ffda!important;text-shadow:0 0 6px rgba(100,255,218,.45);box-shadow:0 0 14px #64ffda38!important}.sudong-app-layout.sider-collapsed .sudong-brand{opacity:.92}.sudong-header-gridline{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,184,74,.45) 20%,rgba(74,196,129,.4) 50%,rgba(255,184,74,.45) 80%,transparent 100%);filter:blur(.3px)}.sudong-brand{display:flex;align-items:center;gap:12px}.sudong-brand-btn{display:inline-flex;align-items:center;gap:12px;padding:4px 10px 4px 4px;background:transparent;border:1px solid transparent;border-radius:5px;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .12s ease,background .16s ease}.sudong-brand-btn:hover{border-color:#ffb84a52;background:linear-gradient(145deg,#ffb84a0f,#4ac4810a);box-shadow:0 2px 12px #00000073,0 0 18px #ffb84a1f;transform:translateY(-1px)}.sudong-brand-btn:active{transform:translateY(1px);box-shadow:0 0 6px #00000073,inset 0 1px 3px #0006}.sudong-brand-logo{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;color:#ffb84a;background:linear-gradient(145deg,#ffb84a29,#4ac4811f);border:1px solid rgba(255,184,74,.38);border-radius:5px;box-shadow:0 0 14px #ffb84a47,inset 0 0 10px #ffb84a1a;text-shadow:0 0 8px rgba(255,184,74,.55)}.sudong-brand-text{display:flex;flex-direction:column;line-height:1.1}.sudong-brand-title{font-family:JetBrains Mono,Consolas,monospace;font-size:17px;font-weight:700;letter-spacing:.14em;color:#e6f1ff;text-shadow:0 0 10px rgba(255,184,74,.25)}.sudong-brand-subtitle{font-size:11px;letter-spacing:.1em;color:#8fa3b8;text-transform:uppercase;font-family:JetBrains Mono,Consolas,monospace}.sudong-brand-divider{width:1px;height:28px;background:linear-gradient(180deg,transparent,rgba(255,184,74,.4),transparent);margin:0 4px}.sudong-brand-region{font-size:11px!important;font-weight:700!important;letter-spacing:.18em!important;color:#ffb84a!important;padding:3px 8px;border:1px solid rgba(255,184,74,.28);border-radius:2px;background:#ffb84a0f;font-family:JetBrains Mono,Consolas,monospace}.sudong-top-actions{display:flex;align-items:center;gap:12px}.sudong-user-menu{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;background:linear-gradient(145deg,#0b1d31d9,#091627d9);border:1px solid rgba(255,184,74,.18);border-radius:3px;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .12s ease}.sudong-user-menu:hover{border-color:#ffb84a80;box-shadow:0 0 16px #ffb84a2e;transform:translateY(-1px)}.sudong-user-menu:active{transform:translateY(0)}.sudong-avatar{background:linear-gradient(145deg,#d6a037,#4ac481)!important;color:#0b1c2e!important;font-weight:700!important;border:1.5px solid rgba(255,184,74,.5);box-shadow:0 0 10px #ffb84a59}.sudong-user-meta{display:flex;flex-direction:column;line-height:1.1;text-align:left}.sudong-user-name{font-size:13px;font-weight:600;color:#e6f1ff}.sudong-user-role{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffb84a;font-family:JetBrains Mono,Consolas,monospace}.sudong-user-caret{color:#8fa3b8;font-size:10px;margin-left:4px}.sudong-main-content{padding:18px 20px 20px;flex:1 1 auto;min-height:0;min-width:0;height:calc(100vh - 64px);display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}:global(.sudong-user-dropdown .ant-dropdown-menu){background:#0b1d31f7!important;border:1px solid rgba(255,184,74,.28)!important;border-radius:3px!important;padding:6px!important;box-shadow:0 10px 30px #000000a6,0 0 18px #ffb84a1a!important}:global(.sudong-user-dropdown .ant-dropdown-menu-item){color:#d4e3f0!important;border-radius:2px!important;padding:8px 12px!important;transition:background .12s ease,color .12s ease}:global(.sudong-user-dropdown .ant-dropdown-menu-item:hover:not(.ant-dropdown-menu-item-disabled)){background:#ffb84a1f!important;color:#ffb84a!important}:global(.sudong-user-dropdown .ant-dropdown-menu-item-disabled){color:#8fa3b8a6!important}:global(.sudong-user-dropdown .ant-dropdown-menu-item-danger:hover){background:#e85d4d24!important;color:#e85d4d!important}.sudong-action-btn{width:40px!important;height:40px!important;border-radius:8px!important;border:1px solid rgba(255,184,74,.22)!important;background:linear-gradient(145deg,#0b1d31d9,#091627d9)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:17px!important;transition:all .16s ease!important}.sudong-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000073}.sound-btn.is-on{color:#64ffda!important;border-color:#64ffda61!important;text-shadow:0 0 6px rgba(100,255,218,.55);box-shadow:0 0 10px #64ffda29!important}.sound-btn.is-on:hover{border-color:#64ffda99!important;box-shadow:0 0 16px #64ffda52!important}.sound-btn.is-muted{color:#e85d4d!important;border-color:#e85d4d59!important;text-shadow:0 0 6px rgba(232,93,77,.45);box-shadow:0 0 10px #e85d4d1f!important}.sound-btn.is-muted:hover{border-color:#e85d4d99!important;box-shadow:0 0 16px #e85d4d4d!important}.sudong-body-layout{display:flex;flex-direction:row;flex:1;min-height:0;background:transparent!important}.sudong-side-sider{background:linear-gradient(180deg,#091627fa,#061220fa)!important;border-right:1px solid rgba(255,184,74,.14)!important;position:relative;flex:0 0 210px!important;max-width:210px!important;min-width:210px!important;width:210px!important;overflow:visible}.sudong-side-sider:before{content:"";position:absolute;top:0;right:-1px;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(255,184,74,.35) 20%,rgba(74,196,129,.3) 50%,rgba(255,184,74,.35) 80%,transparent);filter:blur(.3px);pointer-events:none;transition:opacity .18s ease}.sudong-app-layout.sider-collapsed .sudong-side-sider.ant-layout-sider,.sudong-side-sider.ant-layout-sider-collapsed{width:0!important;min-width:0!important;max-width:0!important;flex:0 0 0%!important;overflow:hidden;opacity:0;pointer-events:none}.sudong-app-layout.sider-collapsed .sudong-side-sider:before,.sudong-side-sider.ant-layout-sider-collapsed:before{opacity:0}.sudong-app-layout.sider-collapsed .sudong-body-layout{grid-template-columns:0 1fr}.sudong-body-layout{transition:all .18s ease}.sudong-side-title{padding:18px 18px 10px;font-size:10.5px;font-weight:800;letter-spacing:.22em;color:#ffb84a;text-transform:uppercase;font-family:JetBrains Mono,Consolas,monospace;border-bottom:1px solid rgba(255,184,74,.12);margin-bottom:4px}.sudong-side-menu{background:transparent!important;color:#d4e3f0!important;border-inline-end:none!important;padding:8px 10px 20px!important}:global(.sudong-side-menu .ant-menu-item),:global(.sudong-side-menu .ant-menu-submenu-title){margin:4px 0!important;border-radius:6px!important;height:40px!important;line-height:40px!important;font-size:13px!important;font-weight:500!important;color:#9eb6d6!important;transition:all .14s ease!important}:global(.sudong-side-menu .ant-menu-item:hover),:global(.sudong-side-menu .ant-menu-submenu-title:hover){background:#64ffda1a!important;color:#64ffda!important}:global(.sudong-side-menu .ant-menu-item-selected){background:linear-gradient(135deg,#12d6cc38,#7c3aed38)!important;color:#64ffda!important;font-weight:700!important;border:1px solid rgba(100,255,218,.28)!important;box-shadow:0 0 14px #12d6cc38,inset 0 1px #ffffff0d!important}:global(.sudong-side-menu .ant-menu-item-selected:before){content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:22px;background:linear-gradient(180deg,#64ffda,#c4b5fd);border-radius:2px;box-shadow:0 0 8px #64ffdab3}:global(.sudong-side-menu .ant-menu-item-selected .anticon),:global(.sudong-side-menu .ant-menu-submenu-selected .ant-menu-submenu-title .anticon){color:#64ffda!important}:global(.sudong-side-menu .ant-menu-item-disabled),:global(.sudong-side-menu .ant-menu-submenu-disabled .ant-menu-submenu-title){color:#8fa3b873!important;opacity:.65}:global(.sudong-side-menu .ant-menu-divider){border-color:#ffb84a1f!important;margin:10px 8px!important}:global(.sudong-side-menu .ant-menu-sub .ant-menu-item){margin:2px 0!important;height:36px!important;line-height:36px!important;font-size:12.5px!important}@media(max-width:991px){.sudong-side-sider{display:none}}.sudong-login-page{position:relative;min-height:100vh;width:100%;display:grid;grid-template-columns:1.05fr .95fr;color:#d4e3f0;background:radial-gradient(1100px 900px at 15% 10%,rgba(255,184,74,.1),transparent 55%),radial-gradient(900px 700px at 90% 95%,rgba(74,196,129,.1),transparent 60%),linear-gradient(160deg,#061220,#0a1c30 45%,#071422);overflow:hidden}.sudong-login-radar{position:absolute;left:12%;top:50%;transform:translate(-50%,-50%);width:700px;height:700px;pointer-events:none;z-index:1}.sudong-radar-ring{position:absolute;border-radius:50%;border:1px solid rgba(255,184,74,.12);left:50%;top:50%;transform:translate(-50%,-50%)}.sudong-radar-ring-1{width:180px;height:180px;border-color:#ffb84a47;animation:radar-pulse 4s ease-out infinite}.sudong-radar-ring-2{width:380px;height:380px;border-color:#ffb84a2e;animation:radar-pulse 4s ease-out infinite 1s}.sudong-radar-ring-3{width:580px;height:580px;border-color:#ffb84a1a;animation:radar-pulse 4s ease-out infinite 2s}@keyframes radar-pulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.15)}}.sudong-radar-sweep{position:absolute;left:50%;top:50%;width:50%;height:50%;transform-origin:0% 100%;background:linear-gradient(88deg,rgba(255,184,74,.22) 0%,transparent 70%);clip-path:polygon(0 100%,100% 0,0 0);animation:radar-sweep 6s linear infinite;border-radius:0 100% 0 0}@keyframes radar-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sudong-login-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(74,163,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(74,163,255,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at 40% 40%,#000 0%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse at 40% 40%,#000 0%,transparent 78%);z-index:1}.sudong-login-runway{position:absolute;right:-10%;top:10%;width:40%;height:180%;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0px,transparent 42px,rgba(255,184,74,.06) 42px,rgba(255,184,74,.06) 50px);border-left:1px solid rgba(255,184,74,.08);border-right:1px solid rgba(255,184,74,.08);transform:rotate(14deg);transform-origin:center center;z-index:1}.sudong-login-left{position:relative;padding:48px 64px 40px;display:flex;flex-direction:column;justify-content:space-between;z-index:2}.sudong-login-brand{display:flex;align-items:center;gap:14px}.sudong-login-brand-logo{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;font-size:26px;color:#ffb84a;background:linear-gradient(145deg,#ffb84a2e,#4ac48124);border:1px solid rgba(255,184,74,.4);border-radius:6px;box-shadow:0 0 18px #ffb84a38,inset 0 0 14px #ffb84a1a;text-shadow:0 0 10px rgba(255,184,74,.55)}.sudong-login-brand-title{display:block;font-size:22px;font-weight:800;letter-spacing:.22em;color:#e6f1ff;font-family:JetBrains Mono,Consolas,monospace;text-shadow:0 0 12px rgba(255,184,74,.25)}.sudong-login-brand-mono{display:block;font-size:11px;letter-spacing:.3em;color:#8fa3b8;margin-top:5px;font-family:JetBrains Mono,Consolas,monospace;text-transform:uppercase}.sudong-login-hero{max-width:580px}.sudong-login-classification{display:flex;align-items:center;gap:12px;margin-bottom:28px}.sudong-classification-badge{display:inline-block;padding:5px 12px;font-family:JetBrains Mono,Consolas,monospace;font-size:11px;font-weight:800;letter-spacing:.22em;color:#ffb84a;background:#ffb84a1a;border:1px solid rgba(255,184,74,.38);border-radius:3px}.sudong-classification-level{font-family:JetBrains Mono,Consolas,monospace;font-size:10.5px;letter-spacing:.18em;color:#6f87a0;text-transform:uppercase}.sudong-login-title{font-size:46px!important;line-height:1.05!important;letter-spacing:.06em!important;margin:0 0 10px!important;color:#e6f1ff!important;font-weight:800!important;font-family:JetBrains Mono,Consolas,monospace}.sudong-title-accent{color:#ffb84a!important;-webkit-text-fill-color:#ffb84a!important;text-shadow:0 0 28px rgba(255,184,74,.38)}.sudong-login-subtitle{font-size:14px!important;line-height:1.6!important;color:#a2b6cc!important;margin:0 0 32px!important;letter-spacing:.08em!important;font-family:JetBrains Mono,Consolas,monospace;text-transform:uppercase}.sudong-login-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}.sudong-stat-block{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#0b1d31a6;border:1px solid rgba(74,163,255,.16);border-radius:4px;position:relative;overflow:hidden}.sudong-stat-block:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,#ffb84a,#ffb84a33)}.sudong-stat-label{font-family:JetBrains Mono,Consolas,monospace;font-size:10px;letter-spacing:.2em;color:#6f87a0;text-transform:uppercase}.sudong-stat-value{font-family:JetBrains Mono,Consolas,monospace;font-size:17px;font-weight:700;color:#d4e3f0;letter-spacing:.06em}.sudong-stat-active{color:#4ac481;text-shadow:0 0 10px rgba(74,196,129,.45)}.sudong-login-airfield-info{display:flex;flex-direction:column;gap:10px}.sudong-airfield-tag{display:inline-flex;align-items:center;gap:10px;width:fit-content;padding:9px 14px;font-family:JetBrains Mono,Consolas,monospace;font-size:12px;font-weight:600;letter-spacing:.12em;color:#d4e3f0;background:#0b1d318c;border:1px solid rgba(255,184,74,.18);border-left:3px solid rgba(255,184,74,.55);border-radius:3px}.sudong-airfield-tag :global(.anticon){color:#ffb84a;filter:drop-shadow(0 0 4px rgba(255,184,74,.5))}.sudong-login-footer-text{font-size:11.5px!important;letter-spacing:.06em!important;font-family:JetBrains Mono,Consolas,monospace;color:#5d7189!important}.sudong-login-right{position:relative;padding:48px 64px;display:flex;align-items:center;justify-content:center;z-index:2}.sudong-login-panel{width:100%;max-width:420px;padding:34px 30px 28px;background:linear-gradient(160deg,#0a1a2ee0,#081322f0);border:1px solid rgba(74,163,255,.22);border-radius:3px;box-shadow:0 20px 60px #000000a6,0 0 40px #4aa3ff0f,inset 0 1px #ffffff08;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative}.sudong-login-panel-corner{position:absolute;width:14px;height:14px;border-color:#ffb84a;opacity:.7}.sudong-corner-tl{top:6px;left:6px;border-top:2px solid;border-left:2px solid}.sudong-corner-tr{top:6px;right:6px;border-top:2px solid;border-right:2px solid}.sudong-corner-bl{bottom:6px;left:6px;border-bottom:2px solid;border-left:2px solid}.sudong-corner-br{bottom:6px;right:6px;border-bottom:2px solid;border-right:2px solid}.sudong-login-panel-header{display:flex;align-items:center;gap:14px;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid rgba(74,163,255,.14)}.sudong-login-lock-badge{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:#4ac481;font-size:20px;background:linear-gradient(145deg,#4ac4812e,#ffb84a1f);border:1px solid rgba(74,196,129,.42);border-radius:4px;box-shadow:0 0 14px #4ac48138;filter:drop-shadow(0 0 4px rgba(74,196,129,.35))}.sudong-login-panel-title{margin:0!important;font-size:21px!important;font-weight:700!important;color:#e6f1ff!important;letter-spacing:.08em!important;font-family:JetBrains Mono,Consolas,monospace;line-height:1.2!important}.sudong-login-alert{margin-bottom:20px;border-radius:3px!important;background:#e85d4d14!important;border:1px solid rgba(232,93,77,.38)!important}.sudong-login-alert :global(.ant-alert-message),.sudong-login-alert :global(.ant-alert-description){color:#e85d4d!important}.sudong-login-form :global(.ant-form-item-label>label){color:#8fa3b8!important;font-size:11px!important;font-weight:700!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-family:JetBrains Mono,Consolas,monospace}.sudong-input-prefix{color:#ffb84a;filter:drop-shadow(0 0 3px rgba(255,184,74,.45))}.sudong-login-input{background:#050d19bf!important;border:1px solid rgba(74,163,255,.22)!important;border-radius:3px!important;color:#e6f1ff!important;transition:border-color .16s ease,box-shadow .16s ease;font-family:JetBrains Mono,Consolas,monospace}.sudong-login-input:hover,.sudong-login-input:focus-within{border-color:#ffb84a8c!important;box-shadow:0 0 0 3px #ffb84a14!important}.sudong-login-input :global(input),.sudong-login-input :global(input.ant-input){background:transparent!important;color:#e6f1ff!important;letter-spacing:.04em}.sudong-login-input :global(input::placeholder){color:#8fa3b88c!important;letter-spacing:.04em}.sudong-login-submit{height:48px!important;margin-top:8px;font-size:13px!important;font-weight:800!important;letter-spacing:.2em!important;text-transform:uppercase!important;border-radius:3px!important;background:linear-gradient(100deg,#c9952f,#e8b349 45%,#d6a037)!important;border:none!important;color:#0b1c2e!important;box-shadow:0 6px 20px #ffb84a47,0 0 24px #ffb84a1f,inset 0 1px #ffffff4d,inset 0 -2px #78501459;transition:transform .12s ease,box-shadow .16s ease,filter .12s ease;font-family:JetBrains Mono,Consolas,monospace;text-shadow:0 1px 0 rgba(255,255,255,.25)}.sudong-login-submit:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 10px 26px #ffb84a59,0 0 30px #ffb84a2e,inset 0 1px #ffffff59,inset 0 -2px #78501459}.sudong-login-submit:active{transform:translateY(2px);box-shadow:0 3px 10px #ffb84a33,0 0 18px #ffb84a1a,inset 0 1px #fff3,inset 0 -1px #78501466}.sudong-login-demo{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;background:#4ac4810f;border:1px dashed rgba(74,196,129,.28);border-radius:3px;font-size:11.5px;color:#a2b6cc;margin-top:6px;font-family:JetBrains Mono,Consolas,monospace;letter-spacing:.04em}.sudong-login-demo-badge{font-size:10px;font-weight:800;letter-spacing:.22em;color:#4ac481;padding:2px 8px;background:#4ac4811f;border:1px solid rgba(74,196,129,.38);border-radius:2px}.sudong-login-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#050d198c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:3px}.sudong-login-right-hint{position:absolute;bottom:28px;left:50%;transform:translate(-50%);font-size:11px;color:#6f87a0;letter-spacing:.06em;margin:0;white-space:nowrap;font-family:JetBrains Mono,Consolas,monospace}.sudong-login-right-hint>span:first-child{color:#4ac481;margin-right:8px;text-shadow:0 0 6px rgba(74,196,129,.5)}@media(max-width:1024px){.sudong-login-page{grid-template-columns:1fr}.sudong-login-left{padding:36px 28px 20px}.sudong-login-hero{max-width:100%}.sudong-login-title{font-size:32px!important}.sudong-login-stats{grid-template-columns:repeat(3,1fr)}.sudong-login-right{padding:24px 28px 60px}.sudong-login-footer,.sudong-login-radar,.sudong-login-runway{display:none}}.sudong-map-wrapper{position:relative;width:100%;height:100%;min-height:640px;background:#05101d;border:1px solid rgba(18,214,204,.18);border-radius:6px;overflow:hidden;box-shadow:0 0 30px #12d6cc14,inset 0 0 40px #00000059}.sudong-map-canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;display:block}.sudong-map-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#05101da6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20}.sudong-map-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#0a1a2e,#0d2847);z-index:30}:global(.gm-style .gm-style-iw-c){background:#0b2545f5!important;border:1px solid rgba(100,255,218,.35)!important;border-radius:6px!important;padding:0!important;box-shadow:0 4px 24px #64ffda2e!important}:global(.gm-style .gm-style-iw-d){overflow:hidden!important}:global(.gm-style .gm-style-iw-t:after){background:#0b2545f5!important;border-bottom:1px solid rgba(100,255,218,.35)!important;border-right:1px solid rgba(100,255,218,.35)!important}:global(.gm-style button.gm-ui-hover-effect){background-color:#64ffda1f!important;border-radius:50%!important;top:8px!important;right:8px!important}:global(.gm-style button.gm-ui-hover-effect span){background-color:#64ffda!important}.person-marker{position:relative;width:44px;height:44px;transform:translate(-50%,-100%);cursor:pointer;isolation:isolate}.person-marker-pulse{position:absolute;left:50%;bottom:0;width:28px;height:28px;margin-left:-14px;margin-bottom:-14px;border-radius:50%;background:radial-gradient(circle,#64ffda73,#64ffda00 70%);animation:person-marker-pulse 2s ease-out infinite;z-index:-1}.person-marker.src-beacon .person-marker-pulse{background:radial-gradient(circle,#ffb00080,#ffb00000 70%)}.person-marker.off-site .person-marker-pulse{background:radial-gradient(circle,#ff4c6266,#ff4c6200 70%)}@keyframes person-marker-pulse{0%{transform:scale(.6);opacity:.9}to{transform:scale(2.2);opacity:0}}.person-marker-ring{position:absolute;left:50%;bottom:6px;width:32px;height:32px;margin-left:-16px;border-radius:50%;background:conic-gradient(from 0deg,#12d6cc,#0b2545,#7c3aed,#12d6cc 360deg);padding:1.5px;box-sizing:border-box;box-shadow:0 0 10px #12d6cc73,0 4px 12px #0006;transition:transform .16s ease,box-shadow .16s ease}.person-marker.is-active .person-marker-ring{transform:scale(1.12);box-shadow:0 0 18px #64ffdabf,0 6px 18px #00000080}.person-marker-body{position:relative;width:100%;height:100%;border-radius:50%;background:linear-gradient(160deg,#0d2847,#0b2545);display:flex;align-items:center;justify-content:center}.person-marker-initials{font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.04em;color:#64ffda;text-shadow:0 0 6px rgba(100,255,218,.55)}.person-marker.src-beacon .person-marker-initials{color:#ffb000;text-shadow:0 0 6px rgba(255,176,0,.55)}.person-marker.off-site .person-marker-initials{color:#ff4c62;text-shadow:0 0 6px rgba(255,76,98,.5)}.person-marker-dot{position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-radius:50%;background:#12d6cc;border:1.5px solid #05101d;box-shadow:0 0 6px #12d6cccc}.person-marker.src-beacon .person-marker-dot{background:#ffb000;box-shadow:0 0 6px #ffb000cc}.person-marker.off-site .person-marker-dot{background:#ff4c62;box-shadow:0 0 6px #ff4c62cc}.person-info-window{width:260px;padding:14px 16px 12px;font-family:Inter,Segoe UI,system-ui,sans-serif;color:#cfe4ff;background:linear-gradient(160deg,#0b2545f5,#0a1a2ef5)}.person-info-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(100,255,218,.18)}.person-info-name{font-size:14px;font-weight:600;letter-spacing:.01em;color:#e6f7ff;text-shadow:0 0 4px rgba(100,255,218,.25)}.person-info-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;line-height:1;letter-spacing:.02em;text-transform:uppercase}.person-info-status.on-site{color:#64ffda;background:#12d6cc24;border:1px solid rgba(100,255,218,.35)}.person-info-status.off-site{color:#ff4c62;background:#ff4c621f;border:1px solid rgba(255,76,98,.3)}.person-info-list{margin:0;padding:0;display:grid;grid-template-columns:86px 1fr;row-gap:7px;column-gap:10px;font-size:12px}.person-info-list dt{color:#7f9cc0;font-weight:500;letter-spacing:.01em}.person-info-list dd{margin:0;color:#e6f7ff;font-weight:500}.person-info-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;line-height:1.4}.person-info-tag.tag-gps{color:#64ffda;background:#12d6cc24;border:1px solid rgba(100,255,218,.3)}.person-info-tag.tag-beacon{color:#ffb000;background:#ffb0001f;border:1px solid rgba(255,176,0,.3)}.person-info-tag .material-icons{font-size:13px;line-height:1}.person-info-list .mono{font-family:JetBrains Mono,Consolas,monospace;font-size:11px;color:#64ffda;letter-spacing:.02em}:global(.person-marker-label){font-family:Inter,Segoe UI,system-ui,sans-serif!important;font-size:11px!important;font-weight:700!important;letter-spacing:.04em!important;width:32px!important;height:32px!important;line-height:32px!important;text-align:center!important;border-radius:50%!important;background:linear-gradient(160deg,#0d2847,#0b2545)!important;color:#64ffda!important;border:1.5px solid #12d6cc!important;box-shadow:0 0 10px #12d6cc80,0 4px 12px #00000073!important;text-shadow:0 0 6px rgba(100,255,218,.55)!important}:global(.person-marker-label.src-beacon){color:#ffb000!important;border-color:#ffb000!important;box-shadow:0 0 10px #ffb00080,0 4px 12px #00000073!important;text-shadow:0 0 6px rgba(255,176,0,.55)!important}:global(.person-marker-label.off-site){color:#ff4c62!important;border-color:#ff4c62!important;box-shadow:0 0 10px #ff4c6280,0 4px 12px #00000073!important;text-shadow:0 0 6px rgba(255,76,98,.5)!important}.marker-sos-badge{padding:2px 8px;border-radius:4px;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:11px;font-weight:800;letter-spacing:.08em;color:#fff;background:#ff4d4f;border:1px solid rgba(255,255,255,.35);box-shadow:0 0 12px #ff4d4fcc,0 2px 8px #00000080;text-shadow:0 0 4px rgba(255,255,255,.4);pointer-events:none;white-space:nowrap;animation:sos-blink 1s ease-in-out infinite}@keyframes sos-blink{0%,to{opacity:1;box-shadow:0 0 10px #ff4d4f99,0 2px 8px #00000080}50%{opacity:.25;box-shadow:0 0 22px #ff4d4f,0 2px 8px #00000080}}:global(.person-marker-label.is-active){transform:scale(1.18)!important;box-shadow:0 0 22px #64ffdae6,0 0 0 3px #64ffda47,0 6px 18px #0000008c!important}:global(.person-marker-label.is-highlighted){width:40px!important;height:40px!important;line-height:40px!important;border-color:#ffb84a!important;box-shadow:0 0 26px #ffb84af2,0 0 0 4px #ffb84a52,0 8px 22px #0009!important;animation:highlight-bounce 1.6s ease-in-out infinite}@keyframes highlight-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.06)}}.person-info-window.person-info-window-rich{width:300px;max-width:300px;font-family:Inter,Segoe UI,system-ui,sans-serif;color:#d4e3f0;background:linear-gradient(180deg,#081727fa,#061220fa);padding:0;margin:0}.person-info-window.person-info-window-rich *{box-sizing:border-box}.person-info-hero{display:flex;align-items:center;gap:12px;padding:12px 14px 10px;background:linear-gradient(135deg,#64ffda14,#8e44ff17);border-bottom:1px solid rgba(100,255,218,.18)}.person-info-avatar{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#050d19;background:linear-gradient(145deg,#64ffda,#8e44ff);box-shadow:0 0 12px #64ffda80;flex-shrink:0}.person-info-hero-main{flex:1;min-width:0}.person-info-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.person-info-name-row .person-info-name{font-size:14px;font-weight:700;color:#eaf2fb;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-info-status-tag{margin:0!important;font-size:11px!important;padding:0 8px!important;line-height:20px!important;height:20px!important}.person-info-company-row{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11px;color:#9eb6d6}.person-info-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(100,255,218,.35),transparent);margin:0}.person-info-list.rich{padding:10px 14px 8px;margin:0;display:flex;flex-direction:column;gap:6px}.person-info-list.rich .person-info-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:8px}.person-info-list.rich .person-info-row>dt{margin:0;font-size:11px;color:#7f9cc0;font-weight:500;letter-spacing:.02em;display:inline-flex;align-items:center;gap:4px;text-align:left}.person-info-list.rich .person-info-row>dd{margin:0;font-size:12px;color:#cfdcee;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-info-inline-tag{margin:0!important;font-size:11px!important;padding:0 8px!important;height:20px!important;line-height:20px!important}.person-info-list.rich .mono.small{font-size:11px}.person-info-footer{padding:8px 14px 14px}.person-info-track-btn{background:linear-gradient(135deg,#12d6cc,#8e44ff)!important;border:1px solid rgba(100,255,218,.45)!important;color:#050d19!important;font-weight:700!important;letter-spacing:.03em!important;box-shadow:inset 0 1px #ffffff40,0 2px #06122080,0 0 14px #12d6cc40!important;border-radius:6px!important;transition:transform .12s ease,box-shadow .12s ease!important}.person-info-track-btn:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff4d,0 3px #0612208c,0 0 20px #8e44ff59!important}.person-info-track-btn:active{transform:translateY(1px);box-shadow:inset 0 1px 2px #0000004d,0 1px #06122080!important}.alarm-banner-stack{position:absolute;top:16px;right:16px;z-index:20;display:flex;flex-direction:column;gap:6px;max-width:360px;max-height:calc(100vh - 48px);overflow-y:auto;padding-right:6px;pointer-events:auto;scrollbar-width:thin;scrollbar-color:rgba(255,184,74,.55) transparent}.alarm-banner-stack::-webkit-scrollbar{width:6px}.alarm-banner-stack::-webkit-scrollbar-thumb{background:#ffb84a73;border-radius:3px}.alarm-banner-stack::-webkit-scrollbar-thumb:hover{background:#ffb84ab3}.alarm-banner-stack::-webkit-scrollbar-track{background:transparent}.alarm-left-stack{right:auto;left:24px;top:24px;max-width:400px;width:min(400px,calc(100% - 48px))}.alarm-banner-more-left{align-self:flex-start}.alarm-banner-btn.icon-only{padding:0 4px!important;min-width:24px;width:24px;height:24px;line-height:24px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:12px!important;vertical-align:middle!important}.alarm-banner-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:7px 10px 7px 8px;background:linear-gradient(135deg,#ffb84af5,#e89438f0);border:1px solid rgba(255,184,74,.7);border-left:4px solid #e85d4d;border-radius:6px;box-shadow:0 4px 14px #00000073,0 0 0 1px #ffb84a59,inset 0 1px #ffffff2e;color:#2a1605;transform:translateY(0);animation:alarm-pop .32s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden;flex-shrink:0}.alarm-banner-item.is-new:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:alarm-shine 1.4s ease-out 2;pointer-events:none}@keyframes alarm-pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes alarm-shine{0%{transform:translate(-120%)}to{transform:translate(120%)}}.alarm-banner-icon{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e85d4dd9;color:#fff8e5;font-size:13px;box-shadow:0 0 8px #e85d4d8c;flex-shrink:0}.alarm-banner-content{display:flex;flex-direction:column;gap:1px;min-width:0}.alarm-banner-title{display:flex;align-items:center;gap:6px;font-weight:700;font-size:12px;line-height:1.15;color:#3a1f04}.alarm-banner-name{font-weight:800;letter-spacing:.01em;flex-shrink:0}.alarm-banner-type{display:inline-block;padding:1px 5px;font-size:9px;font-weight:800;letter-spacing:.08em;background:#e85d4df2;color:#fff3d6;border-radius:2px;text-transform:uppercase}.alarm-banner-sub{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10.5px;color:#5e3505;font-weight:500;line-height:1.2}.alarm-banner-company{flex:1 1 auto;min-width:0;text-align:right;font-weight:600;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.alarm-banner-time{font-family:JetBrains Mono,Consolas,monospace;font-weight:700;color:#3a1f04;font-size:10px;padding:1px 4px;background:#ffffff59;border-radius:2px;flex-shrink:0;font-variant-numeric:tabular-nums}.alarm-banner-actions{display:flex;align-items:center;gap:1px;flex-shrink:0}.alarm-banner-btn.view{height:22px!important;padding:0 5px!important;font-size:11px!important;font-weight:700!important;color:#5e2b04!important;background:#ffffff59!important;border-radius:3px!important;transition:all .12s ease!important}.alarm-banner-btn.view:hover{background:#fff9!important;transform:translateY(-1px);color:#3a1f04!important}.alarm-banner-btn.close{height:22px!important;width:22px!important;padding:0!important;border-radius:3px!important;color:#5e2b04!important;transition:all .12s ease!important}.alarm-banner-btn.close:hover{background:#e85d4d4d!important;color:#8a2810!important;transform:scale(1.08)}.alarm-banner-more-link{align-self:flex-start;padding:6px 12px;background:#12d6cc1f;border:1px solid rgba(18,214,204,.45);border-radius:4px;color:#12d6cc;font-size:12px;font-weight:600;letter-spacing:.04em;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .14s ease;outline:none}.alarm-banner-more-link:hover{background:#12d6cc3d;border-color:#64ffda99;color:#64ffda;transform:translate(2px)}.alarm-banner-more-link:active{transform:translate(0)}@media screen and (max-width:1440px){.alarm-banner-stack{top:12px;left:18px;gap:5px;max-width:380px;max-height:calc(100vh - 140px)}.alarm-banner-item{padding:6px 9px 6px 7px;gap:7px}.alarm-banner-icon{width:24px;height:24px;font-size:12px}.alarm-banner-title{font-size:11.5px}.alarm-banner-sub{font-size:10px}.alarm-banner-time{font-size:9.5px}.alarm-banner-company{font-size:10.5px}.alarm-banner-type{font-size:8.5px}}@media screen and (max-height:860px){.alarm-banner-stack{max-height:calc(100vh - 160px)}}.sudong-dashboard{display:flex;flex-direction:column;gap:16px;width:100%;height:100%}.sudong-dashboard-topbar{position:relative;z-index:5}.sudong-dashboard-top-row{display:flex;flex-direction:row;align-items:stretch;gap:12px;width:100%}.sudong-dashboard-stats{display:flex;flex-direction:row;gap:12px;flex-shrink:0}.sudong-dashboard-search{flex:1 1 auto;min-width:0;display:flex;align-items:stretch}@media screen and (max-width:1024px){.sudong-dashboard-top-row{flex-direction:column;gap:10px}.sudong-dashboard-stats{width:100%}.sudong-dashboard-stats>*{flex:1 1 0;min-width:0}}.sudong-stat-card{position:relative;height:52px;padding:0 12px!important;width:200px;flex-shrink:0;background:linear-gradient(160deg,#0b2545d1,#0a1a2ee6)!important;border:1px solid rgba(100,255,218,.18)!important;border-radius:10px!important;box-shadow:0 8px 26px #0006,inset 0 1px #ffffff0a;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}@media screen and (max-width:1024px){.sudong-stat-card{width:auto}}.sudong-stat-card .ant-card-body{height:100%;padding:0!important;display:flex;align-items:center}.sudong-stat-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 100% 0%,rgba(100,255,218,.14),transparent 60%);opacity:.8}.sudong-stat-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px #00000080,0 0 24px #12d6cc24,inset 0 1px #ffffff0f}.sudong-stat-card.accent-teal{border-color:#64ffda40!important}.sudong-stat-card.accent-teal:before{background:radial-gradient(circle at 100% 0%,rgba(100,255,218,.22),transparent 60%)}.sudong-stat-card.accent-violet{border-color:#7c3aed40!important}.sudong-stat-card.accent-violet:before{background:radial-gradient(circle at 100% 0%,rgba(124,58,237,.2),transparent 60%)}.sudong-stat-inner{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;height:100%}.sudong-stat-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:#64ffda;background:linear-gradient(145deg,#12d6cc2e,#7c3aed2e);border:1px solid rgba(100,255,218,.3);border-radius:10px;box-shadow:0 0 16px #12d6cc33;text-shadow:0 0 8px rgba(100,255,218,.5);flex-shrink:0}.accent-violet .sudong-stat-icon{color:#c4b5fd;border-color:#7c3aed59;box-shadow:0 0 16px #7c3aed3d;text-shadow:0 0 8px rgba(167,139,250,.55)}.sudong-stat-content{min-width:0;overflow:hidden;display:flex;flex-direction:row;align-items:center;gap:8px;white-space:nowrap}.sudong-stat-title{display:inline-block!important;font-size:11px!important;font-weight:600!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#9eb6d6!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;flex-shrink:0}.sudong-stat-value{font-family:JetBrains Mono,Consolas,monospace!important;font-size:22px!important;font-weight:800!important;line-height:1!important;letter-spacing:-.01em!important;color:#64ffda!important;text-shadow:0 0 14px rgba(100,255,218,.35)!important;margin:0!important}.accent-violet .sudong-stat-value{color:#c4b5fd!important;text-shadow:0 0 14px rgba(167,139,250,.35)!important}.sudong-stat-trend{display:none}.sudong-search-icon{color:#64ffda;filter:drop-shadow(0 0 3px rgba(100,255,218,.5))}.sudong-search-input{background:#05101da6!important;border:1px solid rgba(100,255,218,.2)!important;border-radius:10px!important;height:46px!important;color:#e6f7ff!important;transition:border-color .16s ease,box-shadow .16s ease}.sudong-search-input:hover,.sudong-search-input:focus-within{border-color:#64ffda80!important;box-shadow:0 0 0 3px #12d6cc1f,0 0 20px #12d6cc1a!important}.sudong-search-input :global(input),.sudong-search-input :global(input.ant-input){background:transparent!important;color:#e6f7ff!important;height:44px!important;font-size:14px!important}.sudong-search-input :global(input::placeholder){color:#7f9cc099!important;font-style:italic}.sudong-dashboard-map-wrap{position:relative;flex:1 1 auto;min-height:0;width:100%}.sudong-dashboard-map-loading{position:relative;width:100%;min-height:640px;display:flex;align-items:center;justify-content:center;background:#0b25458c;border:1px solid rgba(100,255,218,.18);border-radius:10px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sudong-dashboard-map-empty-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:24px 32px;background:#05101dd9;border:1px solid rgba(100,255,218,.25);border-radius:10px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;pointer-events:none}.sudong-search-wrapper{position:relative;width:100%}.sudong-search-live-indicator{position:absolute;top:-18px;right:4px;z-index:5;font-size:10.5px;letter-spacing:.1em;font-weight:700;text-transform:uppercase;font-family:JetBrains Mono,Consolas,monospace}.live-label{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-family:JetBrains Mono,Consolas,monospace}.live-label.live{color:#64ffda}.live-label.paused{color:#8fa3b8}.sudong-autocomplete-selector{background:#05101da6!important;border:1px solid rgba(100,255,218,.2)!important;border-radius:10px!important;height:46px!important;color:#e6f7ff!important;transition:border-color .16s ease,box-shadow .16s ease}.sudong-autocomplete-selector:hover,.sudong-autocomplete-root.ant-select-open .sudong-autocomplete-selector,.sudong-autocomplete-selector:focus-within{border-color:#64ffda80!important;box-shadow:0 0 0 3px #12d6cc1f,0 0 20px #12d6cc1a!important}.sudong-autocomplete-selector :global(.ant-select-selector),.sudong-autocomplete-selector :global(.ant-input-affix-wrapper),.sudong-autocomplete-selector :global(.ant-select-selection-search-input){background:transparent!important;height:44px!important;color:#e6f7ff!important}.sudong-autocomplete-selector :global(input.ant-input){background:transparent!important;color:#e6f7ff!important;height:44px!important;font-size:14px!important}.sudong-autocomplete-selector :global(input::placeholder){color:#7f9cc099!important;font-style:italic}.sudong-autocomplete-list{background:#081625fa!important;border:1px solid rgba(100,255,218,.22)!important;border-radius:10px!important;padding:6px!important;box-shadow:0 10px 30px #000000a6,0 0 0 1px #64ffda1a!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sudong-autocomplete-list :global(.ant-select-item){padding:8px 12px!important;border-radius:6px!important;margin-bottom:2px!important;transition:background .12s ease!important}.sudong-autocomplete-list :global(.ant-select-item:last-child){margin-bottom:0!important}.sudong-autocomplete-list :global(.ant-select-item-option-active){background:#12d6cc24!important}.sudong-autocomplete-list :global(.ant-select-item-option-selected){background:#ffb84a2e!important}.search-option-item{display:flex;flex-direction:column;gap:2px;min-width:0}.search-option-main{font-size:13px;font-weight:600;color:#e6f1ff;line-height:1.2}.search-option-sub{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#7f9cc0}.search-option-company{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.search-option-device.mono{font-family:JetBrains Mono,Consolas,monospace;font-size:10.5px;color:#64ffda;background:#12d6cc1f;padding:1px 6px;border-radius:3px;border:1px solid rgba(100,255,218,.2)}.search-highlight{color:#ffb84a;font-weight:800;background:#ffb84a1f;padding:0 2px;border-radius:2px}.mono{font-family:JetBrains Mono,Consolas,monospace}.geofence-page{width:100%;height:100%;display:flex;flex-direction:column;gap:14px}.geofence-page-inner{display:flex;flex-direction:column;gap:14px;width:100%;height:100%;min-height:0}.geofence-toolbar-card{background:linear-gradient(160deg,#0b2545d1,#0a1a2ee6)!important;border:1px solid rgba(255,184,74,.18)!important;border-radius:12px!important;box-shadow:0 6px 22px #0006,inset 0 1px #ffffff0a!important;padding:16px 20px!important}:global(.geofence-toolbar-card .ant-card-body){padding:0!important}.geofence-toolbar-top{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.geofence-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.geofence-title-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;color:#e85d4d;background:linear-gradient(145deg,#e85d4d38,#ffb84a24);border:1px solid rgba(232,93,77,.4);border-radius:10px;box-shadow:0 0 18px #e85d4d38;text-shadow:0 0 8px rgba(232,93,77,.5)}.geofence-title-main{margin:0!important;font-size:18px!important;font-weight:700!important;letter-spacing:.04em!important;color:#e6f1ff!important;line-height:1.2!important}.geofence-title-sub{font-size:12px!important;color:#8fa3b8!important;letter-spacing:.02em!important}.geofence-status-tag{font-weight:700!important;font-size:11px!important;letter-spacing:.1em!important;text-transform:uppercase!important;padding:4px 12px!important;border-radius:4px!important}.geofence-toolbar-actions{flex-shrink:0}.gf-btn{height:42px!important;border-radius:8px!important;font-weight:600!important;font-size:12.5px!important;letter-spacing:.04em!important;padding:0 16px!important;transition:all .14s ease!important;border-width:1.5px!important}.gf-btn:hover:not(:disabled){transform:translateY(-1px)}.gf-btn:active:not(:disabled){transform:translateY(0)}.gf-btn-draw{color:#ffb84a!important;border-color:#ffb84a66!important;background:#ffb84a14!important}.gf-btn-draw:hover{border-color:#ffb84ab3!important;background:#ffb84a29!important;box-shadow:0 4px 14px #ffb84a38!important}.gf-btn-draw.active{color:#050d19!important;background:linear-gradient(135deg,#ffb84a,#ff9e2c)!important;border-color:#ffb84a!important;box-shadow:0 0 18px #ffb84a99!important;animation:draw-pulse 1.8s ease-in-out infinite}@keyframes draw-pulse{0%,to{box-shadow:0 0 18px #ffb84a80}50%{box-shadow:0 0 28px #ffb84acc}}.gf-btn-clear{color:#e85d4d!important;border-color:#e85d4d73!important;background:#e85d4d14!important}.gf-btn-clear:hover:not(:disabled){border-color:#e85d4dbf!important;background:#e85d4d2e!important;box-shadow:0 4px 14px #e85d4d38!important}.gf-btn-reset{color:#7c3aed!important;border-color:#7c3aed73!important;background:#7c3aed14!important}.gf-btn-reset:hover:not(:disabled){border-color:#7c3aedbf!important;background:#7c3aed2e!important;box-shadow:0 4px 14px #7c3aed38!important}.gf-btn-save{height:42px!important;font-weight:800!important;font-size:13px!important;letter-spacing:.08em!important;text-transform:uppercase!important;background:linear-gradient(135deg,#12d6cc,#4ac481)!important;border:1.5px solid rgba(100,255,218,.55)!important;border-radius:8px!important;padding:0 22px!important;color:#050d19!important;box-shadow:0 4px 16px #12d6cc52,inset 0 1px #ffffff4d!important}.gf-btn-save:hover:not(:disabled){transform:translateY(-1px)!important;box-shadow:0 8px 24px #12d6cc80,inset 0 1px #fff6!important}.gf-btn-save:active:not(:disabled){transform:translateY(0)!important}.gf-btn-save:disabled{opacity:.55;filter:grayscale(.3)}.geofence-draw-hint{margin-top:14px!important;border-radius:8px!important;background:#ffb84a1a!important;border:1px solid rgba(255,184,74,.35)!important;color:#ffb84a!important}:global(.geofence-draw-hint .ant-alert-message){color:#ffd699!important;font-weight:600!important;font-size:12.5px!important}.geofence-toolbar-divider{border-color:#ffb84a1f!important;margin:14px 0!important}.geofence-fence-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.gf-fence-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gf-fence-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 8px 5px 12px;border-radius:7px;border:1px solid rgba(143,163,184,.35);background:#05101da6;cursor:pointer;transition:all .14s ease;-webkit-user-select:none;user-select:none}.gf-fence-chip:hover{border-color:#ffb84a8c;background:#ffb84a14}.gf-fence-chip.active{border-color:#ffb84acc;background:#ffb84a24;box-shadow:0 0 12px #ffb84a40}.gf-fence-chip-name{font-size:12px;font-weight:600;color:#cfe0f2;letter-spacing:.02em;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gf-fence-chip.active .gf-fence-chip-name{color:#ffd699}.gf-fence-chip-count{font-family:JetBrains Mono,Consolas,monospace;font-size:11px;font-weight:800;color:#64ffda;background:#05101dcc;border:1px solid rgba(100,255,218,.25);border-radius:4px;padding:0 6px;line-height:16px}.gf-fence-chip-count.warn{color:#ffb84a;border-color:#ffb84a66}.gf-fence-chip-delete{color:#8fa3b8!important;font-size:12px!important;width:18px!important;height:18px!important;min-width:18px!important;display:inline-flex!important;align-items:center;justify-content:center}.gf-fence-chip-delete:hover{color:#e85d4d!important}.gf-name-input{width:200px!important}.gf-name-input .ant-input,:global(.gf-name-input .ant-input){background:#05101db3!important;border-color:#8fa3b859!important;color:#e6f1ff!important}.gf-new-fence-btn{color:#12d6cc!important;border-color:#12d6cc73!important;background:#12d6cc14!important}.gf-new-fence-btn:hover:not(:disabled){border-color:#12d6cccc!important;background:#12d6cc29!important;box-shadow:0 4px 14px #12d6cc38!important}.geofence-map-wrap{position:relative;flex:1 1 auto;min-height:0;width:100%;border-radius:12px;overflow:hidden;border:1px solid rgba(255,184,74,.22);box-shadow:0 8px 28px #00000080,inset 0 1px #ffffff0a;background:#081727}.geofence-map-canvas{width:100%;height:100%}.geofence-loading{width:100%;height:100%;min-height:520px;display:flex;align-items:center;justify-content:center;background:#0b25458c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.geofence-empty-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:24px 32px;background:#05101de0;border:1px solid rgba(232,93,77,.3);border-radius:10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;pointer-events:none}:global(.gf-vertex-label){width:22px!important;height:22px!important;line-height:22px!important;border-radius:50%!important;background:linear-gradient(160deg,#ffb84a,#ff9e2c)!important;color:#2a1605!important;font-family:JetBrains Mono,Consolas,monospace!important;font-weight:800!important;font-size:11px!important;text-align:center!important;border:1.5px solid #fff3d6!important;box-shadow:0 0 10px #ffb84acc,0 2px 6px #00000080!important}:global(.gf-vertex-label.gf-vertex-first){background:linear-gradient(160deg,#12d6cc,#4ac481)!important;color:#051615!important;border-color:#d3fff1!important;box-shadow:0 0 14px #64ffdae6,0 2px 6px #00000080!important;animation:gf-first-pulse 2.2s ease-in-out infinite}@keyframes gf-first-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.admin-page{width:100%;height:100%;display:flex;flex-direction:column;gap:14px;min-height:0}.admin-toolbar-card{background:linear-gradient(160deg,#0b2545d1,#0a1a2ee6)!important;border:1px solid rgba(255,184,74,.18)!important;border-radius:12px!important;box-shadow:0 6px 22px #0006,inset 0 1px #ffffff0a!important;padding:14px 18px!important;flex-shrink:0}.admin-toolbar-card .ant-card-body{padding:0!important}.admin-toolbar-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-title{display:flex;align-items:center;gap:13px}.admin-title-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;color:#12d6cc;background:linear-gradient(145deg,#12d6cc33,#4ac48124);border:1px solid rgba(18,214,204,.4);border-radius:10px;box-shadow:0 0 18px #12d6cc38;text-shadow:0 0 8px rgba(18,214,204,.5)}.admin-title-main{margin:0!important;font-size:17px!important;font-weight:700!important;letter-spacing:.04em!important;color:#e6f1ff!important;line-height:1.25!important}.admin-title-sub{font-size:12px!important;color:#8fa3b8!important;letter-spacing:.02em!important}.admin-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-btn{height:38px!important;border-radius:8px!important;font-weight:600!important;font-size:12.5px!important;letter-spacing:.04em!important;padding:0 14px!important;transition:transform .14s ease,box-shadow .14s ease!important}.admin-btn:hover:not(:disabled){transform:translateY(-1px)}.admin-btn-primary{background:linear-gradient(135deg,#12d6cc,#4ac481)!important;border:1.5px solid rgba(100,255,218,.55)!important;color:#050d19!important;font-weight:800!important;box-shadow:0 4px 16px #12d6cc52,inset 0 1px #ffffff4d!important}.admin-btn-primary:hover:not(:disabled){box-shadow:0 8px 24px #12d6cc80,inset 0 1px #fff6!important}.admin-btn-ghost-amber{color:#ffb84a!important;border-color:#ffb84a73!important;background:#ffb84a14!important}.admin-btn-ghost-amber:hover:not(:disabled){border-color:#ffb84abf!important;background:#ffb84a29!important;box-shadow:0 4px 14px #ffb84a38!important}.admin-table-card{background:linear-gradient(160deg,#0b2545a8,#0a1a2ec7)!important;border:1px solid rgba(100,255,218,.15)!important;border-radius:12px!important;box-shadow:0 6px 22px #00000059!important;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.admin-table-card .ant-card-body{padding:8px 8px 4px!important;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.admin-table-card .ant-table-wrapper{flex:1 1 auto;min-height:0}.admin-table-card .ant-table-container{height:100%}.admin-search-input{min-width:280px}.admin-count-chip{font-size:11px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px!important;border-radius:999px!important}.mono-cell{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;letter-spacing:.02em}.battery-track{width:44px;height:8px;border-radius:999px;background:#061220d9;border:1px solid rgba(100,255,218,.22);overflow:hidden}.battery-fill{height:100%;border-radius:999px;transition:width .3s ease}.battery-fill.ok{background:linear-gradient(90deg,#12d6cc,#4ac481);box-shadow:0 0 8px #12d6cc80}.battery-fill.mid{background:linear-gradient(90deg,#ffb000,#ff9e2c);box-shadow:0 0 8px #ffb00080}.battery-fill.low{background:linear-gradient(90deg,#ff4c62,#ff7a45);box-shadow:0 0 8px #ff4c628c}.muted-cell{color:#7f9cc0}.person-name-cell strong{color:#e6f1ff;font-weight:700;letter-spacing:.02em}.table-empty-wrap{padding:26px 0}.on-site-badge-dot,.off-site-badge-dot{margin-inline-end:6px}.site-badge-text{font-size:11.5px;letter-spacing:.05em;text-transform:none}.person-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.person-form-grid .form-span-2{grid-column:span 2}@media(max-width:720px){.person-form-grid{grid-template-columns:1fr}.person-form-grid .form-span-2{grid-column:span 1}}.drawer-header-tag{font-size:11px!important;letter-spacing:.08em}.bindings-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:18px;padding:10px 6px 4px}.bindings-link-arrow{align-self:center;margin-top:34px;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;color:#12d6cc;background:#12d6cc1a;border:1px dashed rgba(18,214,204,.45);border-radius:50%;box-shadow:0 0 16px #12d6cc40}.binding-panel{background:linear-gradient(165deg,#0d2c4e8c,#09182ba6);border:1px solid rgba(100,255,218,.16);border-radius:12px;padding:14px 16px 16px}.binding-panel-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.binding-panel-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;color:#12d6cc;background:#12d6cc24;border:1px solid rgba(18,214,204,.35);border-radius:8px;text-shadow:0 0 8px rgba(18,214,204,.5)}.binding-panel-label{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#a7bdd4;flex:1 1 auto}.binding-input input{font-family:JetBrains Mono,Consolas,monospace!important;letter-spacing:.08em}.bindings-results{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:14px;border-top:1px dashed rgba(100,255,218,.14);margin-top:14px}.binding-info{border-radius:10px;padding:13px 15px;min-height:86px;display:flex;flex-direction:column;gap:8px;border:1px solid transparent;transition:border-color .2s ease,box-shadow .2s ease}.binding-info-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.binding-info-title{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.85}.binding-info-body{display:flex;flex-direction:column;gap:3px;font-size:12px}.binding-info-name{font-size:16px;font-weight:700;color:#e6f1ff;line-height:1.3}.binding-info-meta{font-size:11.5px;opacity:.75}.binding-info.tone-ok{background:linear-gradient(160deg,#12d6cc1a,#4ac48112);border-color:#12d6cc6b;box-shadow:inset 0 0 24px #12d6cc0f}.binding-info.tone-ok .binding-info-title{color:#5eead4}.binding-info.tone-warn{background:linear-gradient(160deg,#ffb84a17,#ff7a450d);border-color:#ffb84a6b;box-shadow:inset 0 0 24px #ffb84a0d}.binding-info.tone-warn .binding-info-title{color:#ffb84a}.binding-info.tone-loading{background:#12d6cc0d;border-color:#64ffda33;animation:binding-pulse 1.2s ease-in-out infinite}.binding-info.tone-loading .binding-info-title{color:#7dd3fc}.binding-info.tone-muted{background:#0a1a2e59;border-color:#8fa3b838}.binding-info.tone-muted .binding-info-title{color:#8fa3b8}@keyframes binding-pulse{0%,to{opacity:1}50%{opacity:.62}}.bindings-warning{margin-top:14px;padding:9px 14px;border-radius:8px;font-size:12px;color:#ffd48a;background:#ffb84a17;border:1px dashed rgba(255,184,74,.4)}@media(max-width:900px){.bindings-grid,.bindings-results{grid-template-columns:1fr}.bindings-link-arrow{transform:rotate(90deg);margin:-2px auto}}.alarm-detail-page{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.alarm-detail-map-card{position:relative;flex:1;min-height:430px;overflow:hidden;padding:0!important}.alarm-detail-map-card .sudong-map-wrapper{height:100%}.alarm-info-card{position:absolute;left:16px;bottom:16px;z-index:5;width:310px;background:#061424eb;border:1px solid rgba(18,214,204,.28);border-radius:10px;padding:14px 16px;box-shadow:0 8px 28px #00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.alarm-info-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.alarm-info-name{font-size:15px;font-weight:700;color:#eaf6ff;letter-spacing:.03em}.alarm-info-rows{display:flex;flex-direction:column;gap:6px}.alarm-info-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px}.alarm-info-label{color:#7f9cc0;text-transform:uppercase;letter-spacing:.08em;font-size:10px;white-space:nowrap}.alarm-info-value{color:#cfe6ff;font-family:JetBrains Mono,Consolas,monospace;text-align:right;word-break:break-all}.alarm-static-hint{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:5;background:#061424e0;border:1px solid rgba(127,156,192,.35);color:#cfe6ff;font-size:11px;letter-spacing:.05em;padding:4px 12px;border-radius:999px;pointer-events:none}.alarm-drawer-list{display:flex;flex-direction:column;gap:8px}.alarm-drawer-item{cursor:pointer;border:1px solid rgba(127,156,192,.18);border-radius:8px;padding:10px 12px;background:#7f9cc00a;transition:background .2s ease,border-color .2s ease}.alarm-drawer-item:hover{background:#12d6cc14}.alarm-drawer-item.is-active{border-color:#12d6cc80;background:#12d6cc1a}.alarm-drawer-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.alarm-drawer-item-name{font-weight:600;color:#eaf6ff;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarm-drawer-item-sub{display:flex;align-items:center;gap:8px;margin-top:4px;font-family:JetBrains Mono,Consolas,monospace;font-size:11px;color:#7f9cc0}.unread-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#ff7a45;margin-inline-end:6px;vertical-align:middle;box-shadow:0 0 6px #ff7a45e6}.track-player-bar{position:absolute;left:16px;right:16px;bottom:16px;z-index:5;display:flex;align-items:center;gap:12px;background:#061424eb;border:1px solid rgba(18,214,204,.28);border-radius:12px;padding:10px 16px;box-shadow:0 8px 28px #00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.track-player-time{color:#12d6cc;font-size:13px;min-width:76px}.track-player-index{font-size:11px;white-space:nowrap}.beacon-map-picker{position:relative;margin-top:16px;border:1px solid rgba(18,214,204,.28);border-radius:10px;overflow:hidden}.beacon-map-picker .beacon-map-canvas{height:240px}.beacon-map-hint{padding:8px 12px;background:#061424eb;color:#7f9cc0;font-size:11px;letter-spacing:.04em;text-align:center}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;width:100%}body{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#061220;color:#d4e3f0;font-size:14px;line-height:1.5;letter-spacing:.005em}h1,h2,h3,h4,h5,h6{font-family:Inter,Segoe UI,system-ui,sans-serif;letter-spacing:-.01em;color:#e6f1ff;margin:0}button{font-family:inherit}::selection{background:#ffb84a4d;color:#e6f1ff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#061220a6}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ffb84a73,#4ac48166);border:2px solid rgba(6,18,32,.75);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffb84a99,#4ac4818c)}:focus-visible{outline:2px solid rgba(255,184,74,.75);outline-offset:2px;border-radius:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
