.top-navbar[data-v-157b967c]{display:flex;align-items:center;justify-content:space-between;height:var(--navbar-height);padding:0 var(--spacing-lg);background:var(--bg-panel);border-bottom:1px solid var(--border-color);position:fixed;top:0;left:0;right:0;z-index:var(--z-dropdown)}.navbar-brand[data-v-157b967c]{display:flex;align-items:center;gap:var(--spacing-sm);height:100%}.brand-icon[data-v-157b967c]{width:64px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--bg-primary);font-size:var(--font-size-lg)}.brand-icon img[data-v-157b967c]{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.brand-text[data-v-157b967c]{display:flex;align-items:center;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);letter-spacing:1px;line-height:1}.navbar-menu[data-v-157b967c]{display:flex;align-items:center;gap:var(--spacing-xs)}.nav-item[data-v-157b967c]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-normal);font-size:var(--font-size-md)}.nav-item[data-v-157b967c]:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-item.active[data-v-157b967c]{color:var(--accent-color);background:var(--accent-light)}.nav-item i[data-v-157b967c]{font-size:var(--font-size-md)}.nav-icon[data-v-157b967c]{width:1.2em;height:1.2em;display:inline-block;background:var(--nav-icon-url) center /contain no-repeat;flex-shrink:0}@supports ((-webkit-mask:url("")) or (mask:url(""))){.nav-icon[data-v-157b967c]{background:none;background-color:currentColor;mask:var(--nav-icon-url) center /contain no-repeat;-webkit-mask:var(--nav-icon-url) center /contain no-repeat}}.navbar-right[data-v-157b967c]{display:flex;align-items:center;gap:var(--spacing-md)}.scene-tabs[data-v-157b967c]{display:flex;align-items:center;gap:4px;padding:4px;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.scene-tab[data-v-157b967c]{padding:6px 14px;font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);white-space:nowrap}.scene-tab[data-v-157b967c]:hover{color:var(--text-primary);background:var(--bg-hover)}.scene-tab.active[data-v-157b967c]{color:var(--accent-color);background:var(--accent-light);font-weight:500}.navbar-user[data-v-157b967c],.user-dropdown[data-v-157b967c]{position:relative}.user-info[data-v-157b967c]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-normal)}.user-info[data-v-157b967c]:hover{color:var(--text-primary);background:var(--bg-hover)}.user-avatar[data-v-157b967c]{width:32px;height:32px;border-radius:50%;overflow:hidden;background:var(--primary-color);display:flex;align-items:center;justify-content:center}.user-avatar img[data-v-157b967c]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-placeholder[data-v-157b967c]{color:#fff;font-size:.875rem;font-weight:700;text-transform:uppercase}.user-name[data-v-157b967c]{font-size:var(--font-size-md)}.user-info .fa-chevron-down[data-v-157b967c]{font-size:.75rem;transition:transform var(--transition-normal)}.user-info .fa-chevron-down.rotated[data-v-157b967c]{transform:rotate(180deg)}.user-menu[data-v-157b967c]{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 12px 40px rgba(0,0,0,.25),0 0 1px rgba(0,0,0,.1);z-index:1000;overflow:hidden}.menu-fade-enter-active[data-v-157b967c],.menu-fade-leave-active[data-v-157b967c]{transition:opacity .2s ease,transform .2s ease}.menu-fade-enter[data-v-157b967c],.menu-fade-leave-to[data-v-157b967c]{opacity:0;transform:translateY(-8px)}.user-menu-actions[data-v-157b967c]{padding:8px}.menu-action[data-v-157b967c]{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.85rem;border-radius:var(--radius-sm)}.menu-action[data-v-157b967c]:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-action.logout[data-v-157b967c]{color:#ef5350}.menu-action.logout[data-v-157b967c]:hover{background:rgba(239,83,80,.12);color:#e53935}.menu-action[data-v-157b967c]:disabled{opacity:.6;cursor:not-allowed}.nav-password-overlay[data-v-157b967c]{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:rgba(2,6,23,.55);backdrop-filter:blur(4px)}.nav-password-dialog[data-v-157b967c]{width:min(420px,calc(100vw - 32px));background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.nav-password-dialog__head[data-v-157b967c]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.nav-password-dialog__head h3[data-v-157b967c]{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.nav-password-dialog__close[data-v-157b967c]{border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:4px}.nav-password-dialog__body[data-v-157b967c]{padding:16px 20px}.nav-password-dialog__hint[data-v-157b967c]{margin:0 0 14px;font-size:13px;color:var(--text-secondary);line-height:1.5}.nav-password-field[data-v-157b967c]{margin-bottom:12px}.nav-password-field label[data-v-157b967c]{display:block;margin-bottom:6px;font-size:13px;color:var(--text-secondary)}.nav-password-field input[data-v-157b967c]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary)}.nav-password-dialog__foot[data-v-157b967c]{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px 16px;border-top:1px solid var(--border-color)}.nav-password-btn[data-v-157b967c]{padding:8px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);cursor:pointer;font-size:14px}.nav-password-btn--ghost[data-v-157b967c]{background:transparent;color:var(--text-secondary)}.nav-password-btn--primary[data-v-157b967c]{background:var(--primary-color,#2563eb);border-color:transparent;color:#fff}.nav-password-btn[data-v-157b967c]:disabled{opacity:.6;cursor:not-allowed}.menu-action i[data-v-157b967c]{width:16px;text-align:center}.spinning[data-v-157b967c]{animation:spin-157b967c 1s linear infinite}@keyframes spin-157b967c{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:var(--font-family);font-size:var(--font-size-md);background:var(--bg-primary);color:var(--text-primary);overflow:hidden}#app,body,html{width:100%;height:100%}#app{display:flex;flex-direction:column}.app-main{flex:1;margin-top:var(--navbar-height);overflow:hidden;position:relative}.app-main--no-nav{margin-top:0}.slide-left-enter-active,.slide-left-leave-active,.slide-right-enter-active,.slide-right-leave-active{transition:transform var(--transition-normal),opacity var(--transition-normal)}.slide-left-enter,.slide-right-leave-to{transform:translateX(-20px);opacity:0}.slide-left-leave-to,.slide-right-enter{transform:translateX(20px);opacity:0}::-webkit-scrollbar-thumb{background:var(--border-color)}::-webkit-scrollbar-thumb:hover{background:var(--text-disabled)}.logout-text{margin-left:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}.user-info:hover .logout-text{color:var(--accent-color)}.toast[data-v-7eadd3f4]{position:fixed;top:80px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:9999;min-width:200px;max-width:400px}.toast-icon[data-v-7eadd3f4]{display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-message[data-v-7eadd3f4]{font-size:14px;line-height:1.4}.toast-success[data-v-7eadd3f4]{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.toast-error[data-v-7eadd3f4]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.toast-warning[data-v-7eadd3f4]{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.toast-info[data-v-7eadd3f4]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.toast-fade-enter-active[data-v-7eadd3f4],.toast-fade-leave-active[data-v-7eadd3f4]{transition:all .3s ease}.toast-fade-enter-from[data-v-7eadd3f4],.toast-fade-leave-to[data-v-7eadd3f4]{opacity:0;transform:translateX(-50%) translateY(-20px)}:root{--bg-primary:#000;--bg-secondary:#0a0a0a;--bg-panel:hsla(0,0%,8%,.95);--bg-card:rgba(30,30,30,.9);--bg-hover:rgba(40,40,40,.8);--accent-color:#00d4ff;--accent-hover:#00b8e6;--accent-light:rgba(0,212,255,.1);--color-success:#00c853;--color-warning:#ff9800;--color-error:#f44336;--color-info:#2196f3;--primary-color:#00d4ff;--primary-dark:#00b8e6;--success-color:#00c853;--success-dark:#00a046;--error-color:#f44336;--error-dark:#d32f2f;--warning-color:#ff9800;--alert-high:#f44336;--alert-medium:#ff9800;--alert-low:#ffc107;--text-primary:#fff;--text-secondary:hsla(0,0%,100%,.7);--text-disabled:hsla(0,0%,100%,.4);--text-hint:hsla(0,0%,100%,.5);--border-color:hsla(0,0%,100%,.1);--border-light:hsla(0,0%,100%,.05);--border-accent:var(--accent-color);--shadow-sm:0 2px 4px rgba(0,0,0,.3);--shadow-md:0 4px 8px rgba(0,0,0,.4);--shadow-lg:0 8px 16px rgba(0,0,0,.5);--shadow-glow:0 0 20px rgba(0,212,255,.3);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--transition-fast:0.15s ease;--transition-normal:0.2s ease;--transition-slow:0.3s ease;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-size-xs:12px;--font-size-sm:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:24px;--z-dropdown:100;--z-modal:200;--z-tooltip:300;--z-notification:400;--navbar-height:56px;--sidebar-width:60px;--sidebar-expanded-width:240px;--panel-width:380px;--content-panel-width:440px;--agent-panel-width:560px}*,:after,:before{box-sizing:border-box}#app,body,html{width:100%;height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-family);font-size:var(--font-size-md);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.3)}a{color:var(--accent-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}button{cursor:pointer}button,input,select,textarea{font-family:inherit;border:none;outline:none;background:transparent}input,select,textarea{font-size:inherit;color:inherit}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-normal)}.fade-enter,.fade-leave-to{opacity:0}.slide-left-enter-active,.slide-left-leave-active{transition:transform var(--transition-normal),opacity var(--transition-normal)}.slide-left-enter,.slide-left-leave-to{transform:translateX(-20px);opacity:0}.slide-right-enter-active,.slide-right-leave-active{transition:transform var(--transition-normal),opacity var(--transition-normal)}.slide-right-enter,.slide-right-leave-to{transform:translateX(20px);opacity:0}.scale-enter-active,.scale-leave-active{transition:transform var(--transition-normal),opacity var(--transition-normal)}.scale-enter,.scale-leave-to{transform:scale(.95);opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:transform var(--transition-normal),opacity var(--transition-normal)}.slide-up-enter,.slide-up-leave-to{transform:translateY(20px);opacity:0}.slide-down-enter-active,.slide-down-leave-active{transition:transform var(--transition-normal),opacity var(--transition-normal)}.slide-down-enter,.slide-down-leave-to{transform:translateY(-20px);opacity:0}.panel-slide-enter-active,.panel-slide-leave-active{transition:transform var(--transition-slow),opacity var(--transition-slow)}.panel-slide-enter,.panel-slide-leave-to{transform:translateX(-100%);opacity:0}.panel-slide-right-enter-active,.panel-slide-right-leave-active{transition:transform var(--transition-slow),opacity var(--transition-slow)}.panel-slide-right-enter,.panel-slide-right-leave-to{transform:translateX(100%);opacity:0}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-bounce{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (max-width:1200px){:root{--panel-width:280px}}@media (max-width:992px){:root{--panel-width:260px;--sidebar-expanded-width:200px}}@media (max-width:768px){:root{--navbar-height:48px;--panel-width:100%;--sidebar-width:50px}}.hidden{display:none!important}.invisible{visibility:hidden!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.text-center{text-align:center}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--accent-color)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-glow{box-shadow:var(--shadow-glow)}.mars3d-popup-content-wrapper{border:2px solid #00d4ff!important;border-radius:12px!important;box-shadow:0 8px 32px rgba(0,0,0,.8),0 0 30px rgba(0,212,255,.3),inset 0 1px 0 hsla(0,0%,100%,.1)!important;overflow:hidden}.mars3d-popup-content,.mars3d-popup-content-wrapper{background:#0d1520!important;padding:0!important;pointer-events:auto!important}.mars3d-popup-content{margin:0!important}.mars3d-popup-content:has(.mission-disposal-block){max-height:min(680px,85vh)!important;overflow-y:auto!important}.mars3d-popup-content:has(.map-popup--lingyi-live){width:380px!important;max-width:min(380px,94vw)!important;background:transparent!important}.mars3d-popup-content-wrapper:has(.map-popup--lingyi-live){max-width:min(384px,96vw)!important;border:1px solid rgba(94,234,212,.35)!important;border-radius:12px!important;box-shadow:0 14px 40px rgba(0,0,0,.72),0 0 28px rgba(0,212,255,.12)!important;background:#081018!important;overflow:hidden!important}.mars3d-popup:has(.map-popup--lingyi-live) .mars3d-popup-tip{border-color:rgba(94,234,212,.45)!important}.mars3d-popup-tip{background:#0d1520!important;border:2px solid #00d4ff!important;box-shadow:0 4px 12px rgba(0,0,0,.5)!important}.mars3d-popup-close-button{color:hsla(0,0%,100%,.6)!important;font-size:18px!important;top:8px!important;right:8px!important;transition:all .2s ease!important;pointer-events:auto!important;z-index:100!important}.mars3d-popup-close-button:hover{color:#00d4ff!important}.map-popup{min-width:240px;font-family:PingFang SC,Microsoft YaHei,sans-serif;background:#0d1520;pointer-events:auto}.map-popup--alert{min-width:280px;border-radius:12px;background:linear-gradient(135deg,rgba(52,14,14,.96),rgba(13,21,32,.96));border:1px solid rgba(244,67,54,.65);box-shadow:0 12px 28px rgba(244,67,54,.25),inset 0 0 0 1px hsla(0,0%,100%,.04);position:relative;overflow:hidden}.map-popup--alert:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--alert-high);box-shadow:0 0 14px rgba(244,67,54,.6)}.map-popup--alert:after{content:"";position:absolute;right:-30%;top:-45%;width:70%;height:160%;background:radial-gradient(circle at 20% 20%,rgba(244,67,54,.25),transparent 60%);pointer-events:none}.map-popup--alert .alert-header{display:flex;align-items:center;gap:12px;padding:12px 16px 10px;background:linear-gradient(90deg,rgba(244,67,54,.2),rgba(244,67,54,.02));border-bottom:1px solid rgba(244,67,54,.25);position:relative;z-index:1}.map-popup--alert .alert-icon{width:28px;height:28px;border-radius:50%;background:rgba(244,67,54,.25);border:1px solid rgba(244,67,54,.7);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px rgba(244,67,54,.5);animation:alertPulse 1.6s ease-in-out infinite}.map-popup--alert .alert-title-group{display:flex;flex-direction:column;gap:2px;flex:1}.map-popup--alert .alert-title{font-size:14px;font-weight:700;color:#ffd7d5;letter-spacing:.6px}.map-popup--alert .alert-subtitle{font-size:12px;color:hsla(0,0%,100%,.75)}.map-popup--alert .alert-badge{font-size:11px;font-weight:700;letter-spacing:.3px;padding:3px 8px;border-radius:999px;border:1px solid rgba(244,67,54,.6);background:rgba(244,67,54,.2);color:#ffd7d5}.map-popup--alert .alert-badge.level-medium{background:rgba(255,152,0,.2);border-color:rgba(255,152,0,.7);color:#ffe1b1}.map-popup--alert .alert-badge.level-low{background:rgba(255,193,7,.2);border-color:rgba(255,193,7,.7);color:#fff0b8}.map-popup--alert .alert-body{padding:12px 16px 14px;position:relative;z-index:1}.map-popup--alert .alert-message{font-size:13px;line-height:1.6;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.35)}.popup-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(90deg,rgba(0,212,255,.15),rgba(0,212,255,.02));border-bottom:1px solid rgba(0,212,255,.3);border-left:3px solid #00d4ff}.popup-icon{font-size:20px}.popup-uav-icon{width:20px;height:20px;display:inline-block;background:var(--popup-uav-icon) center /contain no-repeat;vertical-align:-.1em}.popup-aircraft-icon{background:var(--popup-aircraft-icon) center /contain no-repeat}.popup-aircraft-icon,.popup-heli-icon{width:22px;height:22px;display:inline-block;vertical-align:-.12em}.popup-heli-icon{background:var(--popup-heli-icon) center /contain no-repeat}.popup-ship-icon{width:22px;height:22px;display:inline-block;background:var(--popup-ship-icon) center /contain no-repeat;vertical-align:-.12em}.popup-ship-icon--rid{width:24px;height:24px}.popup-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;flex-shrink:0}.popup-icon-badge--rid{background:linear-gradient(145deg,rgba(45,212,191,.28),rgba(15,118,110,.18));border:1px solid rgba(94,234,212,.45);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.12),0 4px 12px rgba(0,0,0,.25)}.map-popup--rid-ship{min-width:280px;border-radius:12px;overflow:hidden;border:1px solid rgba(45,212,191,.28);box-shadow:0 12px 32px rgba(0,0,0,.45),0 0 0 1px rgba(45,212,191,.08);background:#0b141c}.map-popup--airspace{min-width:300px;max-width:360px;border-radius:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--airspace-accent,#60a5fa) 35%,transparent);box-shadow:0 14px 36px rgba(0,0,0,.5),0 0 0 1px hsla(0,0%,100%,.04);background:linear-gradient(180deg,#0f1724,#0b1220)}.map-popup--airspace .airspace-popup-header{gap:12px;padding:14px 16px;background:linear-gradient(120deg,color-mix(in srgb,var(--airspace-accent,#60a5fa) 28%,transparent) 0,rgba(15,23,36,.92) 55%,rgba(11,18,32,.98) 100%);border-bottom:1px solid color-mix(in srgb,var(--airspace-accent,#60a5fa) 22%,transparent);border-left:3px solid var(--airspace-accent,#60a5fa)}.map-popup--airspace .airspace-popup-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;font-size:16px;color:var(--airspace-accent,#60a5fa);background:color-mix(in srgb,var(--airspace-accent,#60a5fa) 18%,transparent);border:1px solid color-mix(in srgb,var(--airspace-accent,#60a5fa) 40%,transparent)}.map-popup--airspace .popup-header-text{display:flex;flex-direction:column;gap:3px;min-width:0}.map-popup--airspace .popup-title{font-size:15px;font-weight:650;color:#f8fafc;line-height:1.3}.map-popup--airspace .popup-subtitle{font-size:12px;color:#94a3b8}.map-popup--airspace .airspace-rule{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 14px;font-size:12.5px;line-height:1.45;color:#e2e8f0;border-bottom:1px solid rgba(148,163,184,.12)}.map-popup--airspace .airspace-rule i{margin-top:2px;flex-shrink:0}.map-popup--airspace .airspace-rule--permit{background:rgba(37,99,235,.16);color:#bfdbfe}.map-popup--airspace .airspace-rule--limit,.map-popup--airspace .airspace-rule--warn{background:rgba(245,158,11,.14);color:#fde68a}.map-popup--airspace .airspace-rule--danger,.map-popup--airspace .airspace-rule--forbid{background:rgba(239,68,68,.16);color:#fecaca}.map-popup--airspace .airspace-rule--temp{background:rgba(6,182,212,.14);color:#a5f3fc}.map-popup--airspace .airspace-rule--train{background:rgba(232,121,249,.16);color:#f5d0fe}.map-popup--airspace .airspace-rule--flyable{background:rgba(34,197,94,.12);color:#bbf7d0}.map-popup--airspace-controlled{border-color:rgba(96,165,250,.4)}.map-popup--airspace-training{border-color:rgba(232,121,249,.45)}.map-popup--airspace-flyable,.map-popup--airspace-low_altitude{border-color:rgba(74,222,128,.4)}.map-popup--airspace-prohibited,.map-popup--airspace-restricted{border-color:hsla(0,91%,71%,.45)}.map-popup--airspace-danger,.map-popup--airspace-warning{border-color:rgba(251,191,36,.45)}.map-popup--airspace-temporary{border-color:rgba(34,211,238,.4)}.map-popup--airspace .airspace-popup-body{padding:10px 14px 14px;max-height:340px;overflow-y:auto}.map-popup--airspace .popup-row{padding:6px 0;border-bottom:1px dashed rgba(148,163,184,.12)}.map-popup--airspace .popup-row:last-child{border-bottom:none}.map-popup--airspace .popup-label{color:#94a3b8;min-width:72px}.map-popup--airspace .popup-value{color:#e2e8f0;text-align:right;word-break:break-word}.map-popup--airspace .popup-value--status.is-on{color:#4ade80;font-weight:600}.map-popup--airspace .popup-value--status.is-off{color:#94a3b8}.map-popup--airspace .popup-value--status.is-pending{color:#fbbf24}.map-popup--airspace .airspace-type-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;color:#f8fafc;background:color-mix(in srgb,var(--chip,#60a5fa) 28%,transparent);border:1px solid color-mix(in srgb,var(--chip,#60a5fa) 45%,transparent)}.map-popup--airspace .airspace-note{margin-top:10px;padding:10px 12px;border-radius:8px;background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.14)}.map-popup--airspace .airspace-note--muted{background:rgba(37,99,235,.08);border-color:rgba(96,165,250,.2)}.map-popup--airspace .airspace-note__label{font-size:11px;letter-spacing:.04em;color:#94a3b8;margin-bottom:4px}.map-popup--airspace .airspace-note__text{font-size:12.5px;line-height:1.5;color:#e2e8f0;white-space:pre-wrap}.map-popup--rid-ship .popup-header{gap:12px;padding:14px 16px;background:linear-gradient(120deg,rgba(13,148,136,.32),rgba(15,23,32,.92) 58%,rgba(11,20,28,.98));border-bottom:1px solid rgba(45,212,191,.22);border-left:3px solid #2dd4bf}.map-popup--rid-ship .popup-icon{font-size:inherit;line-height:0}.map-popup--rid-ship .popup-header-text{display:flex;flex-direction:column;gap:2px;min-width:0}.map-popup--rid-ship .popup-title{font-size:14px;font-weight:650;letter-spacing:.3px;color:#5eead4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-popup--rid-ship .popup-subtitle{font-size:11px;font-weight:500;letter-spacing:.4px;color:rgba(153,246,228,.72)}.map-popup--rid-ship .popup-body{padding:10px 14px 12px;background:linear-gradient(180deg,#0d1520,#0a121a)}.map-popup--rid-ship .popup-row{padding:7px 0;border-bottom:1px solid rgba(45,212,191,.08)}.map-popup--rid-ship .popup-row:hover{background:rgba(45,212,191,.04);margin:0 -6px;padding-left:6px;padding-right:6px;border-radius:6px}.map-popup--rid-ship .popup-label{color:rgba(204,251,241,.62);font-size:12px}.map-popup--rid-ship .popup-value{color:#f0fdfa;font-size:12.5px;font-weight:500}@supports ((-webkit-mask:url("")) or (mask:url(""))){.popup-uav-icon{background:none;background-color:#00d4ff;mask:var(--popup-uav-icon) center /contain no-repeat;-webkit-mask:var(--popup-uav-icon) center /contain no-repeat}}.popup-title{font-size:15px;font-weight:600;color:#00d4ff;letter-spacing:.5px}.popup-body{padding:12px 16px;background:#0d1520}.popup-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid hsla(0,0%,100%,.08)}.popup-row:last-child{border-bottom:none}.popup-label{font-size:12px;color:hsla(0,0%,100%,.6);min-width:50px}.popup-value{font-size:12px;color:#fff;text-align:right;flex:1;margin-left:12px}.map-popup--route .popup-row--center{justify-content:center}.map-popup--route .popup-value--center{flex:none;margin-left:0;text-align:center}.popup-value.status-active{color:#00e676}.popup-value.status-inactive{color:#9e9e9e}.battery-indicator{display:inline-block;width:32px;height:10px;background:hsla(0,0%,100%,.1);border-radius:3px;overflow:hidden;vertical-align:middle;margin-right:6px;border:1px solid hsla(0,0%,100%,.15)}.battery-bar{display:block;height:100%;border-radius:2px;transition:width .3s ease}.popup-value.battery-low{color:#f44}.popup-value.battery-mid{color:#fa0}.popup-value.battery-high{color:#00e676}.popup-na{display:inline-block;font-size:11px;color:hsla(0,0%,100%,.35);background:hsla(0,0%,100%,.06);border-radius:3px;padding:1px 8px;letter-spacing:.5px}.mars3d-popup{animation:popupFadeIn .25s ease-out}.mars3d-popup--alert{animation:alertToastFadeIn .25s ease-out}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes alertToastFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(10px) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}@keyframes alertPulse{0%,to{transform:scale(1);box-shadow:0 0 12px rgba(244,67,54,.5)}50%{transform:scale(1.08);box-shadow:0 0 18px rgba(244,67,54,.8)}}.landing-site-label{display:inline-flex;align-items:center;gap:0;border-radius:4px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.6),0 0 12px var(--tag-color,#f80);border:1px solid hsla(0,0%,100%,.3);pointer-events:none;white-space:nowrap}.landing-site-label--map{box-shadow:0 2px 10px rgba(0,0,0,.55);border:1px solid hsla(0,0%,100%,.35);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision}.landing-site-label__tag{padding:3px 8px;font-size:12px;font-weight:700;color:#fff;background:var(--tag-color,#f80);letter-spacing:1px}.landing-site-label__name{padding:3px 10px;font-size:13px;font-weight:600;color:#fff;background:rgba(0,0,0,.85);letter-spacing:.5px}.landing-site-label--map .landing-site-label__name{font-size:13px;font-weight:600;line-height:1.25;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.map-popup--cns{min-width:500px;max-width:600px;border-radius:10px;border:1px solid rgba(0,212,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.6),0 0 20px rgba(0,212,255,.1);overflow:hidden}.map-popup--cns .popup-header{border-color:#00d4ff;background:linear-gradient(90deg,rgba(0,120,180,.25),rgba(0,60,100,.1));padding:12px 16px;border-bottom:1px solid rgba(0,212,255,.2);display:flex;align-items:center;gap:10px}.map-popup--cns .popup-header .popup-icon{font-size:20px}.map-popup--cns .popup-header .popup-title{font-size:15px;font-weight:600;letter-spacing:.5px}.map-popup--cns .popup-header .popup-status{margin-left:auto;font-size:11px;padding:3px 10px;border-radius:10px;font-weight:600;letter-spacing:.5px}.map-popup--cns .popup-body{padding:10px 14px}.map-popup--cns .popup-row{padding:6px 8px;border-radius:4px;transition:background .15s}.map-popup--cns .popup-row:hover{background:rgba(0,212,255,.06)}.map-popup--cns .popup-label{min-width:50px;color:rgba(0,212,255,.7);font-size:12px}.map-popup--cns .popup-value{font-size:13px;color:hsla(0,0%,100%,.9)}.popup-landing-cap-hint{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:10px 12px;border-radius:6px;border:1px solid rgba(251,191,36,.28);background:rgba(251,191,36,.08);font-size:12px;line-height:1.45;color:hsla(0,0%,100%,.82)}.popup-landing-cap-hint i{color:#fbbf24;margin-top:2px}.popup-value-sub{display:block;margin-top:2px;font-size:11px;color:hsla(0,0%,100%,.45);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.popup-value--hint{color:hsla(0,0%,100%,.55);font-size:12px}.cns-tab-badge{display:inline-block;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:9px;background:rgba(0,212,255,.18);color:#00d4ff;font-size:11px;font-weight:700;line-height:18px;vertical-align:middle}.cns-tab--hidden{display:none!important}.landing-devices-pane{padding:10px 12px 12px}.landing-devices-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.landing-devices-summary{font-size:13px;font-weight:600;color:hsla(0,0%,100%,.88)}.landing-devices-refresh{padding:4px 10px;border-radius:4px;border:1px solid rgba(0,212,255,.35);background:rgba(0,212,255,.08);color:#00d4ff;font-size:12px;cursor:pointer}.landing-devices-refresh:hover{background:rgba(0,212,255,.16)}.landing-devices-body{min-height:80px}.landing-devices-empty,.landing-devices-error,.landing-devices-placeholder{padding:24px 12px;text-align:center;font-size:12px;line-height:1.5;color:hsla(0,0%,100%,.5)}.landing-devices-placeholder i{margin-right:6px;color:#00d4ff}.landing-devices-error{color:#ff8a80}.landing-devices-footnote{margin-top:10px;padding-top:8px;border-top:1px solid hsla(0,0%,100%,.06);font-size:11px;color:hsla(0,0%,100%,.42);line-height:1.45}.popup-bound-devices-scroll{max-height:220px;overflow:auto}.popup-bound-devices-table{width:100%;border-collapse:collapse;font-size:12px}.popup-bound-devices-table thead{position:sticky;top:0;z-index:1;background:rgba(0,35,55,.98)}.popup-bound-devices-table th{padding:8px 10px;text-align:left;font-weight:600;color:rgba(0,212,255,.75);border-bottom:1px solid rgba(0,212,255,.12);white-space:nowrap}.popup-bound-devices-table th:first-child{width:34px;text-align:center}.popup-bound-devices-table th:last-child{width:52px;text-align:center}.popup-bound-table-row:nth-child(2n){background:hsla(0,0%,100%,.02)}.popup-bound-table-row:hover{background:rgba(0,212,255,.06)}.popup-bound-table-cell{padding:7px 10px;vertical-align:middle;border-bottom:1px solid hsla(0,0%,100%,.04)}.popup-bound-table-cell--idx{text-align:center;color:hsla(0,0%,100%,.35);font-size:11px}.popup-bound-table-cell--role{white-space:nowrap}.popup-bound-table-role{display:inline-block;padding:2px 6px;border-radius:4px;background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.78);font-size:11px}.popup-bound-table-role--pole{background:rgba(0,212,255,.14);color:#7ee8ff;border:1px solid rgba(0,212,255,.22)}.popup-bound-table-name{display:block;color:hsla(0,0%,100%,.92);line-height:1.35;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup-bound-table-code{display:block;margin-top:1px;font-size:10px;color:hsla(0,0%,100%,.38);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.popup-bound-table-cell--status{text-align:center}.popup-bound-table-status{font-size:11px;font-weight:600}.popup-bound-table-status.is-online{color:#00e676}.popup-bound-table-status.is-offline{color:#9e9e9e}.popup-bound-table-status.is-ezviz{color:#00d4ff}.popup-bound-devices-empty{padding:12px 10px;font-size:12px;line-height:1.45;color:hsla(0,0%,100%,.45);text-align:center}.map-popup--landing-site:not(:has(.cns-tabs)) .cns-tab-content{border-top:1px solid rgba(0,212,255,.12)}.cns-tabs{display:flex;background:rgba(0,20,40,.6);border-bottom:1px solid rgba(0,212,255,.15);position:relative;z-index:10;padding:0 4px}.cns-tab{flex:1;padding:10px 8px;background:transparent;border:none;color:hsla(0,0%,100%,.5);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;letter-spacing:.5px}.cns-tab:hover{color:#00d4ff;background:rgba(0,212,255,.08)}.cns-tab.active{color:#00d4ff;background:rgba(0,212,255,.12);border-bottom-color:#00d4ff;font-weight:600;text-shadow:0 0 8px rgba(0,212,255,.4)}.cns-tab--disabled{color:hsla(0,0%,100%,.25);cursor:not-allowed;pointer-events:none}.cns-tab--disabled:hover{color:hsla(0,0%,100%,.25);background:transparent}.tab-offline-hint{display:inline-block;font-size:10px;margin-left:4px;padding:0 4px;border-radius:4px;background:rgba(244,67,54,.3);color:rgba(244,67,54,.8);vertical-align:middle;line-height:16px}.cns-tab-content{background:rgba(10,18,28,.95);position:relative;z-index:5}.cns-tab-pane{display:none}.cns-tab-pane.active{display:block}.landing-control-section{padding:12px}.landing-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.landing-control-block{display:flex;flex-direction:column;gap:8px}.landing-control-label{color:rgba(0,212,255,.75);font-size:12px;font-weight:600}.landing-control-note{font-size:12px;line-height:1.5;color:hsla(0,0%,100%,.65)}.landing-control-param-row.hidden{display:none}.landing-control-note code{padding:1px 5px;border-radius:4px;background:rgba(0,212,255,.15);color:#7df2ff}.landing-control-input{width:100%;min-height:36px;padding:0 10px;border:1px solid rgba(0,212,255,.25);background:linear-gradient(180deg,rgba(24,43,66,.9),rgba(14,28,44,.9));color:hsla(0,0%,100%,.95);border-radius:6px;font-size:12px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.landing-control-input:focus{outline:none;border-color:rgba(0,212,255,.55);box-shadow:0 0 0 2px rgba(0,212,255,.2)}.landing-control-input:hover{border-color:rgba(0,212,255,.42)}.landing-control-input::-moz-placeholder{color:hsla(0,0%,100%,.5)}.landing-control-input::placeholder{color:hsla(0,0%,100%,.5)}.landing-control-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,rgba(125,242,255,.95) 0),linear-gradient(135deg,rgba(125,242,255,.95) 50%,transparent 0),linear-gradient(180deg,rgba(24,43,66,.9),rgba(14,28,44,.9));background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 9px) calc(50% - 2px),0 0;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat}.landing-control-select:focus{border-color:rgba(125,242,255,.72)}.landing-control-select option{background:#102030;color:rgba(245,250,255,.95)}.landing-control-btn{min-height:34px;border:1px solid rgba(0,212,255,.6);border-radius:6px;background:rgba(0,212,255,.18);color:#7df2ff;cursor:pointer;font-size:12px;font-weight:600}.landing-control-btn:disabled{cursor:not-allowed;opacity:.6}.landing-control-switch-row{display:grid;grid-template-columns:96px 1fr;gap:8px}.landing-control-feedback{min-height:20px;margin-top:10px;font-size:12px;color:hsla(0,0%,100%,.6)}.landing-control-feedback.loading{color:#7df2ff}.landing-control-feedback.success{color:#00e676}.landing-control-feedback.error{color:#ff6b6b}@media (max-width:720px){.landing-control-grid{grid-template-columns:1fr}}.cns-video-section{padding:12px}.video-dual-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.video-dual-container--single{grid-template-columns:minmax(0,1fr)}.video-dual-container--odd-tail .video-channel:last-child,.video-dual-container--single .video-channel{grid-column:1/-1}.video-channel{display:flex;flex-direction:column;gap:4px;min-width:0}.video-channel-label{font-size:11px;color:hsla(0,0%,100%,.8);text-align:center;padding:5px 0;background:linear-gradient(90deg,rgba(0,212,255,.15),rgba(0,150,200,.1));border-radius:4px 4px 0 0;font-weight:500;letter-spacing:.5px}.video-player-wrapper{position:relative;background:#000;border-radius:0 0 6px 6px;overflow:hidden;min-height:180px}.video-player-wrapper .video-js.vjs-fullscreen canvas,.video-player-wrapper .video-js:-webkit-full-screen canvas,.video-player-wrapper .video-js:fullscreen canvas,.video-player-wrapper:-webkit-full-screen .video-js,.video-player-wrapper:-webkit-full-screen canvas,.video-player-wrapper:fullscreen .video-js,.video-player-wrapper:fullscreen canvas{width:100%!important;height:100%!important}.video-player-wrapper .video-js .vjs-control-bar{z-index:30}.cns-video-player{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:hsla(0,0%,100%,.5);font-size:12px;cursor:pointer;transition:background .2s}.video-placeholder:hover{background:rgba(0,212,255,.1)}.video-loading-icon{font-size:32px}.video-controls{margin-top:10px}.video-source-select{width:100%;padding:8px 10px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:4px;color:#fff;font-size:12px;cursor:pointer}.video-source-select:focus{outline:none;border-color:#00d4ff}.video-source-select option{background:#1a2332;color:#fff}.cns-weather-section{padding:12px}.weather-main{display:flex;align-items:center;gap:12px;padding:12px;background:linear-gradient(135deg,rgba(0,150,255,.15),rgba(0,100,200,.1));border-radius:8px;margin-bottom:12px}.weather-icon{font-size:36px}.weather-temp{display:flex;align-items:flex-start}.weather-temp .temp-value{font-size:28px;font-weight:300;color:#fff}.weather-temp .temp-unit{font-size:14px;color:hsla(0,0%,100%,.6);margin-top:4px}.weather-desc{font-size:14px;color:hsla(0,0%,100%,.8);margin-left:auto}.weather-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.weather-item{display:flex;justify-content:space-between;padding:8px 10px;background:hsla(0,0%,100%,.05);border-radius:4px}.weather-item .weather-label{font-size:11px;color:hsla(0,0%,100%,.5)}.weather-item .weather-value{font-size:12px;color:#fff}.flight-condition{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:rgba(0,230,118,.1);border:1px solid rgba(0,230,118,.3);border-radius:6px}.flight-condition .condition-label{font-size:12px;color:hsla(0,0%,100%,.7)}.flight-condition .condition-value{font-size:13px;font-weight:500;color:#00e676}.flight-condition .condition-value.moderate{color:#ffc107}.flight-condition .condition-value.poor{color:#f44336}.mx-datepicker-popup{border:1px solid var(--border-color)!important;border-radius:var(--radius-md)!important;box-shadow:0 8px 32px rgba(0,0,0,.5)!important;color:#e0e0e0!important}.mx-datepicker-body,.mx-datepicker-content,.mx-datepicker-popup,.mx-datepicker-sidebar{background:#1a2332!important}.mx-datepicker-sidebar{border-right:1px solid var(--border-color)!important}.mx-calendar,.mx-datepicker-sidebar+.mx-datepicker-content{background:#1a2332!important}.mx-calendar{color:#e0e0e0!important}.mx-calendar-content,.mx-calendar-header,.mx-calendar-panel-date,.mx-calendar-panel-month,.mx-calendar-panel-year{background:#1a2332!important}.mx-calendar-header{border-bottom:1px solid var(--border-color)!important}.mx-calendar-header-label{color:#e0e0e0!important}.mx-calendar-header-label:hover{color:var(--accent-color)!important}.mx-btn-icon-double-left,.mx-btn-icon-double-right,.mx-btn-icon-left,.mx-btn-icon-right{color:var(--text-secondary)!important}.mx-btn-icon-double-left:hover,.mx-btn-icon-double-right:hover,.mx-btn-icon-left:hover,.mx-btn-icon-right:hover{color:var(--accent-color)!important}.mx-table,.mx-table th{background:#1a2332!important}.mx-table th{color:var(--text-hint)!important}.mx-table td{color:#e0e0e0!important}.mx-table td,.mx-table td:hover{background:transparent!important}.mx-table-date .cell,.mx-table-month .cell,.mx-table-year .cell{border-radius:var(--radius-sm)!important;color:#e0e0e0!important}.mx-table-date .cell:hover,.mx-table-month .cell:hover,.mx-table-year .cell:hover{background:hsla(0,0%,100%,.1)!important;color:var(--accent-color)!important}.mx-table-date .cell.active,.mx-table-month .cell.active,.mx-table-year .cell.active{background:var(--accent-color)!important;color:#fff!important}.mx-table-date .cell.in-range{background:rgba(0,212,255,.2)!important}.mx-table-date .cell.disabled,.mx-table-month .cell.disabled,.mx-table-year .cell.disabled{color:#555!important;opacity:.5}.mx-table-date .cell.today{color:var(--accent-color)!important}.mx-time,.mx-time-header{background:#1a2332!important}.mx-time-header{border-bottom:1px solid var(--border-color)!important;color:#e0e0e0!important}.mx-time-column,.mx-time-columns,.mx-time-content{background:#1a2332!important}.mx-time-column{border-left:1px solid var(--border-color)!important}.mx-time-column:first-child{border-left:none!important}.mx-time-column .mx-time-list{background:#1a2332!important}.mx-time-item{color:#b0b0b0!important}.mx-time-item:hover{background:hsla(0,0%,100%,.1)!important;color:var(--accent-color)!important}.mx-time-item.active{background:var(--accent-color)!important;color:#fff!important}.mx-time-item.disabled{color:#555!important;opacity:.5}.mx-datepicker-footer{border-top:1px solid var(--border-color)!important;background:#1a2332!important}.mx-datepicker-btn-confirm{background:var(--accent-color)!important;color:#fff!important;border:none!important}.mx-datepicker-btn-confirm:hover{background:var(--accent-hover)!important}.replay-datetime-popup{z-index:2000!important}