.device-type-filter[data-v-5cb3139a]{padding:10px 0 8px;border-bottom:1px solid rgba(96,165,250,.15);background:linear-gradient(90deg,#162b45,#1e3a5f,#162b45);flex-shrink:0}.filter-tabs[data-v-5cb3139a]{display:flex;gap:4px;padding:0 8px;flex-wrap:wrap}.filter-tab[data-v-5cb3139a]{display:flex;align-items:center;gap:4px;padding:5px 10px;background:hsla(0,0%,100%,.06);border:1px solid rgba(96,165,250,.2);border-radius:4px;color:#93c5fd;cursor:pointer;font-size:11px;font-weight:500;transition:all .2s}.filter-tab[data-v-5cb3139a]:hover{background:rgba(96,165,250,.15);border-color:rgba(96,165,250,.4)}.filter-tab.active[data-v-5cb3139a]{background:rgba(96,165,250,.25);border-color:rgba(96,165,250,.6);color:#fff;font-weight:600}.filter-count[data-v-5cb3139a]{background:hsla(0,0%,100%,.15);padding:1px 5px;border-radius:8px;font-size:10px}.filter-tab.active .filter-count[data-v-5cb3139a]{background:hsla(0,0%,100%,.25)}.device-list[data-v-5cb3139a]{display:flex;flex-direction:column;gap:8px;padding:8px 0 0;flex:1;min-height:0;overflow-y:auto}.device-category[data-v-5cb3139a]{margin-bottom:4px}.category-header[data-v-5cb3139a]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:hsla(0,0%,100%,.03);border-radius:4px;margin-bottom:6px}.category-icon[data-v-5cb3139a]{font-size:12px}.category-name[data-v-5cb3139a]{font-size:12px;font-weight:600;color:#94a3b8;flex:1}.category-count[data-v-5cb3139a]{font-size:10px;color:#64748b;background:hsla(0,0%,100%,.08);padding:2px 6px;border-radius:8px}.device-summary[data-v-5cb3139a]{display:flex;justify-content:space-between;align-items:center;padding:10px 0 12px;border-bottom:1px solid rgba(96,165,250,.15);margin-bottom:8px}.online-count[data-v-5cb3139a]{font-size:13px;font-weight:600;color:#67c23a}.total-count[data-v-5cb3139a]{font-size:11px;color:#94a3b8;margin-left:8px}.toggle-offline-btn[data-v-5cb3139a]{display:flex;align-items:center;gap:6px;background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.3);border-radius:4px;padding:5px 10px;color:#93c5fd;cursor:pointer;font-size:12px;transition:all .2s}.toggle-offline-btn[data-v-5cb3139a]:hover{background:rgba(96,165,250,.2);border-color:rgba(96,165,250,.5);color:#fff}.toggle-icon[data-v-5cb3139a]{font-size:10px;font-weight:700;transition:transform .3s}.toggle-text[data-v-5cb3139a]{white-space:nowrap}.device-item[data-v-5cb3139a]{display:flex;align-items:center;gap:12px;padding:12px;background:hsla(0,0%,100%,.06);border-radius:6px;border:1px solid rgba(96,165,250,.25);cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s;color:#e2e8f0}.device-item[data-v-5cb3139a]:hover{background:hsla(0,0%,100%,.09);border-color:rgba(96,165,250,.38)}.device-item.selected[data-v-5cb3139a]{border-color:rgba(96,165,250,.55);box-shadow:0 0 0 1px rgba(96,165,250,.18);background:rgba(96,165,250,.08)}.device-item.online.selected[data-v-5cb3139a]{box-shadow:inset 3px 0 0 #22c55e,0 0 0 1px rgba(96,165,250,.18)}.device-item.offline.selected[data-v-5cb3139a]{box-shadow:inset 3px 0 0 #64748b,0 0 0 1px rgba(96,165,250,.18)}.device-item.online[data-v-5cb3139a]{box-shadow:inset 3px 0 0 #22c55e}.device-item.offline[data-v-5cb3139a]{background:hsla(0,0%,100%,.03);opacity:.92;border-color:rgba(96,165,250,.12);box-shadow:inset 3px 0 0 #64748b}.device-item.compact[data-v-5cb3139a]{padding:12px 14px;display:flex;align-items:center;gap:0;min-height:auto}.device-info[data-v-5cb3139a]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.device-name-row[data-v-5cb3139a]{display:flex;align-items:center;justify-content:space-between;gap:8px;overflow:hidden}.device-name[data-v-5cb3139a]{font-size:14px;font-weight:600;color:#f1f5f9;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-status-chip[data-v-5cb3139a]{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap;flex-shrink:0}.device-status-chip.status-online[data-v-5cb3139a]{background:#e8f5e9;color:#2e7d32}.device-status-chip.status-offline[data-v-5cb3139a]{background:#ffebee;color:#c62828}.device-sn-row[data-v-5cb3139a]{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#94a3b8;overflow:hidden}.device-sn[data-v-5cb3139a]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-last-seen[data-v-5cb3139a]{flex-shrink:0;color:#64748b}.empty-message[data-v-5cb3139a]{text-align:center;color:hsla(0,0%,100%,.6);padding:20px}.sidebar-section-device[data-v-5cb3139a]{display:flex;flex-direction:column;height:100%;min-height:0}.zone-filter[data-v-5cb3139a]{padding:10px 0 12px;margin:0;border-bottom:1px solid rgba(96,165,250,.15);background:linear-gradient(90deg,#162b45,#1e3a5f,#162b45);flex-shrink:0}.zone-filter label[data-v-5cb3139a]{display:block;margin-bottom:6px;font-size:12px;color:#93c5fd;font-weight:500}.zone-filter select[data-v-5cb3139a]{width:100%;padding:7px 10px;border:1px solid rgba(96,165,250,.3);border-radius:5px;background:rgba(15,23,42,.6);color:#e2e8f0;font-size:12px;cursor:pointer}.zone-filter select[data-v-5cb3139a]:focus{outline:none;border-color:rgba(96,165,250,.55)}.zone-filter option[data-v-5cb3139a]{background:#0f172a;color:#e2e8f0}.drone-panel-root[data-v-617c9dd8]{display:flex;flex-direction:column;height:100%;min-height:0;background:transparent;color:#e2e8f0}.panel-header[data-v-617c9dd8]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(90deg,#162b45,#1e3a5f,#162b45);border-bottom:1px solid rgba(96,165,250,.15);flex-shrink:0}.header-left[data-v-617c9dd8]{display:flex;align-items:center;gap:12px}.header-alarm-icon[data-v-617c9dd8]{color:#93c5fd;flex-shrink:0}.header-stat[data-v-617c9dd8]{display:flex;flex-direction:column;align-items:center}.stat-label[data-v-617c9dd8]{font-size:10px;color:#64748b;line-height:1;margin-bottom:2px}.stat-value[data-v-617c9dd8]{font-size:18px;font-weight:700;color:#bfdbfe;line-height:1}.stat-value.active[data-v-617c9dd8]{color:#f87171;text-shadow:0 0 8px hsla(0,91%,71%,.5)}.header-divider[data-v-617c9dd8]{width:1px;height:28px;background:hsla(0,0%,100%,.1);margin:0 2px}.header-filter-btn[data-v-617c9dd8]{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid rgba(96,165,250,.4);border-radius:4px;background:rgba(96,165,250,.15);color:#93c5fd;font-size:12px;cursor:pointer;flex-shrink:0}.header-filter-btn.active[data-v-617c9dd8]{background:rgba(96,165,250,.25);border-color:rgba(96,165,250,.6);color:#fff}.tab-bar[data-v-617c9dd8]{display:flex;border-bottom:1px solid rgba(96,165,250,.15);flex-shrink:0}.tab-btn[data-v-617c9dd8]{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 4px;border:none;border-bottom:2px solid transparent;background:transparent;color:#93c5fd;font-size:12px;cursor:pointer;transition:color .2s,border-color .2s;white-space:nowrap}.tab-btn.active[data-v-617c9dd8]{color:#fff;font-weight:600;border-bottom-color:#60a5fa}.tab-badge[data-v-617c9dd8]{min-width:18px;height:18px;border-radius:9px;background:#dc2626;color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.filter-dropdown[data-v-617c9dd8]{padding:8px 12px;border-bottom:1px solid rgba(96,165,250,.15);flex-shrink:0}.filter-select[data-v-617c9dd8]{width:100%;padding:7px 10px;border:1px solid rgba(96,165,250,.3);border-radius:5px;font-size:12px;background:rgba(15,23,42,.6);color:#e2e8f0}.drone-list[data-v-617c9dd8]{flex:1;min-height:0;overflow-y:auto;padding:8px 0 0;display:flex;flex-direction:column;gap:8px}.drone-card[data-v-617c9dd8]{flex-shrink:0;height:190px;width:100%;border-radius:6px;border:1px solid rgba(96,165,250,.25);background:hsla(0,0%,100%,.06);overflow:hidden;transition:border-color .2s,box-shadow .2s,background .2s;position:relative;display:flex;flex-direction:column}.drone-card[data-v-617c9dd8]:hover{background:hsla(0,0%,100%,.09);border-color:rgba(96,165,250,.38)}.drone-card.has-alarm[data-v-617c9dd8]{border-color:rgba(220,38,38,.45)}.drone-card.has-alarm[data-v-617c9dd8]:hover{background:rgba(220,38,38,.06)}.drone-card.selected[data-v-617c9dd8]{border-color:rgba(96,165,250,.55);box-shadow:0 0 0 1px rgba(96,165,250,.18);background:rgba(96,165,250,.08)}.drone-card.has-alarm.selected[data-v-617c9dd8]{border-color:rgba(220,38,38,.6);box-shadow:0 0 0 1px rgba(220,38,38,.2)}.drone-card.has-dismissed[data-v-617c9dd8]{border-color:rgba(156,163,175,.4)}.drone-card.has-dismissed[data-v-617c9dd8]:hover{background:rgba(156,163,175,.06)}.drone-card.has-dismissed.selected[data-v-617c9dd8]{border-color:rgba(156,163,175,.6);box-shadow:0 0 0 1px rgba(156,163,175,.2);background:rgba(156,163,175,.08)}.card-main[data-v-617c9dd8]{flex:1;min-height:0;overflow:hidden;padding:7px 10px 10px;cursor:pointer;display:flex;flex-direction:column}.card-head[data-v-617c9dd8]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;overflow:hidden}.card-head-right[data-v-617c9dd8]{display:flex;align-items:center;gap:5px;flex-shrink:0}.card-title[data-v-617c9dd8]{display:flex;align-items:center;gap:6px;color:#93c5fd;min-width:0;flex:1;overflow:hidden}.drone-model[data-v-617c9dd8]{font-size:13px;font-weight:600;color:#f1f5f9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;flex-shrink:1}.alarm-badge[data-v-617c9dd8]{font-size:11px;font-weight:700;padding:2px 8px;border-radius:3px;flex-shrink:0;background:#dc2626;color:#fff}.alarm-badge.level-2[data-v-617c9dd8]{background:#b45309;color:#fef3c7}.alarm-badge--dismissed[data-v-617c9dd8]{background:#9ca3af;color:#fff}.alarm-tags[data-v-617c9dd8]{display:flex;flex-wrap:nowrap;gap:5px;margin-bottom:5px;flex-shrink:0;overflow:hidden}.tag[data-v-617c9dd8]{font-size:10px;padding:1px 7px;border-radius:3px}.tag--red[data-v-617c9dd8]{background:rgba(220,38,38,.2);color:#fca5a5;border:1px solid rgba(220,38,38,.35)}.tag--gray[data-v-617c9dd8]{background:rgba(156,163,175,.2);color:#d1d5db;border:1px solid rgba(156,163,175,.35)}.card-body[data-v-617c9dd8]{flex:1;min-height:0;font-size:11.5px;line-height:1.65;display:flex;flex-direction:column;overflow:hidden}.info-row[data-v-617c9dd8]{flex-shrink:0;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:1.65em}.info-row--blue[data-v-617c9dd8]{color:#93c5fd;font-weight:500}.info-row--dim[data-v-617c9dd8]{color:#64748b}.card-footer[data-v-617c9dd8]{display:inline-flex;gap:4px;flex-shrink:0;vertical-align:middle;margin-left:auto}.info-row--with-actions[data-v-617c9dd8]{display:flex;flex-wrap:nowrap;overflow:hidden}.info-row-text[data-v-617c9dd8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.icon-btn[data-v-617c9dd8]{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsla(0,0%,100%,.12);border-radius:4px;background:rgba(15,23,42,.7);color:#94a3b8;cursor:pointer;padding:0}.icon-btn--blue[data-v-617c9dd8]{background:rgba(96,165,250,.18);border-color:rgba(96,165,250,.38);color:#93c5fd}.icon-btn--red[data-v-617c9dd8]{background:rgba(185,28,28,.2);border-color:hsla(0,91%,71%,.35);color:#fca5a5}.icon-btn--orange[data-v-617c9dd8]{background:rgba(234,88,12,.2);border-color:rgba(251,146,60,.35);color:#fdba74}.dismiss-btn[data-v-617c9dd8]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border-radius:50%;border:1px solid hsla(0,91%,71%,.5);background:rgba(185,28,28,.25);color:#fca5a5;cursor:pointer;transition:background .15s,color .15s,transform .15s;flex-shrink:0;line-height:1}.dismiss-btn[data-v-617c9dd8]:hover{background:rgba(220,38,38,.5);color:#fff;transform:scale(1.1)}.traj-loading[data-v-617c9dd8]{display:flex;align-items:center;gap:7px;padding:6px 10px;border-top:1px solid rgba(96,165,250,.12);font-size:11px;color:#93c5fd;background:rgba(96,165,250,.06)}.mini-spinner[data-v-617c9dd8]{width:12px;height:12px;border:2px solid rgba(96,165,250,.3);border-top-color:#60a5fa;border-radius:50%;animation:spin-617c9dd8 .8s linear infinite;flex-shrink:0}@keyframes spin-617c9dd8{to{transform:rotate(1turn)}}.empty-state[data-v-617c9dd8]{flex-direction:column;padding:48px 12px;color:#334155;font-size:13px;text-align:center;flex:1}.empty-state[data-v-617c9dd8],.pagination[data-v-617c9dd8]{display:flex;align-items:center;justify-content:center;gap:10px}.pagination[data-v-617c9dd8]{padding:10px 8px 12px;border-top:1px solid rgba(96,165,250,.12);flex-shrink:0;background:linear-gradient(180deg,transparent,rgba(15,45,82,.4));flex-wrap:wrap}.page-btn[data-v-617c9dd8]{min-width:30px;height:28px;border-radius:4px;border:1px solid rgba(96,165,250,.3);background:rgba(15,45,82,.6);color:#93c5fd;cursor:pointer;transition:all .2s}.page-btn[data-v-617c9dd8]:hover:not(:disabled){background:rgba(30,70,130,.7);border-color:rgba(96,165,250,.55);color:#fff}.page-btn[data-v-617c9dd8]:disabled{opacity:.3;cursor:not-allowed}.page-info[data-v-617c9dd8]{font-size:12px;color:#64748b;flex-shrink:0}.page-jump[data-v-617c9dd8]{display:flex;align-items:center;gap:5px;font-size:11px;color:#64748b;flex-shrink:0}.page-input[data-v-617c9dd8]{width:42px;height:26px;padding:0 5px;border:1px solid rgba(96,165,250,.3);border-radius:4px;background:rgba(15,23,42,.6);color:#e2e8f0;font-size:12px;text-align:center;-moz-appearance:textfield}.page-input[data-v-617c9dd8]::-webkit-inner-spin-button,.page-input[data-v-617c9dd8]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-input[data-v-617c9dd8]:focus{outline:none;border-color:rgba(96,165,250,.6)}.first-alarm-btn[data-v-617c9dd8]{display:inline-flex;align-items:center;gap:5px;padding:0 10px;min-width:unset;font-size:11px;border-color:rgba(220,38,38,.4);background:rgba(220,38,38,.15);color:#fca5a5;font-weight:600}.first-alarm-btn[data-v-617c9dd8]:hover:not(:disabled){background:rgba(220,38,38,.28);border-color:rgba(220,38,38,.65);color:#fff}.first-alarm-count[data-v-617c9dd8]{min-width:16px;height:16px;border-radius:8px;background:#dc2626;color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.alarm-bell-wrapper[data-v-617c9dd8]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.alarm-bell-icon[data-v-617c9dd8]{animation:alarm-bell-flash-617c9dd8 .8s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(239,68,68,.6))}.alarm-bell-icon.level-1[data-v-617c9dd8]{color:#ef4444;animation:alarm-bell-flash-urgent-617c9dd8 .5s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(239,68,68,.8))}.alarm-bell-icon.level-2[data-v-617c9dd8]{color:#f59e0b;animation:alarm-bell-flash-617c9dd8 .8s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(245,158,11,.6))}@keyframes alarm-bell-flash-617c9dd8{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes alarm-bell-flash-urgent-617c9dd8{0%,to{opacity:.3;transform:scale(.95) rotate(-5deg)}25%{opacity:1;transform:scale(1.15) rotate(5deg)}50%{opacity:.3;transform:scale(.95) rotate(-5deg)}75%{opacity:1;transform:scale(1.15) rotate(5deg)}}.drone-card.has-alarm[data-v-617c9dd8]{animation:card-alarm-pulse-617c9dd8 2s ease-in-out infinite}.drone-card.has-alarm.level-1[data-v-617c9dd8]{animation:card-alarm-pulse-urgent-617c9dd8 1s ease-in-out infinite}@keyframes card-alarm-pulse-617c9dd8{0%,to{box-shadow:0 0 0 0 rgba(220,38,38,0)}50%{box-shadow:0 0 8px 2px rgba(220,38,38,.3)}}@keyframes card-alarm-pulse-urgent-617c9dd8{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,0);border-color:rgba(220,38,38,.45)}50%{box-shadow:0 0 12px 4px rgba(239,68,68,.5);border-color:rgba(239,68,68,.8)}}.cesium-css2d-label{position:absolute;pointer-events:none;white-space:nowrap;transform:translate(-50%,-100%);margin-top:-8px;text-align:center;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Microsoft YaHei UI,Heiti SC,STHeiti,Noto Sans CJK SC,sans-serif;line-height:1.3}.cesium-css2d-label-inner{display:inline-block;padding:2px 7px;border-radius:4px;font-size:12px;font-weight:400;color:#fff;letter-spacing:.3px;box-shadow:0 1px 4px rgba(0,0,0,.3)}.cesium-css2d-label-inner--bold{font-weight:700;font-size:14px}.cesium-container{width:100%;height:100%;margin:0;padding:0;overflow:hidden}.cesium-viewer{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.cesium-viewer-bottom,.cesium-viewer-toolbar{display:none}.cesium-ion-credit,.cesium-viewer .cesium-credit-container,.cesium-viewer .cesium-credit-imageContainer,.cesium-viewer .cesium-credit-link,.cesium-viewer .cesium-credit-textContainer,.cesium-viewer .cesium-viewer-cesiumLogoContainer,.cesium-viewer .cesium-widget-credits,.cesium-viewer-cesiumCredit,.cesium-viewer-cesiumInspector{display:none!important}.zoom-percentage-display{top:20px;right:20px;background:rgba(42,42,42,.9);padding:8px 16px;font-weight:500;box-shadow:0 2px 8px rgba(0,0,0,.3);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.coordinate-display,.zoom-percentage-display{position:absolute;color:#fff;border-radius:4px;font-size:14px;z-index:1000;pointer-events:none}.coordinate-display{bottom:10px;left:10px;background:hsla(0,0%,51%,.7);padding:5px 10px;font-family:monospace}.map-container[data-v-0c6d5788]{width:100%;height:100%;position:relative;display:flex;flex-direction:column}.trajectory-controls-fab[data-v-0c6d5788]{position:fixed;top:150px;right:20px;z-index:1300;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.trajectory-fab-btn[data-v-0c6d5788]{width:46px;height:46px;border-radius:50%;border:1px solid hsla(0,0%,100%,.18);background:rgba(15,23,42,.9);color:#e5e7eb;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;transition:all .2s ease;backdrop-filter:blur(8px)}.trajectory-fab-btn[data-v-0c6d5788]:hover{transform:scale(1.06);border-color:rgba(96,165,250,.5);box-shadow:0 10px 22px rgba(59,130,246,.28)}.trajectory-fab-btn.active[data-v-0c6d5788]{background:rgba(59,130,246,.9);border-color:rgba(96,165,250,.8)}.trajectory-fab-btn.hasTrajectory[data-v-0c6d5788]{background:rgba(34,197,94,.9);border-color:rgba(74,222,128,.8)}.password-dialog-overlay[data-v-1a841e4f]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);display:flex;justify-content:flex-end;z-index:10000;backdrop-filter:blur(2px)}.password-dialog[data-v-1a841e4f]{background:#fff;box-shadow:0 0 20px rgba(0,0,0,.15);width:400px;height:calc(100vh - 70px);margin-top:70px;overflow-y:auto;position:relative;transform:translateX(100%);transition:transform .3s ease}.password-dialog.show[data-v-1a841e4f]{transform:translateX(0)}.dialog-header[data-v-1a841e4f]{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.dialog-header h3[data-v-1a841e4f]{margin:0;font-size:18px;font-weight:600;color:#1f2937}.close-btn[data-v-1a841e4f]{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.close-btn[data-v-1a841e4f]:hover{background:#f3f4f6;color:#374151}.dialog-body[data-v-1a841e4f]{padding:24px}.user-info-section[data-v-1a841e4f]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:20px}.info-row[data-v-1a841e4f]{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.info-row[data-v-1a841e4f]:last-child{margin-bottom:0}.label[data-v-1a841e4f]{color:#6b7280;font-weight:500}.value[data-v-1a841e4f]{color:#1f2937;font-weight:600}.field[data-v-1a841e4f]{margin-bottom:16px}.field label[data-v-1a841e4f]{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.field input[data-v-1a841e4f]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s}.field input[data-v-1a841e4f]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.field input[data-v-1a841e4f]:disabled{background:#f9fafb;cursor:not-allowed}.password-hint[data-v-1a841e4f]{margin:16px 0}.hint-text[data-v-1a841e4f]{margin:0 0 8px 0;font-size:12px;color:#6b7280;line-height:1.4}.error-hint[data-v-1a841e4f]{margin:4px 0;font-size:12px;color:#dc2626;font-weight:500}.dialog-actions[data-v-1a841e4f]{display:flex;gap:12px;margin-top:24px}.cancel-btn[data-v-1a841e4f],.submit-btn[data-v-1a841e4f]{flex:1;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid #d1d5db}.cancel-btn[data-v-1a841e4f]{background:#fff;color:#6b7280}.cancel-btn[data-v-1a841e4f]:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.submit-btn[data-v-1a841e4f]{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-color:#3b82f6}.submit-btn[data-v-1a841e4f]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.cancel-btn[data-v-1a841e4f]:disabled,.submit-btn[data-v-1a841e4f]:disabled{opacity:.5;cursor:not-allowed;transform:none}.error-message[data-v-1a841e4f]{margin-top:12px;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px;font-weight:500}.success-message[data-v-1a841e4f]{margin-top:12px;padding:8px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#16a34a;font-size:13px;font-weight:500}.top-navbar[data-v-c5659818]{display:flex;justify-content:space-between;align-items:center;height:70px;background:linear-gradient(135deg,rgba(15,76,146,.95),rgba(33,57,107,.95) 50%,rgba(27,53,95,.95));padding:0 24px;box-shadow:0 4px 20px rgba(0,0,0,.25),inset 0 0 0 1px hsla(0,0%,100%,.1);z-index:12000!important;backdrop-filter:blur(15px);border-bottom:1px solid hsla(0,0%,100%,.1);position:relative!important;isolation:isolate}.navbar-brand[data-v-c5659818]{display:flex;align-items:center;gap:12px;margin-right:10px;color:#fff;font-size:22px}.navbar-brand-text[data-v-c5659818],.navbar-brand[data-v-c5659818]{font-weight:700;letter-spacing:.5px;text-shadow:0 2px 4px rgba(0,0,0,.2)}.navbar-brand-text[data-v-c5659818]{font-size:20px;margin-left:3px}.logo-img[data-v-c5659818]{height:62px;min-width:200px;width:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center;filter:drop-shadow(0 2px 4px rgba(19,18,18,.2))}.navbar-actions[data-v-c5659818]{display:flex;align-items:center;gap:0}.nav-link[data-v-c5659818]{padding:8px 16px;color:hsla(0,0%,100%,.8);text-decoration:none;font-size:15px;font-weight:500;transition:all .2s ease;position:relative}.nav-link.active[data-v-c5659818],.nav-link[data-v-c5659818]:hover{color:#fff}.nav-link.active[data-v-c5659818]:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:20px;height:3px;background:#60a5fa;border-radius:2px}.nav-divider[data-v-c5659818]{width:1px;height:16px;background:hsla(0,0%,100%,.25)}.nav-btn[data-v-c5659818]{padding:8px 20px;border-radius:8px;border:1px solid hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.9);text-decoration:none;font-size:16px;font-weight:500;transition:all .3s ease;position:relative;overflow:hidden}.nav-btn[data-v-c5659818]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);transition:left .5s}.nav-btn[data-v-c5659818]:hover:before{left:100%}.nav-btn[data-v-c5659818]:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.4);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.nav-btn.active[data-v-c5659818]{background:linear-gradient(135deg,rgba(96,165,250,.3),rgba(59,130,246,.3));border-color:rgba(96,165,250,.6);color:#fff;box-shadow:0 2px 8px rgba(96,165,250,.3),inset 0 0 0 1px rgba(96,165,250,.2)}.navbar-status[data-v-c5659818]{display:flex;align-items:center;gap:12px}.user-info[data-v-c5659818]{display:flex;align-items:center;gap:10px;position:relative}.user-avatar[data-v-c5659818]{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0;box-shadow:0 2px 8px rgba(79,70,229,.3);overflow:hidden}.user-avatar img[data-v-c5659818]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.user-summary[data-v-c5659818]{display:flex;flex-direction:column;gap:2px;cursor:pointer;color:#fff}.user-name[data-v-c5659818]{font-weight:700;line-height:1.1}.user-meta[data-v-c5659818]{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.9}.user-menu[data-v-c5659818]{position:fixed!important;top:70px;right:20px;width:240px;background:rgba(15,23,42,.98);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.25);padding:12px;z-index:99999!important;backdrop-filter:blur(12px)}.user-details[data-v-c5659818]{display:flex;flex-direction:column;gap:8px;padding-bottom:10px;border-bottom:1px solid hsla(0,0%,100%,.08)}.detail-row[data-v-c5659818]{display:flex;justify-content:space-between;color:hsla(0,0%,100%,.85);font-size:13px}.detail-row span[data-v-c5659818]{color:hsla(0,0%,100%,.65)}.menu-actions[data-v-c5659818]{display:flex;flex-direction:column;gap:8px;margin-top:10px}.menu-btn[data-v-c5659818]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border-radius:8px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.04);color:#fff;cursor:pointer;transition:all .2s}.menu-btn[data-v-c5659818]:hover{background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.4)}.menu-btn.danger[data-v-c5659818]:hover{background:hsla(0,91%,71%,.15);border-color:hsla(0,91%,71%,.5)}.status-indicator[data-v-c5659818]{padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:all .3s ease}.status-indicator[data-v-c5659818]:before{content:"";width:8px;height:8px;border-radius:50%;display:inline-block}.status-indicator.online[data-v-c5659818]{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.status-indicator.online[data-v-c5659818]:before{background:#fff;box-shadow:0 0 8px hsla(0,0%,100%,.8)}.status-indicator.offline[data-v-c5659818]{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.status-indicator.offline[data-v-c5659818]:before{background:#fff;box-shadow:0 0 8px hsla(0,0%,100%,.8)}.user-chip[data-v-c5659818]{display:flex;align-items:center;gap:12px;padding:8px 16px;background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.2);border-radius:20px;color:#fff;font-size:14px;font-weight:500;backdrop-filter:blur(10px)}.link-btn[data-v-c5659818]{background:none;border:none;color:hsla(0,0%,100%,.9);cursor:pointer;font-size:13px;font-weight:500;padding:4px 8px;border-radius:6px;transition:all .3s ease;text-decoration:underline;text-underline-offset:2px}.link-btn[data-v-c5659818]:hover{background:hsla(0,0%,100%,.2);color:#fff;text-decoration:none}.sidebar-panel[data-v-1259b5bd]{position:fixed;top:70px;bottom:0;width:300px;max-width:28vw;background:linear-gradient(160deg,#0f2d52,#1e3a5f 50%,#162b45);z-index:1200;display:flex;flex-direction:column;overflow:visible;box-shadow:inset 0 0 0 1px rgba(96,165,250,.18),-4px 0 20px rgba(0,0,0,.25)}.sidebar-panel.drone-panel[data-v-1259b5bd]{left:0;width:360px;max-width:36vw;transition:transform .3s ease-out;transform:translateX(var(--v1d39592e))}.sidebar-panel.device-panel[data-v-1259b5bd]{right:0;left:auto;transition:transform .3s ease-out;transform:translateX(var(--v843da244))}.sidebar-panel.device-panel[data-v-1259b5bd]:before,.sidebar-panel.drone-panel[data-v-1259b5bd]:before{display:none}.sidebar-header[data-v-1259b5bd]{display:flex;justify-content:stretch;align-items:stretch;padding:10px 12px 12px;width:100%;box-sizing:border-box;position:relative;z-index:1;border-bottom:1px solid rgba(96,165,250,.2);background:linear-gradient(90deg,#1a3560,#1e3a5f,#1a3560);box-shadow:0 2px 8px rgba(0,0,0,.2)}.sidebar-header--tech[data-v-1259b5bd]{padding:8px 10px 10px}.header-tech-bar[data-v-1259b5bd]{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px 10px;width:100%;min-height:36px;padding:8px 14px 8px 22px;box-sizing:border-box;position:relative;clip-path:polygon(16px 0,100% 0,100% 100%,0 100%);background:linear-gradient(105deg,rgba(15,45,82,.98),rgba(30,58,95,.88) 42%,rgba(55,85,125,.45));border:none;box-shadow:inset 0 0 0 1px rgba(34,211,238,.12),inset 0 1px 0 rgba(96,165,250,.28)}.header-tech-bar[data-v-1259b5bd]:before{content:"";position:absolute;top:0;left:16px;right:0;height:1px;background:linear-gradient(90deg,rgba(34,211,238,.65),rgba(96,165,250,.4),rgba(96,165,250,.1));pointer-events:none}.header-tech-triangle[data-v-1259b5bd]{flex-shrink:0;width:0;height:0;border-style:solid;border-width:5px 0 5px 9px;border-color:transparent transparent transparent #22d3ee;filter:drop-shadow(0 0 4px rgba(34,211,238,.9));margin-right:2px}.header-tech-cn[data-v-1259b5bd]{font-size:15px;font-weight:800;font-style:italic;letter-spacing:.06em;color:#e0f2fe;text-shadow:0 0 8px rgba(34,211,238,.85),0 0 16px rgba(56,189,248,.45),0 0 2px hsla(0,0%,100%,.4);white-space:nowrap}.header-tech-en[data-v-1259b5bd]{font-size:10px;font-weight:500;font-style:italic;letter-spacing:.12em;color:rgba(147,197,253,.55);text-transform:uppercase;margin-right:4px;padding-top:2px;white-space:nowrap}.sidebar-header--flip .header-tech-bar[data-v-1259b5bd]{flex-direction:row-reverse;padding:10px 22px 10px 14px}.sidebar-header--flip .header-tech-bar[data-v-1259b5bd]:before{left:0;right:16px;background:linear-gradient(90deg,rgba(96,165,250,.1),rgba(96,165,250,.4),rgba(34,211,238,.65))}.sidebar-header--flip .header-tech-bar[data-v-1259b5bd]{clip-path:polygon(0 0,calc(100% - 16px) 0,100% 100%,0 100%);border-left:1px solid rgba(74,105,189,.7);border-right:none}.header-tech-triangle--flip[data-v-1259b5bd]{border-width:7px 11px 7px 0;border-color:transparent #22d3ee transparent transparent;margin-left:6px;margin-right:0}.sidebar-panel .arrow-btn[data-v-1259b5bd]{position:absolute;top:50%;transform:translateY(-50%);z-index:1300;transition:left .3s ease,right .3s ease,background .2s,border-color .2s;background:rgba(30,58,95,.9);border:1px solid rgba(96,165,250,.4);border-radius:6px;cursor:pointer;padding:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#93c5fd;box-shadow:0 2px 8px rgba(0,0,0,.3)}.sidebar-panel .arrow-btn[data-v-1259b5bd]:hover{background:rgba(30,70,130,.95);border-color:rgba(96,165,250,.6);color:#fff}.sidebar-panel.drone-panel .arrow-btn.arrow-left[data-v-1259b5bd]{right:-18px;left:auto}.sidebar-panel.device-panel .arrow-btn.arrow-right[data-v-1259b5bd]{left:-18px;right:auto}.sidebar-panel .arrow-btn[data-v-1259b5bd]:hover{transform:translateY(-50%) scale(1.05)}.sidebar-panel .arrow-btn.open[data-v-1259b5bd]{transform:translateY(-50%) rotate(180deg)}.sidebar-panel .arrow-btn.open[data-v-1259b5bd]:hover{transform:translateY(-50%) rotate(180deg) scale(1.05)}.sidebar-toggle-btn[data-v-1259b5bd]{position:fixed;top:50vh;transform:translateY(-50%);pointer-events:auto;background:rgba(30,58,95,.9);border:1px solid hsla(0,0%,100%,.3);border-radius:6px;cursor:pointer;padding:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .3s;box-shadow:0 2px 8px rgba(0,0,0,.3);z-index:1300;backdrop-filter:blur(10px)}.sidebar-toggle-btn[data-v-1259b5bd]:hover{background:rgba(42,75,124,.95);transform:translateY(-50%) scale(1.1)}.sidebar-toggle-left[data-v-1259b5bd]{left:12px}.sidebar-toggle-right[data-v-1259b5bd]{right:12px}.sidebar-content[data-v-1259b5bd]{flex:1;display:flex;flex-direction:column;gap:12px;overflow:hidden;position:relative;z-index:1}.section-body[data-v-1259b5bd]{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 12px 16px;min-height:0}.sidebar-content[data-v-1259b5bd]::-webkit-scrollbar{width:8px}.sidebar-content[data-v-1259b5bd]::-webkit-scrollbar-track{background:hsla(0,0%,100%,.05)}.sidebar-content[data-v-1259b5bd]::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:4px}.sidebar-content[data-v-1259b5bd]::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.35)}.trajectory-mode-btn[data-v-32076dd0]{position:fixed;bottom:100px;right:20px;width:48px;height:48px;border-radius:50%;background:rgba(30,58,95,.9);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:1000;transition:all .3s;backdrop-filter:blur(10px)}.trajectory-mode-btn[data-v-32076dd0]:hover{background:rgba(42,75,124,.95);transform:scale(1.1)}.trajectory-mode-btn.active[data-v-32076dd0]{background:rgba(64,158,255,.9)}.trajectory-mode-dialog-overlay[data-v-32076dd0]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;backdrop-filter:blur(4px)}.trajectory-mode-dialog[data-v-32076dd0]{background:hsla(0,0%,100%,.95);border-radius:16px;padding:24px;min-width:320px;box-shadow:0 8px 32px rgba(0,0,0,.3);backdrop-filter:blur(10px)}.trajectory-mode-dialog h3[data-v-32076dd0]{margin:0 0 20px 0;font-size:18px;color:#333;text-align:center}.mode-options[data-v-32076dd0]{display:flex;flex-direction:column;gap:12px}.mode-btn[data-v-32076dd0]{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid rgba(30,58,95,.3);border-radius:8px;background:#fff;cursor:pointer;transition:all .3s;font-size:14px;color:#333}.mode-btn[data-v-32076dd0]:hover{border-color:rgba(30,58,95,.6);background:rgba(30,58,95,.05)}.mode-btn.active[data-v-32076dd0]{border-color:#1e3a5f;background:rgba(30,58,95,.1);color:#1e3a5f;font-weight:600}.trajectory-playback-panel[data-v-2b8e2c24]{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:900px;max-width:calc(100vw - 40px);background:rgba(15,30,60,.85);backdrop-filter:blur(12px);border-radius:12px 12px 0 0;padding:10px 16px;box-shadow:0 -4px 20px rgba(0,0,0,.3);z-index:1001;border:1px solid hsla(0,0%,100%,.1);border-bottom:none}.slide-up-enter-active[data-v-2b8e2c24],.slide-up-leave-active[data-v-2b8e2c24]{transition:all .3s ease}.slide-up-enter-from[data-v-2b8e2c24],.slide-up-leave-to[data-v-2b8e2c24]{opacity:0;transform:translateX(-50%) translateY(20px)}.playback-header[data-v-2b8e2c24]{display:flex;justify-content:center;align-items:center;margin-bottom:14px;position:relative}.flight-info[data-v-2b8e2c24]{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}.info-item[data-v-2b8e2c24]{display:flex;flex-direction:column;align-items:center;gap:2px}.info-label[data-v-2b8e2c24]{font-size:11px;color:hsla(0,0%,100%,.5);text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-2b8e2c24]{font-size:14px;color:hsla(0,0%,100%,.95);font-weight:500}.close-btn[data-v-2b8e2c24]{position:absolute;right:0;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:hsla(0,0%,100%,.1);border:none;color:hsla(0,0%,100%,.7);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn[data-v-2b8e2c24]:hover{background:hsla(0,100%,70%,.3);color:#fff}.timeline-section[data-v-2b8e2c24]{margin-bottom:14px}.timeline-track[data-v-2b8e2c24]{position:relative;height:8px;background:hsla(0,0%,100%,.15);border-radius:4px;cursor:pointer;margin-bottom:6px}.timeline-progress[data-v-2b8e2c24]{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#409eff,#67c23a);border-radius:4px;pointer-events:none;transition:width .1s linear}.timeline-marker[data-v-2b8e2c24]{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none}.marker-dot[data-v-2b8e2c24]{width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.3);border:2px solid #409eff}.segment-marker[data-v-2b8e2c24]{position:absolute;top:-2px;bottom:-2px;width:2px;transform:translateX(-50%);pointer-events:none}.segment-line[data-v-2b8e2c24]{width:100%;height:100%;background:rgba(230,162,60,.6)}.timeline-labels[data-v-2b8e2c24]{display:flex;justify-content:space-between;font-size:11px;color:hsla(0,0%,100%,.5);position:relative}.time-label.current[data-v-2b8e2c24]{position:absolute;left:50%;transform:translateX(-50%);color:hsla(0,0%,100%,.9);font-weight:500}.playback-controls[data-v-2b8e2c24]{display:flex;align-items:center;gap:16px;position:relative;min-height:60px}.control-group[data-v-2b8e2c24]{display:flex;align-items:center;gap:8px}.main-controls[data-v-2b8e2c24]{gap:12px}.controls-center[data-v-2b8e2c24]{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:none}.controls-center .control-btn[data-v-2b8e2c24],.controls-center .control-group[data-v-2b8e2c24]{pointer-events:auto}.right-controls[data-v-2b8e2c24]{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:12px;z-index:1}.control-btn[data-v-2b8e2c24]{width:40px;height:40px;border-radius:50%;background:hsla(0,0%,100%,.1);border:none;color:hsla(0,0%,100%,.9);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.control-btn[data-v-2b8e2c24]:hover:not(:disabled){background:hsla(0,0%,100%,.2);transform:scale(1.05)}.control-btn[data-v-2b8e2c24]:disabled{opacity:.4;cursor:not-allowed}.play-btn[data-v-2b8e2c24]{width:52px;height:52px;background:linear-gradient(135deg,#93c5fd,#60a5fa);box-shadow:0 4px 12px rgba(96,165,250,.4)}.play-btn[data-v-2b8e2c24]:hover:not(:disabled){background:linear-gradient(135deg,#bfdbfe,#3b82f6);box-shadow:0 6px 16px rgba(59,130,246,.5)}.play-btn.playing[data-v-2b8e2c24]{background:linear-gradient(135deg,#93c5fd,#60a5fa);box-shadow:0 4px 12px rgba(96,165,250,.4)}.jump-controls .control-btn[data-v-2b8e2c24],.stop-btn[data-v-2b8e2c24]{width:36px;height:36px}.speed-control[data-v-2b8e2c24]{display:flex;align-items:center;gap:8px}.speed-label[data-v-2b8e2c24]{font-size:12px;color:hsla(0,0%,100%,.6)}.speed-select[data-v-2b8e2c24]{width:80px}[data-v-2b8e2c24] .speed-select .el-input__wrapper{background:hsla(0,0%,100%,.1);border:none;box-shadow:none}[data-v-2b8e2c24] .speed-select .el-input__inner{color:hsla(0,0%,100%,.9);font-size:12px}[data-v-2b8e2c24] .speed-select .el-select__caret{color:hsla(0,0%,100%,.6)}[data-v-2b8e2c24] .speed-select .el-select-dropdown{background:rgba(30,40,60,.98);border:1px solid hsla(0,0%,100%,.1)}[data-v-2b8e2c24] .speed-select .el-select-dropdown__item{color:hsla(0,0%,100%,.9)}[data-v-2b8e2c24] .speed-select .el-select-dropdown__item.hover,[data-v-2b8e2c24] .speed-select .el-select-dropdown__item:hover{background:rgba(64,158,255,.2)}[data-v-2b8e2c24] .speed-select .el-select-dropdown__item.selected{color:#409eff}.progress-text[data-v-2b8e2c24]{font-size:13px;color:hsla(0,0%,100%,.8);white-space:nowrap}@media (max-width:600px){.trajectory-playback-panel[data-v-2b8e2c24]{width:calc(100vw - 24px);padding:12px 14px}.flight-info[data-v-2b8e2c24]{gap:12px}.info-item[data-v-2b8e2c24]{min-width:60px}.jump-controls[data-v-2b8e2c24],.speed-control[data-v-2b8e2c24]{display:none}}.page-sidebar[data-v-96ba275c]{width:220px;min-width:220px;background:linear-gradient(180deg,#fff 50%,#fff);border-right:1px solid rgba(13,57,218,.06);display:flex;flex-direction:column;transition:all .3s ease;overflow:hidden;position:relative}.page-sidebar.collapsed[data-v-96ba275c]{width:56px;min-width:56px}.sidebar-header[data-v-96ba275c]{display:flex;align-items:center;padding:20px 16px;border-bottom:1px solid hsla(0,14%,97%,.916)}.sidebar-title[data-v-96ba275c]{color:rgba(44,42,42,.95);font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapsed .sidebar-title[data-v-96ba275c]{display:none}.sidebar-nav[data-v-96ba275c]{padding:12px 8px;display:flex;flex-direction:column;gap:4px}.nav-item[data-v-96ba275c]{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;color:hsla(0,6%,7%,.7);cursor:pointer;transition:all .2s;white-space:nowrap;overflow:hidden}.nav-item[data-v-96ba275c]:hover{background:rgba(37,99,235,.08);color:#2563eb}.nav-item.active[data-v-96ba275c]{background:linear-gradient(135deg,rgba(59,130,246,.15),rgba(37,99,235,.1));color:#2563eb;border:1px solid rgba(37,99,235,.2)}.nav-label[data-v-96ba275c]{font-size:14px;font-weight:500}.collapsed .nav-label[data-v-96ba275c]{display:none}.collapsed .nav-item[data-v-96ba275c]{justify-content:center;padding:12px}.collapse-btn[data-v-96ba275c]{position:absolute;bottom:12px;right:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:rgba(37,99,235,.1);color:#2563eb;cursor:pointer;transition:all .2s}.collapse-btn[data-v-96ba275c]:hover{background:rgba(37,99,235,.2)}.sidebar-content[data-v-96ba275c]{flex:1;padding:16px;overflow-y:auto}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Microsoft YaHei,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,sans-serif;background-color:#f5f5f5;color:#333;height:100vh;overflow:hidden;font-display:swap;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{display:flex;flex-direction:column;height:100vh}.main-container{position:relative;flex:1;overflow:hidden}.map-utility-fabs{position:fixed;top:90px;right:20px;z-index:1300;display:flex;flex-direction:column;gap:10px}.fab-btn{width:46px;height:46px;border-radius:50%;border:1px solid hsla(0,0%,100%,.18);background:rgba(15,23,42,.9);color:#e5e7eb;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;transition:all .2s ease;backdrop-filter:blur(8px)}.fab-btn:hover{transform:scale(1.06);border-color:rgba(96,165,250,.5);box-shadow:0 10px 22px rgba(59,130,246,.28)}.fab-btn.active{background:rgba(59,130,246,.16);border-color:rgba(59,130,246,.7);color:#fff}.fab-btn.locked-indicator{background:rgba(34,197,94,.9);border-color:rgba(34,197,94,.7);color:#fff;animation:pulse-green 2s infinite}.fab-btn.locked-indicator:hover{background:rgba(22,163,74,.9);border-color:rgba(22,163,74,.7)}@keyframes pulse-green{0%,to{opacity:1}50%{opacity:.7}}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.login-page-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;overflow:hidden}.page-container.with-sidebar{display:flex;flex-direction:row;flex:1;padding:0;overflow:hidden}.page-container.with-sidebar .page-main{flex:1;padding:0 0 0 25px;overflow-y:auto;overflow-x:hidden}.page-container{flex:1;padding:20px;overflow-y:auto}.page-panel{width:100%;margin:0 auto}.map-container{width:100%;height:100%;position:relative;overflow:hidden;background:#000}.map-container.expanded-map{width:100%;height:100%;position:absolute;top:0;left:0;right:0;bottom:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsla(0,0%,94%,.5);border-radius:4px}::-webkit-scrollbar-thumb{background:hsla(0,0%,80%,.8);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,60%,.9)}.session-expired-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(4px)}.session-expired-dialog{background:#fff;border-radius:16px;padding:32px;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,.3)}.dialog-icon{color:#f59e0b;margin-bottom:16px}.session-expired-dialog h3{margin:0 0 12px 0;font-size:20px;color:#1f2937;font-weight:600}.session-expired-dialog p{margin:0 0 24px 0;color:#6b7280;line-height:1.5}.dialog-actions{display:flex;gap:12px;justify-content:center}.dialog-actions .btn{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.dialog-actions .btn-secondary{background:#f3f4f6;color:#374151}.dialog-actions .btn-secondary:hover{background:#e5e7eb}.dialog-actions .btn-primary{background:#1e3a5f;color:#fff}.dialog-actions .btn-primary:hover{background:#2a4f7a}.app-container.alarm-border{position:relative}.alarm-border-overlay{position:fixed;top:60px;left:0;right:0;bottom:0;pointer-events:none;z-index:9998;background:radial-gradient(ellipse 100% 40px at 50% 0,rgba(255,30,30,.45) 0,transparent 100%),radial-gradient(ellipse 100% 35px at 50% 100%,rgba(255,30,30,.4) 0,transparent 100%),radial-gradient(ellipse 35px 100% at 0 50%,rgba(255,30,30,.4) 0,transparent 100%),radial-gradient(ellipse 35px 100% at 100% 50%,rgba(255,30,30,.4) 0,transparent 100%),radial-gradient(circle at 0 0,rgba(255,80,80,.55) 0,transparent 15%),radial-gradient(circle at 100% 0,rgba(255,80,80,.55) 0,transparent 15%),radial-gradient(circle at 0 100%,rgba(255,80,80,.5) 0,transparent 15%),radial-gradient(circle at 100% 100%,rgba(255,80,80,.5) 0,transparent 15%);animation:alarm-ray-pulse 1.8s ease-in-out infinite}.alarm-border-overlay:before{content:"";position:absolute;inset:0;border:0 solid transparent;box-shadow:inset 2px 0 6px 0 rgba(255,60,60,.5),inset -2px 0 6px 0 rgba(255,60,60,.5),inset 0 2px 6px 0 rgba(255,60,60,.5),inset 0 -2px 6px 0 rgba(255,60,60,.5);pointer-events:none}@keyframes alarm-ray-pulse{0%,to{opacity:.75}50%{opacity:1}}.query-page[data-v-00f20521]{padding:16px;min-height:calc(100vh - 120px)}.page-header[data-v-00f20521]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h2[data-v-00f20521]{margin:0;font-size:16px;font-weight:700;color:var(--el-text-color-primary)}.query-card[data-v-00f20521]{border-radius:8px}.advanced-form[data-v-00f20521]{margin-top:12px;padding-top:12px;border-top:1px solid var(--el-border-color-lighter)}.stats-row[data-v-00f20521]{margin:16px 0;padding:12px 16px;background:var(--el-fill-color-light);border-radius:8px}.table-section[data-v-00f20521]{margin-top:16px}.pagination-wrapper[data-v-00f20521]{display:flex;justify-content:flex-end;margin-top:16px}.error-tip[data-v-00f20521]{color:var(--el-color-danger);font-size:14px}.flight-detail-panel[data-v-00f20521]{padding:16px 20px;background-color:var(--el-fill-color-light)}.detail-header[data-v-00f20521]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;font-weight:600;color:var(--el-text-color-primary)}.time-cell[data-v-00f20521]{display:flex;flex-direction:column;gap:2px}.time-cell .date[data-v-00f20521]{font-weight:500;color:#374151}.time-cell .time[data-v-00f20521]{font-size:12px;color:#5a6a7e}[data-v-00f20521] .el-table td.el-table__cell{color:#374151}[data-v-00f20521] .el-table__header th{background-color:var(--el-fill-color-light)!important;color:#374151!important}[data-v-00f20521] .el-table__header th .cell{color:#374151!important;font-weight:600}[data-v-00f20521] .el-collapse-item__header{font-size:13px;color:#374151}[data-v-00f20521] .el-form-item__label,[data-v-00f20521] .flight-detail-panel .el-table,[data-v-00f20521] .flight-detail-panel .el-table td.el-table__cell{color:#374151}.expand-card[data-v-00f20521]{margin:8px 0 8px 50px;border-radius:8px}.expand-content[data-v-00f20521]{padding:0}.flight-record-list[data-v-00f20521]{padding:12px 16px;background-color:var(--el-fill-color-light)}.list-header[data-v-00f20521]{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--el-border-color-lighter)}.list-title[data-v-00f20521]{font-size:14px;font-weight:600;color:var(--el-text-color-primary)}.detail-link[data-v-00f20521]{margin-left:8px}.link-divider[data-v-00f20521]{margin:0 6px;color:var(--el-border-color)}.zone-management-page[data-v-b025572c]{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:16px}.page-header[data-v-b025572c]{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;margin-bottom:16px}.page-header h2[data-v-b025572c]{margin:0;font-size:16px;font-weight:700;color:var(--el-text-color-primary)}.header-actions[data-v-b025572c]{display:flex;align-items:center;gap:8px}.page-content[data-v-b025572c]{display:flex;flex:1;min-height:0;overflow:hidden}.zones-panel[data-v-b025572c]{width:360px;min-width:360px;max-width:360px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.zones-panel-header[data-v-b025572c]{padding:12px 16px 8px;border-bottom:1px solid #f1f5f9;flex-shrink:0;min-width:0}.zones-panel-header h3[data-v-b025572c]{margin:0;font-size:13px;font-weight:700;color:#374151;display:flex;align-items:center;gap:8px}.count-badge[data-v-b025572c]{background:#f1f5f9;color:#64748b;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600}.zones-list[data-v-b025572c]{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;min-width:0}.zones-list[data-v-b025572c]::-webkit-scrollbar{width:4px}.zones-list[data-v-b025572c]::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}.panel-form-header[data-v-b025572c]{padding:14px 16px 10px;border-bottom:1px solid #f1f5f9;flex-shrink:0;min-width:0}.panel-form-header h3[data-v-b025572c]{margin:0;font-size:14px;font-weight:700;color:#111827}.panel-form-body[data-v-b025572c]{flex:1;overflow-y:auto;padding:0 0 16px;min-width:0}.panel-form-body[data-v-b025572c]::-webkit-scrollbar{width:4px}.panel-form-body[data-v-b025572c]::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}.form-section-title[data-v-b025572c]{padding:10px 16px 6px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.6px;display:flex;align-items:center;gap:8px}.section-count[data-v-b025572c]{font-size:11px;color:#9ca3af;font-weight:400;text-transform:none;letter-spacing:0}.form-group[data-v-b025572c]{padding:4px 16px}.form-group label[data-v-b025572c]{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:6px}.required[data-v-b025572c]{color:#ef4444}.form-control[data-v-b025572c]{width:100%;max-width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#111827;background:#fff;box-sizing:border-box;transition:border-color .15s}.form-control[data-v-b025572c]:focus{outline:none;border-color:#3b82f6}.form-control-sm[data-v-b025572c]{padding:6px 10px;font-size:12px}.set-subzones-empty[data-v-b025572c]{text-align:center;padding:20px 16px;color:#94a3b8;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:8px}.set-subzones-empty p[data-v-b025572c]{margin:0}.set-subzone-scroll[data-v-b025572c]{overflow-y:auto;max-height:260px}.set-subzone-scroll[data-v-b025572c]::-webkit-scrollbar{width:3px}.set-subzone-scroll[data-v-b025572c]::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}.set-subzone-grid[data-v-b025572c]{display:grid;grid-template-columns:28px 1fr 72px 90px 40px 56px;align-items:center;gap:0;padding:6px 12px;font-size:12px;border-bottom:1px solid #f9fafb}.set-subzone-grid--head[data-v-b025572c]{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.4px;padding-bottom:4px;border-bottom:1px solid #f1f5f9;position:sticky;top:0;background:#fff;z-index:1}.set-subzone-grid--row[data-v-b025572c]:hover{background:#f9fafb}.col-idx[data-v-b025572c]{color:#9ca3af;font-size:11px}.col-name[data-v-b025572c]{color:#374151;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-spec[data-v-b025572c]{color:#64748b;font-size:11px;display:flex;align-items:center;gap:3px}.col-act[data-v-b025572c]{display:flex;align-items:center;gap:2px}.type-pill[data-v-b025572c]{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600}.type-pill--warning[data-v-b025572c]{background:#fef3c7;color:#d97706}.type-pill--nofly[data-v-b025572c]{background:#fee2e2;color:#ef4444}.type-pill--fly[data-v-b025572c]{background:#dbeafe;color:#3b82f6}.alarm-on[data-v-b025572c]{color:#10b981;font-weight:600;font-size:11px}.alarm-off[data-v-b025572c]{color:#d1d5db;font-size:11px}.mono[data-v-b025572c]{font-family:monospace}.spec-ico[data-v-b025572c]{flex-shrink:0}.btn[data-v-b025572c]{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .2s}.btn-sm[data-v-b025572c]{padding:5px 10px;font-size:12px}.btn-primary[data-v-b025572c]{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-primary[data-v-b025572c]:hover:not(:disabled){background:#2563eb}.btn-secondary[data-v-b025572c]{background:#fff;color:#374151;border-color:#d1d5db}.btn-secondary[data-v-b025572c]:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-alarm[data-v-b025572c]{background:#fff;color:#6b7280;border-color:#d1d5db}.btn-alarm[data-v-b025572c]:hover:not(:disabled){background:#f9fafb}.btn[data-v-b025572c]:disabled{opacity:.5;cursor:not-allowed}.btn-icon[data-v-b025572c]{width:28px;height:28px;border:none;background:transparent;cursor:pointer;color:#9ca3af;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-icon[data-v-b025572c]:hover{background:#f3f4f6;color:#374151}.btn-icon-danger[data-v-b025572c]:hover{background:#fef2f2;color:#ef4444}.btn-icon-sm[data-v-b025572c]{width:24px;height:24px}.form-actions-inline[data-v-b025572c]{padding:8px 16px}.form-actions-bottom[data-v-b025572c]{padding:12px 16px 4px;border-top:1px solid #f1f5f9;display:flex;gap:8px;justify-content:flex-end;position:sticky;bottom:0;background:#fff}.zone-type-grid[data-v-b025572c]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 16px 8px}.zone-type-card[data-v-b025572c]{border:1.5px solid #e5e7eb;border-radius:8px;padding:10px 8px;cursor:pointer;transition:all .15s;text-align:center}.zone-type-card[data-v-b025572c]:hover{border-color:#cbd5e1}.zone-type-card.active[data-v-b025572c]{border-width:2px}.zone-type-icon[data-v-b025572c]{margin-bottom:4px;display:flex;justify-content:center}.zone-type-label[data-v-b025572c]{font-size:12px;font-weight:700;margin-bottom:2px}.zone-type-desc[data-v-b025572c]{font-size:10px;color:#9ca3af}.shape-tabs[data-v-b025572c]{display:flex;gap:6px;padding:0 16px 8px}.shape-tab[data-v-b025572c]{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 12px;border:1.5px solid #e5e7eb;border-radius:6px;background:#fff;font-size:12px;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s}.shape-tab[data-v-b025572c]:hover{border-color:#3b82f6;color:#3b82f6}.shape-tab.active[data-v-b025572c]{border-color:#3b82f6;background:#eff6ff;color:#3b82f6}.coordinate-input[data-v-b025572c]{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:center}.coordinate-input .form-control[data-v-b025572c]{width:100%;min-width:0;font-size:12px;padding:6px 8px}.coordinate-input .form-control[data-v-b025572c]::-moz-placeholder{font-size:11px}.coordinate-input .form-control[data-v-b025572c]::placeholder{font-size:11px}.map-pick-hint[data-v-b025572c]{margin-top:6px;font-size:11px;color:#6b7280;display:flex;align-items:center;gap:4px}.picked-coord[data-v-b025572c]{font-family:monospace;color:#3b82f6;font-weight:600}.btn-map-pick[data-v-b025572c]{display:flex;align-items:center;gap:4px;padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:12px;color:#374151;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-map-pick[data-v-b025572c]:hover{border-color:#3b82f6;color:#3b82f6}.btn-map-pick.active[data-v-b025572c]{border-color:#3b82f6;background:#eff6ff;color:#3b82f6}.range-row[data-v-b025572c]{display:flex;align-items:center;gap:8px}.range-row .form-control[data-v-b025572c]{width:80px}.form-range[data-v-b025572c]{flex:1;accent-color:#3b82f6}.range-val[data-v-b025572c]{font-size:11px;color:#3b82f6;font-weight:600;white-space:nowrap;min-width:36px}.draw-prompt[data-v-b025572c]{text-align:center;padding:8px 16px}.draw-hint-text[data-v-b025572c]{font-size:11px;color:#9ca3af;margin:6px 0 0}.draw-done[data-v-b025572c]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;font-size:12px;color:#16a34a;font-weight:500}.toggle-switch[data-v-b025572c]{position:relative;display:inline-block;width:36px;height:20px}.toggle-switch input[data-v-b025572c]{opacity:0;width:0;height:0}.toggle-slider[data-v-b025572c]{position:absolute;cursor:pointer;inset:0;background:#d1d5db;border-radius:20px;transition:.2s}.toggle-slider[data-v-b025572c]:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider[data-v-b025572c]{background:#3b82f6}.toggle-switch input:checked+.toggle-slider[data-v-b025572c]:before{transform:translateX(16px)}.form-group-inline[data-v-b025572c]{display:flex;align-items:center;justify-content:space-between;padding:6px 16px}.zone-set-card[data-v-b025572c]{border:1px solid #f1f5f9;border-radius:8px;margin-bottom:6px;background:#fff;transition:all .15s;overflow:hidden;min-width:0}.zone-set-card.active[data-v-b025572c]{border-color:#bfdbfe;background:#f8fbff}.zone-set-card.alarming[data-v-b025572c]{border-color:#fca5a5}.zone-set-header[data-v-b025572c]{display:flex;align-items:center;gap:6px;padding:10px 10px 10px 6px;cursor:pointer;min-width:0}.zone-set-header[data-v-b025572c]:hover{background:#f9fafb;border-radius:7px}.zone-meta[data-v-b025572c]{display:flex;align-items:center;gap:4px;font-size:11px;color:#64748b}.zone-actions[data-v-b025572c]{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-left:auto}.expand-icon[data-v-b025572c]{width:18px;height:18px;flex-shrink:0;color:#94a3b8;display:flex;align-items:center;justify-content:center;transition:transform .2s}.expand-icon svg[data-v-b025572c]{width:14px;height:14px}.zone-header-info[data-v-b025572c]{flex:1;min-width:0}.zone-name[data-v-b025572c]{font-size:13px;font-weight:600;color:#1e293b;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sub-zones-container[data-v-b025572c]{border-top:1px solid #f1f5f9;max-height:280px;overflow:hidden}.sub-zones-list[data-v-b025572c]{overflow-y:auto;overflow-x:hidden;max-height:280px;padding:6px 8px 8px}.sub-zones-list[data-v-b025572c]::-webkit-scrollbar{width:3px}.sub-zones-list[data-v-b025572c]::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}.sub-zone-row[data-v-b025572c]{display:flex;align-items:center;gap:0;min-height:40px;border-radius:6px;background:#f8fafc;margin-bottom:4px;border:1px solid transparent;transition:all .15s;cursor:pointer;padding-right:4px}.sub-zone-row[data-v-b025572c]:last-child{margin-bottom:0}.sub-zone-row[data-v-b025572c]:hover{background:#fff;border-color:#e2e8f0}.sub-zone-row--selected[data-v-b025572c]{background:#eff6ff;border-color:#bfdbfe}.sub-zone-row--alarming[data-v-b025572c]{background:linear-gradient(90deg,#fef2f2,#fff 8px);border-color:#fecaca}.sub-zone-accent[data-v-b025572c]{width:3px;height:100%;min-height:40px;flex-shrink:0;border-radius:0 2px 2px 0}.sub-zone-accent--warning[data-v-b025572c]{background:#f59e0b}.sub-zone-accent--nofly[data-v-b025572c]{background:#ef4444}.sub-zone-accent--fly[data-v-b025572c]{background:#3b82f6}.sub-zone-shape[data-v-b025572c]{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-left:6px;color:#64748b}.sub-zone-info[data-v-b025572c]{flex:1;min-width:0}.sub-zone-name[data-v-b025572c]{font-size:12px;font-weight:500;color:#1e293b;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-zone-params[data-v-b025572c]{font-size:10px;color:#94a3b8;display:flex;align-items:center;gap:4px}.no-sub-zones[data-v-b025572c]{text-align:center;color:#94a3b8;font-size:12px;padding:12px}.empty-message[data-v-b025572c]{text-align:center;color:#94a3b8;padding:32px 16px;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:12px}.map-panel[data-v-b025572c]{flex:1;min-width:0;position:relative;display:flex;flex-direction:column}.drawing-banner[data-v-b025572c]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#eff6ff;border-bottom:1px solid #bfdbfe;font-size:12px;color:#1d4ed8;flex-shrink:0}.drawing-cancel[data-v-b025572c]{margin-left:auto;padding:4px 10px;border:1px solid #93c5fd;border-radius:4px;background:#fff;color:#1d4ed8;font-size:12px;cursor:pointer}.drawing-cancel[data-v-b025572c]:hover{background:#dbeafe}.map-container[data-v-b025572c]{flex:1;min-height:0}.alarm-sidebar[data-v-b025572c]{position:fixed;top:80px;right:0;width:320px;bottom:0;background:#fff;z-index:300;box-shadow:-4px 0 16px rgba(0,0,0,.1);border-left:1px solid #e5e7eb;display:flex;flex-direction:column}.alarm-sidebar-header[data-v-b025572c]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #f3f4f6}.alarm-sidebar-header h3[data-v-b025572c]{margin:0;font-size:15px;font-weight:700;color:#111827;display:flex;align-items:center;gap:6px}.alarm-current-section[data-v-b025572c]{flex:1;overflow-y:auto;padding:8px}.alarm-section-title[data-v-b025572c]{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;padding:6px 8px 4px}.alarm-log-item[data-v-b025572c]{display:flex;align-items:flex-start;gap:8px;padding:10px 8px;border-radius:6px;margin-bottom:4px;background:#fef2f2;border:1px solid #fecaca}.alarm-log-info[data-v-b025572c]{flex:1}.alarm-log-drone[data-v-b025572c]{font-size:12px;font-weight:600;color:#991b1b}.alarm-log-zone[data-v-b025572c]{font-size:11px;color:#dc2626;margin-top:2px}.alarm-log-time[data-v-b025572c]{font-size:10px;color:#f87171;margin-top:2px}.alarm-empty[data-v-b025572c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#10b981;font-size:13px}.slide-right-enter-active[data-v-b025572c],.slide-right-leave-active[data-v-b025572c]{transition:all .3s}.slide-right-enter-from[data-v-b025572c],.slide-right-leave-to[data-v-b025572c]{transform:translateX(100%);opacity:0}@media (max-width:900px){.alarm-sidebar[data-v-b025572c]{width:100%}}.dashboard-page[data-v-72c8547c]{padding:16px;min-height:calc(100vh - 120px);background:#f5f7fa}.page-header[data-v-72c8547c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h2[data-v-72c8547c]{margin:0;font-size:16px;font-weight:700;color:var(--el-text-color-primary)}.header-actions[data-v-72c8547c]{display:flex;align-items:center;gap:8px}.summary-grid[data-v-72c8547c]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.kpi-card[data-v-72c8547c]{background:#fff;border-radius:10px;padding:20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 4px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);transition:box-shadow .2s,transform .2s;cursor:pointer;border-top:3px solid transparent}.kpi-card[data-v-72c8547c]:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.04)}.kpi-card.kpi-blue[data-v-72c8547c]{border-top-color:#409eff}.kpi-card.kpi-green[data-v-72c8547c]{border-top-color:#67c23a}.kpi-card.kpi-indigo[data-v-72c8547c]{border-top-color:#6366f1}.kpi-card.kpi-purple[data-v-72c8547c]{border-top-color:#a855f7}.kpi-left[data-v-72c8547c]{flex:1;min-width:0}.kpi-label[data-v-72c8547c]{font-size:13px;font-weight:500;color:#909399;margin-bottom:6px}.kpi-value[data-v-72c8547c]{font-size:28px;font-weight:800;color:#1d2129;line-height:1;margin-bottom:4px;letter-spacing:-.5px}.kpi-sub[data-v-72c8547c]{font-size:11px;color:#c0c4cc}.kpi-icon[data-v-72c8547c]{flex-shrink:0;width:44px;height:44px;border-radius:10px;background:#f5f7fa;display:flex;align-items:center;justify-content:center;margin-left:12px}.dashboard-row[data-v-72c8547c]{display:flex;gap:14px;width:100%;margin-bottom:14px;overflow:hidden}.dashboard-row[data-v-72c8547c]:last-child{margin-bottom:0}.dashboard-row.row-equal[data-v-72c8547c]{align-items:stretch}.dashboard-row .chart-card[data-v-72c8547c]{flex:1;min-width:0;display:flex;flex-direction:column}.dashboard-row.bottom-row .chart-card[data-v-72c8547c]{min-height:340px}.dashboard-row.bottom-row .chart-card .chart-item[data-v-72c8547c]{min-height:260px}.chart-half[data-v-72c8547c]{flex:1 1 0;min-width:0}.chart-40[data-v-72c8547c]{flex:0 0 60%!important;min-width:0}.chart-60[data-v-72c8547c]{flex:0 0 40%!important;min-width:0}.chart-60[data-v-72c8547c],.dashboard-row .detections-card[data-v-72c8547c]{display:flex;flex-direction:column}.dashboard-row .chart-wrap[data-v-72c8547c]{flex:1;display:flex;flex-direction:column;padding:14px 16px}.flex-1[data-v-72c8547c]{flex:1;min-width:0}.chart-card[data-v-72c8547c]{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04)}.chart-card-header[data-v-72c8547c]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #f0f2f5}.chart-card-header h3[data-v-72c8547c]{margin:0;font-size:13px;font-weight:600;color:#303133;display:flex;align-items:center;gap:6px}.chart-wrap[data-v-72c8547c]{padding:14px 16px}.chart-item[data-v-72c8547c]{width:100%;height:300px}.chart-item.chart-equal-item[data-v-72c8547c]{flex:1;height:auto;min-height:260px}.dashboard-row .chart-card.chart-equal[data-v-72c8547c]{min-height:360px}.dashboard-row.bottom-row .chart-card[data-v-72c8547c]{min-height:300px}.dashboard-row.bottom-row .chart-card .chart-item[data-v-72c8547c]{min-height:220px}.detections-card[data-v-72c8547c]{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);display:flex;flex-direction:column}.detections-header[data-v-72c8547c]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #f0f2f5}.detections-header h3[data-v-72c8547c]{margin:0;font-size:13px;font-weight:600;color:#303133;display:flex;align-items:center;gap:6px}.detection-filter[data-v-72c8547c]{display:flex;align-items:center}.detections-list[data-v-72c8547c]{flex:1;min-height:0;max-height:320px;overflow-y:auto;padding:8px 0}.detection-item[data-v-72c8547c]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid #f5f7fa;transition:background .15s}.detection-item[data-v-72c8547c]:last-child{border-bottom:none}.detection-item[data-v-72c8547c]:hover{background:#fafbff}.detection-info[data-v-72c8547c]{flex:1;min-width:0}.drone-id[data-v-72c8547c]{font-size:13px;font-weight:600;color:#303133;font-family:Monaco,Menlo,monospace;letter-spacing:.5px}.detection-meta[data-v-72c8547c]{display:flex;align-items:center;gap:8px;margin-top:2px}.meta-time[data-v-72c8547c]{font-size:11px;color:#909399}[data-v-72c8547c] .el-alert{border-radius:10px}[data-v-72c8547c] .el-empty__description{color:var(--el-text-color-secondary)}@media (max-width:1200px){.summary-grid[data-v-72c8547c]{grid-template-columns:repeat(2,1fr)}.dashboard-row[data-v-72c8547c]{flex-direction:column}.chart-40[data-v-72c8547c],.chart-60[data-v-72c8547c],.chart-half[data-v-72c8547c],.dashboard-row .detections-card[data-v-72c8547c]{flex:none;width:100%}}@media (max-width:768px){.summary-grid[data-v-72c8547c]{grid-template-columns:1fr}.page-header[data-v-72c8547c]{flex-direction:column;gap:10px;align-items:flex-start}.header-actions[data-v-72c8547c]{width:100%;justify-content:space-between}}.login-page[data-v-49d76c13]{position:fixed;top:0;left:0;right:0;bottom:0;min-height:100vh;display:flex;align-items:center;justify-content:flex-end;overflow:hidden;margin:0;padding:0}.background-animation[data-v-49d76c13]{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background-image:var(--v62fdde90);background-size:100% auto;background-position:top 20% center;background-repeat:no-repeat;z-index:0}.background-animation[data-v-49d76c13]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;width:0;height:0;background:rgba(0,0,0,.2);z-index:1}@keyframes backgroundMove-49d76c13{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-20px,-20px) scale(1.1)}}.login-container[data-v-49d76c13]{position:relative;z-index:2;width:100%;max-width:440px;padding:40px;margin-right:80px}.login-card[data-v-49d76c13]{background:hsla(0,0%,100%,.95);backdrop-filter:blur(20px);border-radius:24px;padding:48px 40px;box-shadow:0 20px 60px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.1);animation:cardEnter-49d76c13 .6s ease-out}@keyframes cardEnter-49d76c13{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-tabs[data-v-49d76c13]{display:flex;gap:12px;margin-bottom:32px;background:#f7fafc;padding:4px;border-radius:12px}.tab-btn[data-v-49d76c13]{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:#718096;cursor:pointer;transition:all .3s ease}.tab-btn[data-v-49d76c13]:hover{color:#667eea;background:rgba(102,126,234,.1)}.tab-btn.active[data-v-49d76c13]{background:#fff;color:#667eea;box-shadow:0 2px 8px rgba(102,126,234,.2)}.tab-icon[data-v-49d76c13]{width:18px;height:18px}.login-form[data-v-49d76c13]{display:flex;flex-direction:column;gap:24px}.form-group[data-v-49d76c13]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-49d76c13]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#2d3748}.label-icon[data-v-49d76c13]{width:18px;height:18px;color:#667eea}.form-input[data-v-49d76c13]{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;color:#1a202c;background:#fff;transition:all .3s ease;box-sizing:border-box}.form-input[data-v-49d76c13]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.form-input[data-v-49d76c13]:disabled{background:#f7fafc;cursor:not-allowed}.form-input[data-v-49d76c13]::-moz-placeholder{color:#a0aec0}.form-input[data-v-49d76c13]::placeholder{color:#a0aec0}.code-input-group[data-v-49d76c13]{display:flex;gap:12px}.code-input[data-v-49d76c13]{flex:1}.send-code-btn[data-v-49d76c13]{padding:14px 24px;border:2px solid #667eea;border-radius:12px;background:#fff;color:#667eea;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;min-width:120px}.send-code-btn[data-v-49d76c13]:hover:not(:disabled){background:#667eea;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,.3)}.send-code-btn[data-v-49d76c13]:disabled{opacity:.5;cursor:not-allowed;border-color:#e2e8f0;color:#a0aec0}.slider-verify[data-v-49d76c13]{display:flex;flex-direction:column;gap:10px}.slider-label[data-v-49d76c13]{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569}.slider-track[data-v-49d76c13]{position:relative;width:100%;height:44px;border-radius:999px;background:hsla(0,0%,100%,.4);border:1px solid rgba(148,163,184,.4);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.slider-bg[data-v-49d76c13]{position:absolute;inset:0;background:rgba(148,163,184,.2);transition:background .2s}.slider-bg.passed[data-v-49d76c13]{background:rgba(34,197,94,.15)}.slider-text[data-v-49d76c13]{inset:0;font-size:13px;color:#94a3b8}.slider-handle[data-v-49d76c13],.slider-text[data-v-49d76c13]{position:absolute;display:flex;align-items:center;justify-content:center}.slider-handle[data-v-49d76c13]{top:3px;left:0;width:44px;height:38px;border-radius:999px;background:#fff;border:1px solid rgba(148,163,184,.6);color:#6366f1;cursor:grab;transition:background .2s,border-color .2s,color .2s;box-shadow:0 4px 12px rgba(0,0,0,.12)}.slider-handle.dragging[data-v-49d76c13]{cursor:grabbing}.slider-handle.verified[data-v-49d76c13]{background:#22c55e;border-color:#16a34a;color:#fff}.slider-handle svg[data-v-49d76c13]{width:18px;height:18px}.reset-slider-btn[data-v-49d76c13]{align-self:flex-end;border:none;background:none;color:#2563eb;font-size:13px;cursor:pointer}.reset-slider-btn[data-v-49d76c13]:hover{text-decoration:underline}.submit-btn[data-v-49d76c13]{width:100%;padding:16px;border:none;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(102,126,234,.4);margin-top:8px}.submit-btn[data-v-49d76c13]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.5)}.submit-btn[data-v-49d76c13]:active:not(:disabled){transform:translateY(0)}.submit-btn[data-v-49d76c13]:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message[data-v-49d76c13]{background:#fed7d7;color:#c53030}.error-message[data-v-49d76c13],.success-message[data-v-49d76c13]{margin:0;padding:12px 16px;border-radius:8px;font-size:14px;text-align:center}.success-message[data-v-49d76c13]{background:#c6f6d5;color:#22543d}@media (max-width:768px){.login-container[data-v-49d76c13]{margin-right:20px;padding:20px}.login-card[data-v-49d76c13]{padding:32px 24px}.code-input-group[data-v-49d76c13]{flex-direction:column}.send-code-btn[data-v-49d76c13]{width:100%}}.user-management-page[data-v-9d886e5a]{padding:16px;min-height:calc(100vh - 120px);background:#f5f7fa}.page-header[data-v-9d886e5a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h2[data-v-9d886e5a]{margin:0;font-size:16px;font-weight:700;color:var(--el-text-color-primary)}.header-actions[data-v-9d886e5a]{display:flex;align-items:center;gap:8px}.btn[data-v-9d886e5a]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-9d886e5a]{background:linear-gradient(135deg,#4f46e5,#3b82f6);color:#fff}.btn-primary[data-v-9d886e5a]:hover{background:linear-gradient(135deg,#4338ca,#2563eb)}.btn-primary[data-v-9d886e5a]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-9d886e5a]{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.btn-secondary[data-v-9d886e5a]:hover{background:#e5e7eb}.btn-warning[data-v-9d886e5a]{background:#fef3c7;color:#7d2f08;border:1px solid #fcd34d}.btn-warning[data-v-9d886e5a]:hover{background:#fde68a}.main-card[data-v-9d886e5a]{border-radius:8px}.page-content[data-v-9d886e5a]{flex:1;min-height:0;overflow:hidden}.users-panel[data-v-9d886e5a]{height:100%;display:flex;flex-direction:column}.table-wrapper[data-v-9d886e5a]{flex:1;overflow-y:auto;padding:0 16px 16px}table[data-v-9d886e5a]{width:100%;border-collapse:collapse;font-size:13px;border:1px solid #f0f0f0;border-radius:8px;overflow:hidden}td[data-v-9d886e5a],th[data-v-9d886e5a]{padding:14px 12px;text-align:left;border-bottom:1px solid #f0f0f0}th[data-v-9d886e5a]{font-weight:600;color:#374151;background:var(--el-fill-color-light);font-size:13px}tbody tr[data-v-9d886e5a]{transition:background .15s}tbody tr[data-v-9d886e5a]:hover{background:var(--el-fill-color-light)}.user-avatar-cell[data-v-9d886e5a]{width:36px;height:36px;border-radius:50%;overflow:hidden}.avatar-img[data-v-9d886e5a]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-placeholder-sm[data-v-9d886e5a]{width:100%;height:100%;background:linear-gradient(135deg,#4f46e5,#3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.role-badge[data-v-9d886e5a]{font-size:12px;font-weight:500}.role-admin[data-v-9d886e5a]{color:#1e40af}.role-user[data-v-9d886e5a]{color:#065f46}.admin-badge[data-v-9d886e5a]{color:#1e40af;font-size:12px;font-weight:500}.device-count[data-v-9d886e5a]{color:#059669;font-size:12px;font-weight:500}.no-device[data-v-9d886e5a]{color:#9ca3af;font-size:12px}.action-buttons[data-v-9d886e5a]{display:flex;gap:4px}.btn-icon[data-v-9d886e5a]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:#9ca3af;border-radius:4px;cursor:pointer;transition:all .15s}.btn-icon[data-v-9d886e5a]:hover{background:#f3f4f6;color:#374151}.btn-icon-danger[data-v-9d886e5a]{color:#d0d3da}.btn-icon-danger[data-v-9d886e5a]:hover:not(:disabled){background:#fef2f2;color:#ef4444}.btn-icon[data-v-9d886e5a]:disabled{opacity:.4;cursor:not-allowed}.empty[data-v-9d886e5a]{margin:0;padding:60px 40px;text-align:center;color:#898e97}.dialog-overlay[data-v-9d886e5a]{position:fixed;top:70px;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-start;justify-content:flex-end;z-index:1000}.dialog[data-v-9d886e5a]{background:#fff;height:900px;width:480px;max-width:90%;max-height:95vh;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.15)}.dialog-header[data-v-9d886e5a]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.dialog-header h3[data-v-9d886e5a]{margin:0;font-size:16px;font-weight:600;color:#111827}.dialog-close[data-v-9d886e5a]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:6px;transition:all .2s}.dialog-close[data-v-9d886e5a]:hover{background:#f3f4f6;color:#111827}.dialog-form[data-v-9d886e5a]{padding:20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;max-height:calc(95vh - 60px)}.field[data-v-9d886e5a]{display:flex;flex-direction:column;gap:6px}.field label[data-v-9d886e5a]{font-size:13px;color:#4b5563;font-weight:500}.field input[data-v-9d886e5a],.field select[data-v-9d886e5a]{padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:13px;transition:border-color .2s}.field input[data-v-9d886e5a]:focus,.field select[data-v-9d886e5a]:focus{outline:none;border-color:#4f46e5}.field input[data-v-9d886e5a]:disabled,.field select[data-v-9d886e5a]:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.full-width[data-v-9d886e5a]{grid-column:1/-1}.device-selector[data-v-9d886e5a]{border:1px solid #d1d5db;border-radius:10px;padding:12px;max-height:150px;overflow-y:auto;background:#f9fafb}.device-checkboxes[data-v-9d886e5a]{display:flex;flex-direction:column;gap:8px}.device-checkbox[data-v-9d886e5a]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px;border-radius:6px;transition:background .2s}.device-checkbox[data-v-9d886e5a]:hover{background:#f3f4f6}.device-checkbox input[type=checkbox][data-v-9d886e5a]{cursor:pointer}.device-checkbox span[data-v-9d886e5a]:first-of-type{font-weight:500;color:#1f2937}.device-id[data-v-9d886e5a]{color:#6b7280;font-size:12px}.field-hint[data-v-9d886e5a]{margin:8px 0 0;font-size:12px;color:#6b7280;display:flex;align-items:center;gap:8px}.link-btn[data-v-9d886e5a]{background:none;border:none;color:#4f46e5;cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.link-btn[data-v-9d886e5a]:hover:not(:disabled){color:#4338ca}.link-btn[data-v-9d886e5a]:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.form-actions[data-v-9d886e5a]{display:flex;flex-direction:column;gap:10px;margin-top:10px}.error[data-v-9d886e5a]{font-size:12px;color:#b91c1c;margin:0}.success[data-v-9d886e5a]{font-size:12px;color:#15803d;margin:0}.user-settings-page[data-v-4a5b438b]{padding:16px;min-height:calc(100vh - 120px);background:#f5f7fa}.page-header[data-v-4a5b438b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h2[data-v-4a5b438b]{margin:0;font-size:16px;font-weight:700;color:var(--el-text-color-primary)}.settings-content[data-v-4a5b438b]{display:flex;align-items:flex-start;justify-content:center;gap:80px;padding:60px 24px;max-width:900px;margin:0 auto;width:100%;box-sizing:border-box}.avatar-section[data-v-4a5b438b]{display:flex;flex-direction:column;align-items:center;gap:16px;flex-shrink:0;padding-top:10px}.avatar-preview[data-v-4a5b438b]{width:100px;height:100px;border-radius:50%;background:#f5f7fa;border:2px dashed #ddd;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:all .2s}.avatar-preview img[data-v-4a5b438b]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-placeholder[data-v-4a5b438b]{font-size:40px;color:#ccc;font-weight:500}.remove-btn[data-v-4a5b438b],.upload-btn[data-v-4a5b438b]{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.upload-btn[data-v-4a5b438b]{background:#1890ff;color:#fff;border:none}.upload-btn[data-v-4a5b438b]:hover{background:#40a9ff}.remove-btn[data-v-4a5b438b]{background:#fff;color:#ff4d4f;border:1px solid #ff4d4f}.remove-btn[data-v-4a5b438b]:hover{background:#fff1f0}.form-section[data-v-4a5b438b]{flex:1;max-width:360px;display:flex;flex-direction:column;gap:28px;background:#fff;padding:32px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.form-item label[data-v-4a5b438b]{color:#666;font-size:14px;margin-bottom:10px}.form-item label[data-v-4a5b438b],.input-row[data-v-4a5b438b]{display:flex;align-items:center;gap:8px}.input-row input[data-v-4a5b438b]{flex:1;padding:10px 0;border:none;border-bottom:1px solid #ddd;font-size:15px;background:transparent;color:#333;outline:none;transition:border-color .2s}.input-row input[data-v-4a5b438b]:focus{border-color:#1890ff}.input-row input[data-v-4a5b438b]:disabled{color:#999;cursor:default}.edit-btn[data-v-4a5b438b]{padding:8px;border:none;background:#1890ff;color:#fff;cursor:pointer;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.edit-btn[data-v-4a5b438b]:hover{background:#40a9ff}.logo-section[data-v-4a5b438b]{display:flex;flex-direction:column;gap:12px}.logo-options[data-v-4a5b438b]{display:flex;gap:8px}.logo-option[data-v-4a5b438b]{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #ddd;border-radius:6px;cursor:pointer;transition:all .2s;font-size:13px;color:#666}.logo-option input[data-v-4a5b438b]{display:none}.logo-option[data-v-4a5b438b]:hover{border-color:#1890ff;color:#1890ff}.logo-option.active[data-v-4a5b438b]{background:#1890ff;border-color:#1890ff;color:#fff}.logo-row[data-v-4a5b438b]{display:flex;align-items:center;gap:12px}.logo-preview-sm[data-v-4a5b438b]{flex:1;max-width:240px;height:52px;border:1px dashed #ddd;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;overflow:hidden;background:#fafafa;transition:all .2s}.logo-preview-sm[data-v-4a5b438b]:hover{border-color:#1890ff;background:#f0f7ff}.logo-preview-sm img[data-v-4a5b438b]{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.logo-preview-sm span[data-v-4a5b438b]{display:flex;align-items:center;gap:6px;color:#999;font-size:12px}.toast[data-v-4a5b438b]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;display:flex;align-items:center;gap:10px;font-size:14px;z-index:9999;animation:slideIn-4a5b438b .2s ease;box-shadow:0 4px 12px rgba(0,0,0,.15)}.toast.success[data-v-4a5b438b]{background:#1890ff;color:#fff}.toast.error[data-v-4a5b438b]{background:#ff4d4f;color:#fff}@keyframes slideIn-4a5b438b{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.dialog-overlay[data-v-4a5b438b]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000}.dialog[data-v-4a5b438b]{background:#fff;border-radius:12px;width:380px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.2)}.dialog-header[data-v-4a5b438b]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee}.dialog-header h3[data-v-4a5b438b]{margin:0;font-size:16px;color:#333;font-weight:600}.close-btn[data-v-4a5b438b]{background:none;border:none;color:#999;cursor:pointer;padding:4px;border-radius:4px}.close-btn[data-v-4a5b438b]:hover{color:#333;background:#f5f5f5}.dialog-body[data-v-4a5b438b]{padding:24px;display:flex;flex-direction:column;gap:20px}.dialog-item label[data-v-4a5b438b]{display:block;color:#666;font-size:13px;margin-bottom:8px}.dialog-item input[data-v-4a5b438b]{width:100%;padding:12px 0;border:none;border-bottom:1px solid #ddd;font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.dialog-item input[data-v-4a5b438b]:focus{border-color:#1890ff}.dialog-footer[data-v-4a5b438b]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee}.btn-cancel[data-v-4a5b438b],.btn-confirm[data-v-4a5b438b]{padding:10px 24px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-cancel[data-v-4a5b438b]{background:#fff;border:1px solid #ddd;color:#666}.btn-cancel[data-v-4a5b438b]:hover{background:#f5f5f5}.btn-confirm[data-v-4a5b438b]{background:#1890ff;border:none;color:#fff}.btn-confirm[data-v-4a5b438b]:hover{background:#40a9ff}.btn-confirm[data-v-4a5b438b]:disabled{opacity:.5;cursor:not-allowed}.stats-page[data-v-7f55f10f]{padding:20px;background:#0a1628;min-height:100vh;color:#e0e6ed}.header-meta[data-v-7f55f10f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.timestamp[data-v-7f55f10f]{color:#8892a0;font-size:14px}.refresh-btn[data-v-7f55f10f]{padding:8px 16px;background:#1e88e5;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.refresh-btn[data-v-7f55f10f]:hover:not(:disabled){background:#1565c0}.refresh-btn[data-v-7f55f10f]:disabled{opacity:.6;cursor:not-allowed}.error-banner[data-v-7f55f10f]{display:flex;align-items:center;padding:12px 16px;background:rgba(244,67,54,.1);border:1px solid #f44336;border-radius:4px;margin-bottom:20px}.error-icon[data-v-7f55f10f]{margin-right:8px}.error-text[data-v-7f55f10f]{flex:1;color:#f44336}.error-close[data-v-7f55f10f]{background:none;border:none;color:#f44336;cursor:pointer;font-size:16px}.summary-grid[data-v-7f55f10f]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.summary-card[data-v-7f55f10f]{background:#132238;border-radius:8px;padding:20px;border-left:4px solid}.summary-card.accent-blue[data-v-7f55f10f]{border-color:#1e88e5}.summary-card.accent-green[data-v-7f55f10f]{border-color:#43a047}.summary-card.accent-orange[data-v-7f55f10f]{border-color:#fb8c00}.summary-card.accent-purple[data-v-7f55f10f]{border-color:#8e24aa}.summary-card .label[data-v-7f55f10f]{color:#8892a0;font-size:14px;margin:0 0 8px 0}.summary-card h2[data-v-7f55f10f]{font-size:32px;margin:0 0 4px 0;color:#fff}.summary-card .desc[data-v-7f55f10f]{color:#6b7785;font-size:12px}.card[data-v-7f55f10f]{background:#132238;border-radius:8px;margin-bottom:20px}.card.full-width[data-v-7f55f10f]{width:100%}.card header[data-v-7f55f10f]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #1e3a5f}.card header h3[data-v-7f55f10f]{margin:0;font-size:16px;color:#fff}.card header p[data-v-7f55f10f]{margin:4px 0 0 0;font-size:12px;color:#8892a0}.filter-group[data-v-7f55f10f]{display:flex;align-items:center;gap:8px}.filter-group label[data-v-7f55f10f]{color:#8892a0;font-size:14px}.filter-group select[data-v-7f55f10f]{padding:6px 12px;background:#0a1628;border:1px solid #1e3a5f;border-radius:4px;color:#e0e6ed;font-size:14px}.table-container[data-v-7f55f10f]{padding:16px 20px}.data-table[data-v-7f55f10f]{width:100%;border-collapse:collapse}.data-table td[data-v-7f55f10f],.data-table th[data-v-7f55f10f]{padding:12px;text-align:left;border-bottom:1px solid #1e3a5f}.data-table th[data-v-7f55f10f]{color:#8892a0;font-weight:500;font-size:13px}.data-table td[data-v-7f55f10f]{color:#e0e6ed;font-size:14px}.status-badge[data-v-7f55f10f]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.online[data-v-7f55f10f]{background:rgba(67,160,71,.2);color:#43a047}.status-badge.offline[data-v-7f55f10f]{background:rgba(244,67,54,.2);color:#f44336}.status-badge.ongoing[data-v-7f55f10f]{background:rgba(251,140,0,.2);color:#fb8c00}.status-badge.resolved[data-v-7f55f10f]{background:hsla(0,0%,62%,.2);color:#9e9e9e}.duration[data-v-7f55f10f]{font-family:monospace}.online-duration[data-v-7f55f10f]{color:#43a047}.offline-duration[data-v-7f55f10f]{color:#fb8c00}.action-btn[data-v-7f55f10f]{padding:6px 12px;background:#1e3a5f;color:#1e88e5;border:1px solid #1e88e5;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.action-btn[data-v-7f55f10f]:hover{background:#1e88e5;color:#fff}.empty-row[data-v-7f55f10f]{text-align:center;color:#6b7785;padding:40px!important}.modal-overlay[data-v-7f55f10f]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-7f55f10f]{background:#132238;border-radius:8px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-content header[data-v-7f55f10f]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #1e3a5f}.modal-content header h3[data-v-7f55f10f]{margin:0;color:#fff}.close-btn[data-v-7f55f10f]{background:none;border:none;color:#8892a0;font-size:20px;cursor:pointer}.close-btn[data-v-7f55f10f]:hover{color:#fff}.detail-body[data-v-7f55f10f]{padding:20px;overflow-y:auto}.detail-summary[data-v-7f55f10f]{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.detail-item[data-v-7f55f10f]{text-align:center}.detail-item label[data-v-7f55f10f]{display:block;color:#8892a0;font-size:12px;margin-bottom:8px}.detail-item span[data-v-7f55f10f]{font-size:16px;color:#fff}.detail-body h4[data-v-7f55f10f]{color:#fff;font-size:14px;margin:20px 0 12px 0;padding-bottom:8px;border-bottom:1px solid #1e3a5f}@media (max-width:1200px){.summary-grid[data-v-7f55f10f]{grid-template-columns:repeat(2,1fr)}.detail-summary[data-v-7f55f10f]{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.summary-grid[data-v-7f55f10f]{grid-template-columns:1fr}.detail-summary[data-v-7f55f10f]{grid-template-columns:repeat(2,1fr)}}.rid-device-page[data-v-c2303c5e]{padding:16px;min-height:calc(100vh - 120px)}.page-header[data-v-c2303c5e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h2[data-v-c2303c5e]{margin:0;font-size:16px;font-weight:600;color:var(--el-text-color-primary)}.main-card[data-v-c2303c5e]{border-radius:8px}.device-type-tabs[data-v-c2303c5e]{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.type-tab[data-v-c2303c5e]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#f5f7fa;border:1px solid #e4e7ed;border-radius:4px;color:#606266;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.type-tab[data-v-c2303c5e]:hover{background:#ecf5ff;border-color:#409eff;color:#409eff}.type-tab.active[data-v-c2303c5e]{background:#409eff;border-color:#409eff;color:#fff}.type-count[data-v-c2303c5e]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:hsla(0,0%,100%,.3);border-radius:10px;font-size:11px;font-weight:600}.type-tab:not(.active) .type-count[data-v-c2303c5e]{background:#e4e7ed;color:#909399}.lock-cell[data-v-c2303c5e]{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}.coord-text[data-v-c2303c5e]{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px}[data-v-c2303c5e] .el-table__header th{background-color:var(--el-fill-color-light)!important;color:#374151!important}[data-v-c2303c5e] .el-table__header th .cell{color:#374151!important;font-weight:600}[data-v-c2303c5e] .offline-row{background-color:#f9fafb!important}[data-v-c2303c5e] .el-table td.el-table__cell{color:#374151}.device-type-page[data-v-1d655145]{padding:16px;min-height:calc(100vh - 120px);background:#f5f7fa}.page-toolbar[data-v-1d655145]{display:flex;justify-content:flex-end;align-items:center;margin-bottom:16px;gap:8px}.btn-new[data-v-1d655145]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--el-color-primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.btn-new[data-v-1d655145]:hover{background:#1d4ed8}.view-toggles[data-v-1d655145]{display:flex;gap:4px;margin-left:auto}.toggle-btn[data-v-1d655145]{padding:8px 12px;border:1px solid #e4e7ed;background:#fff;border-radius:6px;color:#909399;cursor:pointer}.toggle-btn.active[data-v-1d655145],.toggle-btn[data-v-1d655145]:hover{background:#ecf5ff;color:var(--el-color-primary);border-color:var(--el-color-primary)}.cards-grid[data-v-1d655145]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.device-type-card[data-v-1d655145]{background:#fff;border:1px solid #f0f0f0;border-radius:8px;padding:20px;transition:box-shadow .2s,transform .2s}.device-type-card[data-v-1d655145]:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}.card-thumb[data-v-1d655145]{width:64px;height:64px;background:#e0e7ff;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#4f46e5;margin-bottom:12px;overflow:hidden}.type-image[data-v-1d655145]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.card-title[data-v-1d655145]{margin:0 0 8px;font-size:16px;font-weight:600;color:#111827}.card-tags[data-v-1d655145]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.tag[data-v-1d655145]{font-size:12px;padding:2px 8px;background:#e0e7ff;color:#4338ca;border-radius:4px}.card-details[data-v-1d655145]{margin:0 0 16px;font-size:13px;color:#4b5563}.card-details div[data-v-1d655145]{display:flex;gap:8px;margin-bottom:4px}.card-details dt[data-v-1d655145]{flex-shrink:0;color:#9ca3af}.card-actions[data-v-1d655145]{display:flex;gap:8px;padding-top:12px;border-top:1px solid #e5e7eb}.btn-icon[data-v-1d655145]{padding:6px;border:none;background:transparent;color:#6b7280;border-radius:6px;cursor:pointer}.btn-icon[data-v-1d655145]:hover{background:#f3f4f6;color:#2563eb}.btn-icon.danger[data-v-1d655145]:hover{background:#fef2f2;color:#dc2626}.table-wrap[data-v-1d655145]{overflow-x:auto;margin-bottom:24px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.data-table[data-v-1d655145]{width:100%;border-collapse:collapse;font-size:14px}.data-table td[data-v-1d655145],.data-table th[data-v-1d655145]{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb;color:#374151}.data-table th[data-v-1d655145]{background:#f9fafb;font-weight:600;color:#111827}.data-table tbody tr[data-v-1d655145]:hover{background:#f9fafb}.table-thumb[data-v-1d655145]{width:40px;height:40px;-o-object-fit:cover;object-fit:cover;border-radius:4px}.pagination-bar[data-v-1d655145]{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0}.total[data-v-1d655145]{font-size:14px;color:#6b7280}.page-btn[data-v-1d655145]{padding:6px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;color:#374151}.page-btn[data-v-1d655145]:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.page-btn[data-v-1d655145]:disabled{opacity:.5;cursor:not-allowed}.page-num[data-v-1d655145]{font-weight:600;color:#2563eb}.page-size-select[data-v-1d655145]{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#374151}.modal-overlay[data-v-1d655145]{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:right;justify-content:right;margin-top:70px;z-index:10000}.modal-dialog[data-v-1d655145]{background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.2);width:90%;max-width:520px;max-height:95vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-1d655145]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-1d655145]{font-size:18px;font-weight:600;color:#111827}.modal-close[data-v-1d655145]{padding:4px;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:6px}.modal-close[data-v-1d655145]:hover{background:#f3f4f6;color:#111827}.modal-body[data-v-1d655145]{padding:20px;overflow-y:auto}.form-item[data-v-1d655145]{margin-bottom:16px}.form-item.required label[data-v-1d655145]:before{content:"*";color:#dc2626;margin-right:2px}.form-item label[data-v-1d655145]{display:block;font-size:14px;color:#374151;margin-bottom:6px}.form-input[data-v-1d655145]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#111827;box-sizing:border-box}.form-input[data-v-1d655145]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-row[data-v-1d655145]{display:flex;gap:16px}.form-row .form-item[data-v-1d655145]{flex:1}.image-upload[data-v-1d655145]{display:flex;flex-direction:column;gap:8px}.image-preview[data-v-1d655145]{width:120px;height:120px;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .2s}.image-preview[data-v-1d655145]:hover{border-color:#2563eb}.image-preview img[data-v-1d655145]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.upload-placeholder[data-v-1d655145]{display:flex;flex-direction:column;align-items:center;gap:4px;color:#9ca3af;font-size:12px}.btn-remove-image[data-v-1d655145]{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#fee2e2;color:#dc2626;border:none;border-radius:4px;font-size:12px;cursor:pointer}.btn-remove-image[data-v-1d655145]:hover{background:#fecaca}.modal-footer[data-v-1d655145]{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb}.btn[data-v-1d655145]{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn[data-v-1d655145]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-1d655145]{background:#2563eb;color:#fff}.btn-primary[data-v-1d655145]:hover:not(:disabled){background:#1d4ed8}.btn-secondary[data-v-1d655145]{background:#e5e7eb;color:#374151}.btn-secondary[data-v-1d655145]:hover{background:#d1d5db}.radio-item input[type=radio][data-v-53658bc8]{margin:0;outline:none;vertical-align:middle;height:16px;width:16px;flex-shrink:0}.whitelist-page[data-v-53658bc8]{padding:16px;min-height:calc(100vh - 120px);background:#f5f7fa}.page-header[data-v-53658bc8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h2[data-v-53658bc8]{margin:0;font-size:20px;font-weight:600;color:#111827}.btn[data-v-53658bc8]{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-primary[data-v-53658bc8]{background:#409eff;color:#fff}.btn-primary[data-v-53658bc8]:hover{background:#bdf1ff}.btn-secondary[data-v-53658bc8]{background:#e5e7eb;color:#374151}.btn-secondary[data-v-53658bc8]:hover{background:#d1d5db}.table-wrap[data-v-53658bc8]{overflow-x:auto;background:#fff;border-radius:8px;border:1px solid #f0f0f0}.data-table[data-v-53658bc8]{width:100%;border-collapse:collapse;font-size:13px}.data-table td[data-v-53658bc8],.data-table th[data-v-53658bc8]{padding:12px 16px;text-align:left;border-bottom:1px solid #f0f0f0;color:#374151}.data-table th[data-v-53658bc8]{font-weight:600;color:#374151}.data-table tbody tr[data-v-53658bc8]:hover,.data-table th[data-v-53658bc8]{background:var(--el-fill-color-light)}.actions-cell[data-v-53658bc8]{display:flex;gap:8px}.btn-icon[data-v-53658bc8]{padding:6px;border:none;background:transparent;color:#6b7280;border-radius:6px;cursor:pointer}.btn-icon[data-v-53658bc8]:hover{background:#f3f4f6;color:#2563eb}.btn-icon.danger[data-v-53658bc8]:hover{background:#fef2f2;color:#dc2626}.empty-hint[data-v-53658bc8]{text-align:center;padding:48px 24px;color:#9ca3af;font-size:14px}.modal-overlay[data-v-53658bc8]{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;margin-top:70px;justify-content:right;z-index:10000}.modal-dialog[data-v-53658bc8]{background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.2);width:90%;max-width:520px;max-height:95vh;display:flex;flex-direction:column}.modal-header[data-v-53658bc8]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-53658bc8]{font-size:18px;font-weight:600;color:#111827}.modal-close[data-v-53658bc8]{padding:4px;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:6px}.modal-close[data-v-53658bc8]:hover{background:#f3f4f6;color:#111827}.modal-body[data-v-53658bc8]{padding:20px;overflow-y:auto}.form-item[data-v-53658bc8]{margin-bottom:16px}.form-item.required label[data-v-53658bc8]:before{content:"*";color:#dc2626;margin-right:2px}.form-item label[data-v-53658bc8]{display:block;font-size:14px;color:#374151;margin-bottom:6px}.form-input[data-v-53658bc8],.form-select[data-v-53658bc8],.form-textarea[data-v-53658bc8]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#111827}.form-input[data-v-53658bc8]:focus,.form-select[data-v-53658bc8]:focus,.form-textarea[data-v-53658bc8]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-textarea[data-v-53658bc8]{resize:vertical;min-height:72px}.date-range[data-v-53658bc8]{display:flex;align-items:center;gap:8px}.date-range .date-input[data-v-53658bc8]{flex:1}.date-arrow[data-v-53658bc8]{color:#6b7280;flex-shrink:0}.radio-group[data-v-53658bc8]{display:flex;flex-wrap:wrap;gap:12px 24px}.radio-item[data-v-53658bc8]{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;color:#374151}.radio-item input[data-v-53658bc8]{width:16px;height:16px}.modal-footer[data-v-53658bc8]{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb}