#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;height:100vh}body{margin:0;padding:0}.alarm-notification{border-left:4px solid #ff4d4f!important;box-shadow:0 4px 12px rgba(255,77,79,.2)!important}.alarm-notification.alarm-level-4{border-left-color:#ff4d4f!important;background:linear-gradient(135deg,#fff5f5,#fff)!important}.alarm-notification.alarm-level-3{border-left-color:#fa8c16!important;background:linear-gradient(135deg,#fff7e6,#fff)!important}.alarm-notification.alarm-level-2{border-left-color:#fadb14!important;background:linear-gradient(135deg,#feffe6,#fff)!important}.alarm-notification.alarm-level-1{border-left-color:#52c41a!important;background:linear-gradient(135deg,#f6ffed,#fff)!important}.app-header[data-v-1a9b32da]{background:#fff;padding:0 20px;height:60px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px rgba(0,0,0,.1);position:relative;z-index:1000}.header-left h1[data-v-1a9b32da]{margin:0;color:#333;font-size:20px;font-weight:600}.header-right[data-v-1a9b32da]{display:flex;align-items:center;gap:15px}.user-info[data-v-1a9b32da]{display:flex;align-items:center;gap:8px}.username[data-v-1a9b32da]{color:#333;font-size:14px;font-weight:500}.el-dropdown-link[data-v-1a9b32da]{cursor:pointer;color:#606266;display:flex;align-items:center;padding:5px;border-radius:4px;transition:all .3s}.el-dropdown-link[data-v-1a9b32da]:hover{background-color:#f5f7fa;color:#409eff}.app-sidebar[data-v-8553beb6]{position:relative;background:#fff;box-shadow:2px 0 4px rgba(0,0,0,.1);transition:width .3s;height:100%;display:flex;flex-direction:column}.sidebar-menu[data-v-8553beb6]{flex:1;border-right:none;height:100%}.sidebar-menu[data-v-8553beb6]:not(.el-menu--collapse){width:200px}.sidebar-menu.el-menu--collapse[data-v-8553beb6]{width:64px}.el-menu-item[data-v-8553beb6]{height:56px;line-height:56px;margin:0 8px;border-radius:8px;transition:all .3s}.el-menu-item[data-v-8553beb6]:hover{background-color:#ecf5ff;color:#409eff}.el-menu-item.is-active[data-v-8553beb6]{background-color:#409eff;color:#fff}.el-menu-item.is-active[data-v-8553beb6]:hover{background-color:#337ecc}.collapse-btn[data-v-8553beb6]{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:32px;height:32px;background:#f5f7fa;border:1px solid #dcdfe6;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;z-index:100}.collapse-btn[data-v-8553beb6]:hover{background:#409eff;color:#fff;border-color:#409eff}.el-icon[data-v-8553beb6]{font-size:16px}.sidebar-menu.el-menu--collapse .el-menu-item[data-v-8553beb6]{padding:0 20px}.sidebar-menu.el-menu--collapse .collapse-btn[data-v-8553beb6]{left:32px}.menu-title-wrapper[data-v-8553beb6]{display:flex;align-items:center;gap:8px}.alarm-badge[data-v-8553beb6]{position:absolute;top:-8px;right:-8px}.alarm-badge-inline[data-v-8553beb6]{position:relative;display:inline-flex;align-items:center}.alarm-badge-inline[data-v-8553beb6] .el-badge__content{background-color:#f56c6c;border:2px solid #fff;animation:pulse-badge-8553beb6 2s ease-in-out infinite;position:static;transform:none;margin-left:8px;min-width:18px;height:18px;line-height:16px;font-size:11px;border-radius:9px}@keyframes pulse-badge-8553beb6{0%,to{transform:scale(1);box-shadow:0 0 0 0 hsla(0,87%,69%,.7)}50%{transform:scale(1.05);box-shadow:0 0 0 4px hsla(0,87%,69%,0)}}.alarm-notifications[data-v-745b13fb]{position:fixed;top:80px;right:20px;z-index:2000;pointer-events:none}.notification-container[data-v-745b13fb]{display:flex;flex-direction:column;gap:12px}.alarm-notification[data-v-745b13fb]{width:350px;background:#fff;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.15);border-left:4px solid var(--alarm-color,#409eff);padding:16px;cursor:pointer;position:relative;pointer-events:auto;transition:all .3s ease}.alarm-notification[data-v-745b13fb]:hover{transform:translateX(-5px);box-shadow:0 12px 32px rgba(0,0,0,.2)}.alarm-notification[data-v-745b13fb]{display:flex;align-items:flex-start;gap:12px}.alarm-icon[data-v-745b13fb]{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.alarm-emoji[data-v-745b13fb]{font-size:20px;line-height:1}.alarm-content[data-v-745b13fb]{flex:1;min-width:0}.alarm-title[data-v-745b13fb]{margin:0 0 4px 0;font-size:16px;font-weight:600;color:#333;line-height:1.2}.alarm-device[data-v-745b13fb],.alarm-location[data-v-745b13fb],.alarm-time[data-v-745b13fb]{margin:2px 0;font-size:13px;color:#666;line-height:1.3}.alarm-time[data-v-745b13fb]{color:#999;font-weight:500}.alarm-close[data-v-745b13fb]{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.1);color:#666;cursor:pointer;transition:all .2s ease}.alarm-close[data-v-745b13fb]:hover{background:rgba(0,0,0,.2);color:#333}.alarm-critical[data-v-745b13fb]{background:linear-gradient(135deg,#fff,rgba(255,77,79,.08))}.alarm-critical .alarm-icon[data-v-745b13fb]{animation:pulse-critical-745b13fb 1.5s ease-in-out infinite}.alarm-warning[data-v-745b13fb]{background:linear-gradient(135deg,#fff,rgba(250,140,22,.08))}.alarm-info[data-v-745b13fb]{background:linear-gradient(135deg,#fff,rgba(64,158,255,.08))}.alarm-pulse[data-v-745b13fb]{position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:2px solid var(--alarm-color,#f56c6c);border-radius:8px;animation:pulse-border-745b13fb 1.5s ease-in-out infinite}.alarm-slide-enter-active[data-v-745b13fb]{transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.alarm-slide-leave-active[data-v-745b13fb]{transition:all .3s ease-in}.alarm-slide-enter-from[data-v-745b13fb]{opacity:0;transform:translateX(100%) scale(.8)}.alarm-slide-leave-to[data-v-745b13fb]{opacity:0;transform:translateX(100%) scale(.9)}.alarm-slide-move[data-v-745b13fb]{transition:transform .3s ease}@keyframes pulse-critical-745b13fb{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes pulse-border-745b13fb{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@media (max-width:768px){.alarm-notifications[data-v-745b13fb]{top:60px;right:10px;left:10px}.alarm-notification[data-v-745b13fb]{width:auto}}.app-layout[data-v-7e27c1ba]{height:100vh;display:flex;flex-direction:column;background-color:#f5f5f5}.layout-container[data-v-7e27c1ba]{flex:1;display:flex;min-height:0}.main-content[data-v-7e27c1ba]{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.page-wrapper[data-v-7e27c1ba]{flex:1;padding:20px;overflow-y:auto;background-color:#f5f5f5;position:relative}@media (max-width:768px){.page-wrapper[data-v-7e27c1ba]{padding:10px}}[data-v-7e27c1ba] .el-card{border-radius:8px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);width:100%}[data-v-7e27c1ba] .el-table{border-radius:8px;overflow:hidden;width:100%}[data-v-7e27c1ba] .el-scrollbar,[data-v-7e27c1ba] .el-scrollbar__view,[data-v-7e27c1ba] .el-scrollbar__wrap{width:100%}[data-v-7e27c1ba] .el-button{border-radius:6px}.page-wrapper[data-v-7e27c1ba]::-webkit-scrollbar{width:6px}.page-wrapper[data-v-7e27c1ba]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.page-wrapper[data-v-7e27c1ba]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.page-wrapper[data-v-7e27c1ba]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.admin-layout[data-v-c1896f16]{height:100vh;display:flex;flex-direction:column}.admin-header[data-v-c1896f16]{height:60px;background:#fff;border-bottom:1px solid #e6e6e6;display:flex;align-items:center;justify-content:space-between;padding:0 20px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.header-left[data-v-c1896f16]{display:flex;align-items:center;gap:15px}.title[data-v-c1896f16]{font-size:20px;font-weight:700;color:#333;margin:0}.subtitle[data-v-c1896f16]{font-size:14px;color:#666;background:#f0f2f5;padding:4px 8px;border-radius:4px}.admin-info[data-v-c1896f16],.header-right[data-v-c1896f16]{display:flex;align-items:center}.admin-info[data-v-c1896f16]{gap:5px;padding:8px 12px;border-radius:4px;cursor:pointer;color:#333;transition:background-color .3s}.admin-info[data-v-c1896f16]:hover{background:#f0f2f5}.admin-body[data-v-c1896f16]{flex:1;display:flex;overflow:hidden}.admin-sidebar[data-v-c1896f16]{width:200px;background:#fff;border-right:1px solid #e6e6e6;overflow-y:auto}.sidebar-menu[data-v-c1896f16]{border:none;background:#fff}.sidebar-menu .el-menu-item[data-v-c1896f16]{color:#333;border-radius:6px;margin:4px 8px}.sidebar-menu .el-menu-item[data-v-c1896f16]:hover{background:#f0f2f5;color:#1890ff}.sidebar-menu .el-menu-item.is-active[data-v-c1896f16]{background:#e6f7ff;color:#1890ff;border-right:3px solid #1890ff}.sidebar-menu .el-menu-item i[data-v-c1896f16]{color:inherit;margin-right:8px}.admin-content[data-v-c1896f16]{flex:1;background:#f0f2f5;overflow-y:auto}@media (max-width:768px){.admin-sidebar[data-v-c1896f16],.sidebar-menu[data-v-c1896f16]{width:60px}.admin-content[data-v-c1896f16]{padding:10px}.header-left .subtitle[data-v-c1896f16]{display:none}.title[data-v-c1896f16]{font-size:16px}}.login-container[data-v-c51b8ace]{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#b3e5fc,#e0f7fe);position:relative;overflow:hidden}.login-container[data-v-c51b8ace]:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,hsla(0,0%,100%,.4) 1px,transparent 0),radial-gradient(circle,rgba(79,172,254,.2) 1px,transparent 0);background-size:60px 60px,40px 40px;background-position:0 0,25px 25px;animation:backgroundMove-c51b8ace 25s linear infinite}.login-container[data-v-c51b8ace]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 15% 85%,rgba(79,172,254,.25) 0,rgba(79,172,254,.05) 40%,transparent 70%),radial-gradient(circle at 85% 15%,rgba(0,242,254,.25) 0,rgba(0,242,254,.05) 40%,transparent 70%),radial-gradient(circle at 50% 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.03) 30%,transparent 60%),radial-gradient(circle at 70% 70%,rgba(79,172,254,.15) 0,transparent 50%);animation:floatingBubbles-c51b8ace 12s ease-in-out infinite;pointer-events:none}@keyframes floatingBubbles-c51b8ace{0%,to{transform:translateY(0) scale(1) rotate(0deg);opacity:.8}25%{transform:translateY(-40px) scale(1.2) rotate(90deg);opacity:1}50%{transform:translateY(-20px) scale(.8) rotate(180deg);opacity:.6}75%{transform:translateY(-60px) scale(1.1) rotate(270deg);opacity:.9}}@keyframes backgroundMove-c51b8ace{0%{transform:translate(0) rotate(0deg)}to{transform:translate(50px,50px) rotate(1turn)}}.login-container .floating-element[data-v-c51b8ace]{position:absolute;width:8px;height:8px;background:rgba(79,172,254,.6);border-radius:50%;pointer-events:none;box-shadow:0 0 10px rgba(79,172,254,.3)}.login-container .floating-element[data-v-c51b8ace]:first-child{top:10%;left:20%;animation:float1-c51b8ace 8s ease-in-out infinite}.login-container .floating-element[data-v-c51b8ace]:nth-child(2){top:70%;right:15%;animation:float2-c51b8ace 10s ease-in-out infinite;background:rgba(0,242,254,.6);box-shadow:0 0 10px rgba(0,242,254,.3);width:10px;height:10px}.login-container .floating-element[data-v-c51b8ace]:nth-child(3){bottom:20%;left:15%;animation:float3-c51b8ace 12s ease-in-out infinite;background:hsla(0,0%,100%,.7);box-shadow:0 0 15px hsla(0,0%,100%,.4);width:6px;height:6px}.login-container .floating-element[data-v-c51b8ace]:nth-child(4){top:30%;right:30%;animation:float4-c51b8ace 9s ease-in-out infinite;background:rgba(79,172,254,.5);box-shadow:0 0 12px rgba(79,172,254,.3);width:12px;height:12px}@keyframes float1-c51b8ace{0%,to{transform:translateY(0) translateX(0) scale(1);opacity:.6}33%{transform:translateY(-40px) translateX(20px) scale(1.5);opacity:1}66%{transform:translateY(20px) translateX(-15px) scale(.8);opacity:.8}}@keyframes float2-c51b8ace{0%,to{transform:translateY(0) translateX(0) rotate(0deg);opacity:.6}25%{transform:translateY(-30px) translateX(-20px) rotate(90deg);opacity:1}50%{transform:translateY(10px) translateX(30px) rotate(180deg);opacity:.8}75%{transform:translateY(-20px) translateX(-10px) rotate(270deg);opacity:.9}}@keyframes float3-c51b8ace{0%,to{transform:translateY(0) translateX(0) scale(1);opacity:.7}30%{transform:translateY(-50px) translateX(16px) scale(2);opacity:1}60%{transform:translateY(30px) translateX(-24px) scale(.5);opacity:.6}}@keyframes float4-c51b8ace{0%,to{transform:translateY(0) translateX(0) rotate(0deg) scale(1);opacity:.5}50%{transform:translateY(-36px) translateX(24px) rotate(1turn) scale(1.8);opacity:1}}.login-card[data-v-c51b8ace]{width:480px;max-width:90vw;padding:0;background:hsla(0,0%,100%,.95);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.15);max-height:90vh;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;z-index:10;animation:cardSlideIn-c51b8ace .8s ease-out}@keyframes cardSlideIn-c51b8ace{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.login-header[data-v-c51b8ace]{background:linear-gradient(135deg,#4facfe,#00f2fe);padding:40px 40px 30px;border-radius:20px 20px 0 0;text-align:center;color:#fff;position:relative;overflow:hidden}.login-header[data-v-c51b8ace]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 20"><rect fill="url(%23a)" width="100%" height="100%"/></svg>');opacity:.8}.logo[data-v-c51b8ace]{position:relative;z-index:1}.logo-icon[data-v-c51b8ace]{font-size:60px;margin-bottom:16px;display:inline-block;animation:logoFloat-c51b8ace 3s ease-in-out infinite}@keyframes logoFloat-c51b8ace{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-title[data-v-c51b8ace]{margin:0 0 8px 0;font-size:32px;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.2);letter-spacing:1px}.login-subtitle[data-v-c51b8ace]{margin:0;font-size:16px;opacity:.9;font-weight:300}.login-tabs[data-v-c51b8ace]{padding:0 40px;background:#fff}.login-form[data-v-c51b8ace],.register-form[data-v-c51b8ace]{padding:30px 40px 40px;background:#fff;border-radius:0 0 20px 20px}[data-v-c51b8ace] .el-tabs__header{margin-bottom:0;background:#fff;border-radius:0 0 20px 20px;padding-top:20px;border-bottom:2px solid #f5f7fa}[data-v-c51b8ace] .el-tabs__content{overflow:visible;padding:0}[data-v-c51b8ace] .el-tabs__item{font-size:18px;font-weight:600;color:#606266;height:50px;line-height:50px;padding:0 30px}[data-v-c51b8ace] .el-tabs__item.is-active{color:#4facfe;font-weight:700}[data-v-c51b8ace] .el-tabs__active-bar{background:linear-gradient(90deg,#4facfe,#00f2fe);height:3px}[data-v-c51b8ace] .el-tabs__nav-wrap:after{height:0}[data-v-c51b8ace] .el-input__wrapper{border-radius:12px;box-shadow:0 2px 8px rgba(79,172,254,.1);border:2px solid #f0f2f5;transition:all .3s ease}[data-v-c51b8ace] .el-input__wrapper:hover{border-color:#4facfe;box-shadow:0 4px 12px rgba(79,172,254,.2)}[data-v-c51b8ace] .el-input.is-focus .el-input__wrapper{border-color:#4facfe;box-shadow:0 0 0 3px rgba(79,172,254,.1)}[data-v-c51b8ace] .el-input__inner{font-size:16px;padding:12px 15px}[data-v-c51b8ace] .el-input__prefix{left:15px}[data-v-c51b8ace] .el-input__prefix .el-icon{color:#4facfe;font-size:18px}[data-v-c51b8ace] .el-button--primary{background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;border-radius:12px;font-size:18px;font-weight:600;height:50px;box-shadow:0 4px 15px rgba(79,172,254,.3);transition:all .3s ease}[data-v-c51b8ace] .el-button--primary:hover{background:linear-gradient(135deg,#4098fe,#00d4fe);transform:translateY(-2px);box-shadow:0 6px 20px rgba(79,172,254,.4)}[data-v-c51b8ace] .el-button--primary:active{transform:translateY(0)}[data-v-c51b8ace] .el-button.is-loading{background:linear-gradient(135deg,#4facfe,#00f2fe)}.register-form .el-form-item[data-v-c51b8ace]{margin-bottom:20px}.login-form .el-form-item[data-v-c51b8ace]{margin-bottom:24px}.login-form .el-form-item[data-v-c51b8ace]:last-child,.register-form .el-form-item[data-v-c51b8ace]:last-child{margin-bottom:0}[data-v-c51b8ace] .el-textarea .el-input__wrapper{min-height:80px;padding:8px 15px}[data-v-c51b8ace] .el-textarea__inner{resize:vertical;min-height:60px;font-size:16px;line-height:1.5}[data-v-c51b8ace] .el-form-item__error{color:#f56c6c;font-size:14px;margin-top:8px}.skip-login[data-v-c51b8ace]{text-align:center;padding:0 40px 30px;border-radius:0 0 20px 20px;background:#fff}.skip-btn[data-v-c51b8ace]{font-size:16px;color:#909399;transition:all .3s ease;padding:8px 20px}.skip-btn[data-v-c51b8ace]:hover{color:#4facfe;background:rgba(79,172,254,.08);transform:translateY(-1px)}@media (max-width:600px){.login-card[data-v-c51b8ace]{width:95vw;margin:20px}.login-header[data-v-c51b8ace]{padding:30px 30px 25px}.login-title[data-v-c51b8ace]{font-size:26px}.login-subtitle[data-v-c51b8ace]{font-size:14px}.login-form[data-v-c51b8ace],.register-form[data-v-c51b8ace]{padding:25px 30px 35px}.login-tabs[data-v-c51b8ace]{padding:0 30px}.tab-description[data-v-c51b8ace]{text-align:center;margin-bottom:15px}.description-text[data-v-c51b8ace]{color:#666;font-size:14px;margin:0;padding:0}[data-v-c51b8ace] .el-tabs__item{font-size:16px;padding:0 20px}[data-v-c51b8ace] .el-input__inner{font-size:15px}[data-v-c51b8ace] .el-button--primary{font-size:16px;height:48px}}.welcome-container[data-v-78de2126]{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#b3e5fc,#e0f7fe);position:relative;overflow:hidden;padding:40px 20px}.welcome-container[data-v-78de2126]:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,hsla(0,0%,100%,.4) 1px,transparent 0),radial-gradient(circle,rgba(79,172,254,.2) 1px,transparent 0);background-size:60px 60px,40px 40px;background-position:0 0,25px 25px;animation:backgroundMove-78de2126 25s linear infinite}.welcome-container[data-v-78de2126]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 15% 85%,rgba(79,172,254,.25) 0,rgba(79,172,254,.05) 40%,transparent 70%),radial-gradient(circle at 85% 15%,rgba(0,242,254,.25) 0,rgba(0,242,254,.05) 40%,transparent 70%);animation:floatingBubbles-78de2126 12s ease-in-out infinite;pointer-events:none}@keyframes floatingBubbles-78de2126{0%,to{transform:translateY(0) scale(1);opacity:.8}50%{transform:translateY(-20px) scale(.8);opacity:.6}}@keyframes backgroundMove-78de2126{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.welcome-container .floating-element[data-v-78de2126]{position:absolute;width:8px;height:8px;background:rgba(79,172,254,.6);border-radius:50%;pointer-events:none;box-shadow:0 0 10px rgba(79,172,254,.3)}.welcome-container .floating-element[data-v-78de2126]:first-child{top:10%;left:20%;animation:float1-78de2126 8s ease-in-out infinite}.welcome-container .floating-element[data-v-78de2126]:nth-child(2){top:70%;right:15%;animation:float2-78de2126 10s ease-in-out infinite;background:rgba(0,242,254,.6);box-shadow:0 0 10px rgba(0,242,254,.3);width:10px;height:10px}.welcome-container .floating-element[data-v-78de2126]:nth-child(3){bottom:20%;left:15%;animation:float3-78de2126 12s ease-in-out infinite;background:hsla(0,0%,100%,.7);box-shadow:0 0 15px hsla(0,0%,100%,.4);width:6px;height:6px}.welcome-container .floating-element[data-v-78de2126]:nth-child(4){top:30%;right:30%;animation:float4-78de2126 9s ease-in-out infinite;background:rgba(79,172,254,.5);box-shadow:0 0 12px rgba(79,172,254,.3);width:12px;height:12px}@keyframes float1-78de2126{0%,to{transform:translateY(0) translateX(0);opacity:.6}50%{transform:translateY(-40px) translateX(20px);opacity:1}}@keyframes float2-78de2126{0%,to{transform:translateY(0) translateX(0);opacity:.6}50%{transform:translateY(-30px) translateX(-20px);opacity:1}}@keyframes float3-78de2126{0%,to{transform:translateY(0) translateX(0);opacity:.7}50%{transform:translateY(-50px) translateX(16px);opacity:1}}@keyframes float4-78de2126{0%,to{transform:translateY(0) translateX(0);opacity:.5}50%{transform:translateY(-36px) translateX(24px);opacity:1}}.welcome-card[data-v-78de2126]{width:900px;max-width:95vw;background:hsla(0,0%,100%,.95);border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.15);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;z-index:10;animation:cardSlideIn-78de2126 .8s ease-out;overflow:hidden}@keyframes cardSlideIn-78de2126{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.welcome-header[data-v-78de2126]{background:linear-gradient(135deg,#4facfe,#00f2fe);padding:50px 40px;text-align:center;color:#fff;position:relative}.logo-icon[data-v-78de2126]{font-size:80px;margin-bottom:20px;display:inline-block;animation:logoFloat-78de2126 3s ease-in-out infinite}@keyframes logoFloat-78de2126{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome-title[data-v-78de2126]{margin:0 0 12px 0;font-size:42px;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.2);letter-spacing:2px}.welcome-subtitle[data-v-78de2126]{margin:0;font-size:20px;opacity:.95;font-weight:300}.features-section[data-v-78de2126]{padding:50px 40px}.section-title[data-v-78de2126]{text-align:center;font-size:28px;color:#2c3e50;margin-bottom:40px;font-weight:600}.features-grid[data-v-78de2126]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;margin-bottom:20px}.feature-item[data-v-78de2126]{text-align:center;padding:30px 20px;background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:16px;transition:all .3s ease;border:2px solid transparent}.feature-item[data-v-78de2126]:hover{transform:translateY(-8px);box-shadow:0 12px 30px rgba(79,172,254,.2);border-color:#4facfe}.feature-icon[data-v-78de2126]{font-size:48px;margin-bottom:15px}.feature-item h3[data-v-78de2126]{font-size:18px;color:#2c3e50;margin-bottom:10px;font-weight:600}.feature-item p[data-v-78de2126]{font-size:14px;color:#666;line-height:1.6;margin:0}.auth-info[data-v-78de2126]{padding:0 40px 30px}.info-box[data-v-78de2126]{display:flex;align-items:flex-start;gap:15px;padding:25px;background:linear-gradient(135deg,#e3f2fd,#f3f8ff);border-radius:12px;border-left:4px solid #4facfe}.info-icon[data-v-78de2126]{font-size:24px;color:#4facfe;flex-shrink:0;margin-top:2px}.info-text[data-v-78de2126]{flex:1}.info-text p[data-v-78de2126]{margin:0 0 10px 0;color:#2c3e50;font-size:16px}.info-text ul[data-v-78de2126]{margin:10px 0 0 0;padding-left:20px;list-style:none}.info-text ul li[data-v-78de2126]{color:#555;font-size:14px;line-height:2;position:relative;padding-left:20px}.info-text ul li[data-v-78de2126]:before{content:"✓";position:absolute;left:0;color:#4facfe;font-weight:700}.action-buttons[data-v-78de2126]{display:flex;gap:20px;padding:0 40px 40px;justify-content:center}.explore-btn[data-v-78de2126],.login-btn[data-v-78de2126]{flex:1;max-width:280px;height:56px;font-size:18px;font-weight:600;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.login-btn[data-v-78de2126]{background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;box-shadow:0 4px 15px rgba(79,172,254,.3)}.login-btn[data-v-78de2126]:hover{background:linear-gradient(135deg,#4098fe,#00d4fe);transform:translateY(-2px);box-shadow:0 6px 20px rgba(79,172,254,.4)}.explore-btn[data-v-78de2126]{background:#fff;border:2px solid #4facfe;color:#4facfe}.explore-btn[data-v-78de2126]:hover{background:#f0f9ff;border-color:#00d4fe;transform:translateY(-2px);box-shadow:0 4px 15px rgba(79,172,254,.2)}.btn-icon[data-v-78de2126]{font-size:20px}.platform-intro[data-v-78de2126]{padding:30px 40px;background:linear-gradient(135deg,#f8f9fa,#fff);border-top:2px solid #e8f4fd;animation:slideDown-78de2126 .5s ease-out}@keyframes slideDown-78de2126{0%{max-height:0;opacity:0;padding-top:0;padding-bottom:0}to{max-height:500px;opacity:1;padding-top:30px;padding-bottom:30px}}.platform-intro h3[data-v-78de2126]{font-size:24px;color:#2c3e50;margin-bottom:20px;font-weight:600}.platform-intro p[data-v-78de2126]{font-size:16px;color:#555;line-height:1.8;margin-bottom:15px;text-align:justify}.intro-stats[data-v-78de2126]{display:flex;justify-content:space-around;margin-top:30px;padding-top:30px;border-top:1px solid #e0e0e0}.stat-item[data-v-78de2126]{text-align:center}.stat-number[data-v-78de2126]{font-size:36px;font-weight:700;color:#4facfe;margin-bottom:8px}.stat-label[data-v-78de2126]{font-size:14px;color:#666}.welcome-footer[data-v-78de2126]{position:relative;z-index:10;margin-top:30px;text-align:center;color:hsla(0,0%,100%,.9);font-size:14px}.welcome-footer p[data-v-78de2126]{margin:0;text-shadow:0 1px 3px rgba(0,0,0,.2)}.fade-enter-active[data-v-78de2126],.fade-leave-active[data-v-78de2126]{transition:all .5s ease}.fade-enter-from[data-v-78de2126],.fade-leave-to[data-v-78de2126]{opacity:0;transform:translateY(-20px)}@media (max-width:768px){.welcome-card[data-v-78de2126]{width:95vw;margin:20px 10px}.welcome-header[data-v-78de2126]{padding:40px 30px}.welcome-title[data-v-78de2126]{font-size:32px}.welcome-subtitle[data-v-78de2126]{font-size:16px}.features-section[data-v-78de2126]{padding:40px 30px}.section-title[data-v-78de2126]{font-size:24px}.features-grid[data-v-78de2126]{grid-template-columns:1fr;gap:20px}.auth-info[data-v-78de2126]{padding:0 30px 20px}.action-buttons[data-v-78de2126]{flex-direction:column;padding:0 30px 30px}.explore-btn[data-v-78de2126],.login-btn[data-v-78de2126]{max-width:100%;width:100%}.platform-intro[data-v-78de2126]{padding:25px 30px}.intro-stats[data-v-78de2126]{flex-direction:column;gap:20px}}.dashboard-new[data-v-67a86460]{padding:0 16px;max-width:100%;margin:0}.stats-grid[data-v-67a86460]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:20px}.stat-card[data-v-67a86460]{background:#fff;border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.stat-card[data-v-67a86460]:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,0,0,.15)}.stat-icon[data-v-67a86460]{width:48px;height:48px;border-radius:12px;flex-shrink:0}.device-icon[data-v-67a86460]{background:linear-gradient(135deg,#409eff,#67c23a)}.online-icon[data-v-67a86460]{background:linear-gradient(135deg,#67c23a,#e6a23c)}.alarm-icon[data-v-67a86460]{background:linear-gradient(135deg,#f56c6c,#e6a23c)}.family-icon[data-v-67a86460]{background:linear-gradient(135deg,#909399,#409eff)}.stat-content[data-v-67a86460]{flex:1}.stat-number[data-v-67a86460]{font-size:28px;font-weight:700;color:#409eff;margin-bottom:4px;line-height:1}.stat-label[data-v-67a86460]{font-size:14px;color:#666;font-weight:500}.charts-grid[data-v-67a86460]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.chart-card[data-v-67a86460]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.chart-header[data-v-67a86460]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.chart-title[data-v-67a86460]{font-size:16px;font-weight:600;color:#333}.chart-controls[data-v-67a86460]{display:flex;align-items:center;gap:8px}.days-select[data-v-67a86460]{padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px}.refresh-btn[data-v-67a86460]{padding:6px 12px;background:#409eff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:4px}.refresh-btn[data-v-67a86460]:disabled{opacity:.6;cursor:not-allowed}.chart-container[data-v-67a86460]{height:240px}.device-status-chart[data-v-67a86460]{display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center}.status-bar[data-v-67a86460]{height:32px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:500;font-size:14px;min-width:80px;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.alarm-trend-chart[data-v-67a86460]{height:100%;display:flex;flex-direction:column}.chart-area[data-v-67a86460]{flex:1;display:flex;gap:8px}.y-axis[data-v-67a86460]{width:24px;display:flex;flex-direction:column;justify-content:space-between;padding:8px 0}.y-label[data-v-67a86460]{font-size:10px;color:#666;text-align:right}.plot-area[data-v-67a86460]{flex:1}.trend-svg[data-v-67a86460]{width:100%;height:150px}.x-axis[data-v-67a86460]{display:flex;justify-content:space-between;margin-top:8px;padding-left:32px}.x-label[data-v-67a86460]{font-size:10px;color:#666;text-align:center}.recent-alarms-card[data-v-67a86460]{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.card-header[data-v-67a86460]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-title[data-v-67a86460]{font-size:16px;font-weight:600;color:#333}.header-actions[data-v-67a86460]{display:flex;gap:8px}.action-btn[data-v-67a86460]{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:12px}.action-btn.primary[data-v-67a86460]{background:#409eff;color:#fff;border-color:#409eff}.action-btn.resolve[data-v-67a86460]{background:#67c23a;color:#fff;border-color:#67c23a}.table-container[data-v-67a86460]{overflow-x:auto}.alarms-table[data-v-67a86460]{width:100%;border-collapse:collapse}.alarms-table td[data-v-67a86460],.alarms-table th[data-v-67a86460]{padding:12px;text-align:left;border-bottom:1px solid #eee}.alarms-table th[data-v-67a86460]{background:#f8f9fa;font-weight:600;color:#666;font-size:14px}.no-data[data-v-67a86460]{text-align:center;color:#999;font-style:italic}.alarm-title[data-v-67a86460]{font-weight:500}.tag[data-v-67a86460]{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.tag-danger[data-v-67a86460]{background:#fef0f0;color:#f56c6c}.tag-warning[data-v-67a86460]{background:#fdf6ec;color:#e6a23c}.tag-success[data-v-67a86460]{background:#f0f9ff;color:#67c23a}.tag-info[data-v-67a86460]{background:#f4f4f5;color:#909399}.time-cell[data-v-67a86460]{font-size:12px;color:#666}.action-cell[data-v-67a86460]{white-space:nowrap}.quick-actions[data-v-67a86460]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.action-buttons[data-v-67a86460]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:16px}.quick-btn[data-v-67a86460]{padding:16px;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:8px}.quick-btn.devices[data-v-67a86460]{background:linear-gradient(135deg,#409eff,#67c23a)}.quick-btn.alarms[data-v-67a86460]{background:linear-gradient(135deg,#f56c6c,#e6a23c)}.quick-btn.family[data-v-67a86460]{background:linear-gradient(135deg,#67c23a,#409eff)}.quick-btn.health[data-v-67a86460]{background:linear-gradient(135deg,#909399,#67c23a)}.quick-btn[data-v-67a86460]{color:#fff}.quick-btn[data-v-67a86460]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.btn-icon[data-v-67a86460]{font-size:24px}@media (max-width:1024px){.dashboard-new[data-v-67a86460]{padding:0 12px}.stats-grid[data-v-67a86460]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}}@media (max-width:768px){.dashboard-new[data-v-67a86460]{padding:0 8px}.charts-grid[data-v-67a86460]{grid-template-columns:1fr;gap:12px}.stats-grid[data-v-67a86460]{gap:12px}.action-buttons[data-v-67a86460],.stats-grid[data-v-67a86460]{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.action-buttons[data-v-67a86460],.stats-grid[data-v-67a86460]{grid-template-columns:1fr}}.modal-overlay[data-v-67a86460]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal[data-v-67a86460]{background:#fff;border-radius:8px;max-width:500px;width:90%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal.large[data-v-67a86460]{max-width:700px}.modal-header[data-v-67a86460]{padding:16px 20px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-67a86460]{margin:0;font-size:18px}.close-btn[data-v-67a86460]{background:none;border:none;font-size:24px;cursor:pointer;color:#666}.modal-body[data-v-67a86460]{padding:20px;overflow-y:auto;flex:1}.form-group[data-v-67a86460]{margin-bottom:16px}.form-group label[data-v-67a86460]{display:block;margin-bottom:8px;font-weight:500}.form-group textarea[data-v-67a86460]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;resize:vertical;box-sizing:border-box}.alarm-info[data-v-67a86460]{background:#fafafa;padding:12px;border-radius:4px}.alarm-meta[data-v-67a86460]{margin-top:8px;display:flex;gap:16px;font-size:12px;color:#666}.modal-footer[data-v-67a86460]{padding:16px 20px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:8px}.btn[data-v-67a86460]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn.primary[data-v-67a86460]{background:#409eff;color:#fff}.btn.primary[data-v-67a86460]:disabled{background:#d9d9d9;color:#999;cursor:not-allowed}.btn.secondary[data-v-67a86460]{background:#f0f0f0;color:#666}.required[data-v-67a86460]{color:#f5222d}.action-select[data-v-67a86460]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;font-size:14px;box-sizing:border-box}.full-width[data-v-67a86460]{width:100%}.photo-upload-area[data-v-67a86460]{border:2px dashed #d9d9d9;border-radius:6px;padding:16px}.upload-zone[data-v-67a86460]{text-align:center;padding:20px;cursor:pointer}.upload-zone[data-v-67a86460]:hover{background:#fafafa}.upload-hint[data-v-67a86460]{color:#666}.upload-icon[data-v-67a86460]{font-size:24px;margin-bottom:8px}.selected-files[data-v-67a86460]{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.file-item[data-v-67a86460]{position:relative;border:1px solid #e8e8e8;border-radius:6px;overflow:hidden;background:#fff}.file-preview[data-v-67a86460]{width:100%;height:80px;-o-object-fit:cover;object-fit:cover}.file-info[data-v-67a86460]{padding:8px}.file-name[data-v-67a86460]{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-67a86460]{font-size:11px;color:#666;margin-top:2px}.remove-file[data-v-67a86460]{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;border:none;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.product-management[data-v-873f5158]{padding:20px;background-color:#f5f7fa;min-height:100vh}.search-panel-overlay[data-v-873f5158]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;justify-content:center;align-items:flex-start;padding-top:100px}.search-panel[data-v-873f5158]{background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);width:90%;max-width:1200px;min-width:800px;max-height:80vh;overflow-y:auto;padding:0;animation:slideDown-873f5158 .3s ease-out}@keyframes slideDown-873f5158{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.search-panel-header[data-v-873f5158]{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 0 20px}.search-panel-header h3[data-v-873f5158]{margin:0;color:#303133;font-size:18px;font-weight:600}.search-panel[data-v-873f5158] .el-form{padding:0 20px 20px 20px}.search-panel[data-v-873f5158] .el-form-item{margin-right:20px;margin-bottom:0}.search-panel[data-v-873f5158] .el-form-item:last-child{margin-right:0}.search-panel[data-v-873f5158] .el-form-item__content{flex:none}@media (max-width:1024px){.search-panel[data-v-873f5158]{width:95%;min-width:600px}.search-panel[data-v-873f5158] .el-form-item{margin-right:15px}}@media (max-width:768px){.search-panel[data-v-873f5158]{width:98%;min-width:0}.search-panel[data-v-873f5158] .el-form{padding:0 15px 15px 15px}.search-panel[data-v-873f5158] .el-form-item{margin-right:10px;margin-bottom:10px}.search-panel[data-v-873f5158] .el-form-item:last-child{margin-bottom:0}}.table-card[data-v-873f5158]{margin-bottom:20px}.header-actions[data-v-873f5158]{display:flex;align-items:center;gap:10px}.card-header[data-v-873f5158]{display:flex;justify-content:space-between;align-items:center}.table-actions[data-v-873f5158]{display:flex;gap:10px}.pagination-wrapper[data-v-873f5158]{display:flex;justify-content:center;margin-top:20px}.dialog-footer[data-v-873f5158]{text-align:right}.avatar-uploader .avatar[data-v-873f5158]{width:80px;height:80px;display:block;border-radius:6px}.avatar-uploader .el-upload[data-v-873f5158]{border:1px dashed var(--el-border-color);border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:var(--el-transition-duration-fast)}.avatar-uploader .el-upload[data-v-873f5158]:hover{border-color:var(--el-color-primary)}.avatar-uploader-icon[data-v-873f5158]{font-size:28px;color:#8c939d;width:80px;height:80px;text-align:center;line-height:80px;border:1px dashed #d9d9d9;border-radius:6px}.upload-tip[data-v-873f5158]{font-size:12px;color:#909399;margin-top:5px;line-height:1.4}.form-item-tip[data-v-873f5158]{font-size:12px;color:#909399;margin-top:5px;line-height:1.5}.product-detail-enhanced[data-v-873f5158]{padding:0}.detail-tabs[data-v-873f5158]{margin-top:0}.detail-descriptions[data-v-873f5158]{margin-top:10px}[data-v-873f5158] .detail-label{font-weight:600;color:#606266;background-color:#fafafa!important}.description-text[data-v-873f5158]{line-height:1.8;color:#606266}.specs-container[data-v-873f5158]{padding:10px}.specs-content h4[data-v-873f5158]{margin:20px 0 15px 0;color:#303133;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.spec-item[data-v-873f5158]{margin-bottom:15px;padding:12px;background-color:#f8f9fa;border-radius:6px}.spec-label[data-v-873f5158]{font-weight:600;color:#606266;margin-right:10px}.command-group[data-v-873f5158]{margin-bottom:25px;padding:15px;background-color:#fafbfc;border-radius:8px;border:1px solid #e4e7ed}.command-group h5[data-v-873f5158]{margin:0 0 15px 0;color:#303133;font-size:15px;font-weight:600;display:flex;align-items:center;gap:6px}.script-preview[data-v-873f5158]{padding:10px}.script-header[data-v-873f5158]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #e4e7ed}.script-header span[data-v-873f5158]{font-size:16px;font-weight:600;color:#303133;display:flex;align-items:center;gap:8px}.script-code[data-v-873f5158]{background-color:#1e1e1e;border-radius:8px;padding:20px;overflow-x:auto}.script-code pre[data-v-873f5158]{margin:0;font-family:Consolas,Monaco,Courier New,monospace}.script-code code[data-v-873f5158]{color:#d4d4d4;font-size:13px;line-height:1.6}.stats-container[data-v-873f5158]{padding:10px}.stat-card[data-v-873f5158]{border-radius:12px}.stat-item[data-v-873f5158]{display:flex;align-items:center;gap:20px;padding:10px}.stat-icon[data-v-873f5158]{width:70px;height:70px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.devices[data-v-873f5158]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-icon.status[data-v-873f5158]{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.stat-content[data-v-873f5158]{flex:1}.stat-label[data-v-873f5158]{font-size:14px;color:#909399;margin-bottom:8px}.stat-value[data-v-873f5158]{font-size:28px;font-weight:700;color:#303133;margin-bottom:5px}.stat-desc[data-v-873f5158]{font-size:12px;color:#909399}.timeline-card .card-header[data-v-873f5158]{display:flex;align-items:center;gap:8px;font-weight:600}.timeline-card[data-v-873f5158] .el-timeline-item__content h4{margin:0 0 8px 0;font-size:15px;font-weight:600;color:#303133}.timeline-card[data-v-873f5158] .el-timeline-item__content p{margin:0;font-size:13px;color:#606266;line-height:1.6}.el-dialog[data-v-873f5158]{--el-dialog-margin-top:10vh!important}.script-editor-dialog[data-v-873f5158]{display:flex!important;align-items:center!important;justify-content:center!important;position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;margin:0!important;overflow:hidden!important;z-index:2000!important}.script-editor-dialog .el-dialog.el-dialog--center[data-v-873f5158]{margin:0!important;position:relative!important;top:auto!important;left:auto!important;transform:none!important;width:1200px!important;height:calc(100vh - 10px)!important;max-height:calc(100vh - 10px)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.script-editor-dialog .el-dialog[data-v-873f5158]{margin:0!important;height:100%!important;max-height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.script-editor-dialog .el-dialog__header[data-v-873f5158]{flex-shrink:0;padding:15px 20px 10px}.script-editor-dialog .el-dialog__body[data-v-873f5158]{flex:1;padding:0 20px;overflow:hidden}.script-editor-dialog .el-dialog__footer[data-v-873f5158]{flex-shrink:0;padding:10px 20px 15px}.script-editor-container[data-v-873f5158]{display:flex;flex-direction:column;height:100%;overflow:hidden}.script-info[data-v-873f5158]{margin-bottom:15px;padding:10px;background-color:#f0f9ff;border-radius:6px;border-left:4px solid #409eff}.script-info h4[data-v-873f5158]{margin:0 0 8px 0;color:#333;font-size:16px}.script-description[data-v-873f5158]{margin:0;color:#666;font-size:14px;line-height:1.5}.editor-content[data-v-873f5158]{display:flex;flex:1;gap:20px;height:100%}.editor-left[data-v-873f5158]{flex:2;display:flex;flex-direction:column}.editor-right[data-v-873f5158]{flex:1;display:flex;flex-direction:column;min-width:350px}.monaco-editor-wrapper[data-v-873f5158]{height:100%;border:1px solid #dcdfe6;border-radius:6px;overflow:hidden}.script-test-panel[data-v-873f5158]{height:100%;display:flex;flex-direction:column;border:1px solid #dcdfe6;border-radius:6px;padding:15px;background-color:#fafafa}.script-test-panel h5[data-v-873f5158]{margin:0 0 15px 0;color:#333;font-size:16px;font-weight:600}.test-input-output[data-v-873f5158]{flex:1;display:flex;flex-direction:column;gap:15px;margin-bottom:15px}.test-input[data-v-873f5158],.test-output[data-v-873f5158]{flex:1}.test-input label[data-v-873f5158],.test-output label[data-v-873f5158]{display:block;margin-bottom:8px;color:#606266;font-weight:500;font-size:14px}.test-actions[data-v-873f5158]{margin-top:auto;text-align:center}.test-actions .el-button[data-v-873f5158]{margin:0 8px}@media (max-width:1024px){.script-editor-dialog .el-dialog.el-dialog--center[data-v-873f5158]{width:95%!important;height:calc(100vh - 5px)!important;max-height:calc(100vh - 5px)!important}.editor-content[data-v-873f5158]{flex-direction:column;gap:15px}.editor-left[data-v-873f5158]{flex:none;height:45%}.editor-right[data-v-873f5158]{flex:none;height:45%;min-width:auto}}@media (max-width:768px){.script-editor-dialog .el-dialog.el-dialog--center[data-v-873f5158]{width:98%!important;height:calc(100vh - 2px)!important;max-height:calc(100vh - 2px)!important}.script-editor-dialog .el-dialog__header[data-v-873f5158]{padding:10px 15px 5px}.script-editor-dialog .el-dialog__body[data-v-873f5158]{padding:0 15px}.script-editor-dialog .el-dialog__footer[data-v-873f5158]{padding:5px 15px 10px}.editor-left[data-v-873f5158]{height:50%}.editor-right[data-v-873f5158]{height:40%}}.page-header[data-v-2da34b3a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h2[data-v-2da34b3a]{margin:0;color:#333}.header-actions[data-v-2da34b3a]{display:flex;gap:10px}.device-stats[data-v-2da34b3a]{margin-bottom:20px}.stat-card[data-v-2da34b3a]{text-align:center;cursor:pointer;transition:transform .2s}.stat-card[data-v-2da34b3a]:hover{transform:translateY(-2px)}.stat-card.active[data-v-2da34b3a]{border:2px solid #409eff;box-shadow:0 2px 12px rgba(64,158,255,.3)}.stat-item[data-v-2da34b3a]{padding:10px}.stat-value[data-v-2da34b3a]{font-size:24px;font-weight:700;color:#409eff;margin-bottom:5px}.stat-value.online[data-v-2da34b3a]{color:#67c23a}.stat-value.offline[data-v-2da34b3a]{color:#f56c6c}.stat-value.rate[data-v-2da34b3a]{color:#e6a23c}.stat-label[data-v-2da34b3a]{font-size:14px;color:#666}.device-list[data-v-2da34b3a]{margin-bottom:20px}.card-header[data-v-2da34b3a]{display:flex;justify-content:space-between;align-items:center}.view-toggle[data-v-2da34b3a]{margin-left:auto}.table-container[data-v-2da34b3a]{width:100%;overflow-x:auto}[data-v-2da34b3a] .el-scrollbar__view,[data-v-2da34b3a] .el-scrollbar__wrap,[data-v-2da34b3a] .el-scrollbar__wrap--hidden-default{width:100%!important}[data-v-2da34b3a] .el-table{width:100%!important;min-width:100%}[data-v-2da34b3a] .el-table__body,[data-v-2da34b3a] .el-table__body-wrapper,[data-v-2da34b3a] .el-table__header,[data-v-2da34b3a] .el-table__header-wrapper{width:100%!important}[data-v-2da34b3a] .el-table__fixed-right{right:0!important}[data-v-2da34b3a] .el-table--fit{width:100%!important}[data-v-2da34b3a] .el-table td,[data-v-2da34b3a] .el-table th{padding:12px 0;border-bottom:1px solid #ebeef5;text-align:center!important}[data-v-2da34b3a] .el-table .cell,[data-v-2da34b3a] .el-table th .cell{width:100%!important;padding-left:0!important;padding-right:0!important;text-align:center!important;display:flex!important;justify-content:center!important;align-items:center!important}[data-v-2da34b3a] .el-table__row{transition:background-color .2s}[data-v-2da34b3a] .el-table__row:hover{background-color:#f5f7fa}.action-buttons[data-v-2da34b3a]{display:flex;gap:6px;flex-wrap:nowrap;justify-content:center;align-items:center}.action-buttons .el-button[data-v-2da34b3a]{margin:0;font-size:12px;padding:4px 10px;min-width:58px;white-space:nowrap}.heartbeat-time[data-v-2da34b3a]{font-size:12px;color:#666}.no-data[data-v-2da34b3a]{color:#c0c4cc;font-style:italic}.device-cards[data-v-2da34b3a]{margin-top:20px}.cards-container[data-v-2da34b3a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.device-card[data-v-2da34b3a]{cursor:pointer;transition:all .3s}.device-card[data-v-2da34b3a]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.device-card-header[data-v-2da34b3a]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.device-info h3[data-v-2da34b3a]{margin:0 0 5px 0;color:#333;font-size:16px}.device-id[data-v-2da34b3a]{margin:0;color:#666;font-size:12px}.device-card-body[data-v-2da34b3a]{space-y:10px}.device-family[data-v-2da34b3a],.device-location[data-v-2da34b3a],.device-product[data-v-2da34b3a],.device-type[data-v-2da34b3a]{display:flex;justify-content:space-between;margin-bottom:8px}.label[data-v-2da34b3a]{font-weight:500;color:#666}.device-metrics[data-v-2da34b3a]{display:flex;justify-content:space-between;margin-top:10px;font-size:12px}.metric[data-v-2da34b3a]{display:flex;flex-direction:column;align-items:center}.metric-label[data-v-2da34b3a]{color:#666;margin-bottom:2px}.metric-value[data-v-2da34b3a]{color:#333;font-weight:500}.device-detail[data-v-2da34b3a]{margin-top:20px}@media (max-width:1200px){.action-buttons[data-v-2da34b3a]{flex-direction:column;gap:4px}.action-buttons .el-button[data-v-2da34b3a]{min-width:60px;font-size:11px}}@media (max-width:768px){.table-container[data-v-2da34b3a]{overflow-x:scroll}[data-v-2da34b3a] .el-table td,[data-v-2da34b3a] .el-table th{padding:8px 4px}.action-buttons .el-button[data-v-2da34b3a]{padding:4px 6px;font-size:10px}}.table-container[data-v-2da34b3a]::-webkit-scrollbar{height:6px}.table-container[data-v-2da34b3a]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.table-container[data-v-2da34b3a]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.table-container[data-v-2da34b3a]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.dialog-footer[data-v-2da34b3a]{text-align:right}.form-tip[data-v-2da34b3a]{font-size:12px;color:#909399;margin-top:4px;line-height:1.4}.import-section[data-v-2da34b3a]{max-height:60vh;overflow-y:auto}.import-instructions ul[data-v-2da34b3a]{margin:8px 0;padding-left:20px}.import-instructions li[data-v-2da34b3a]{margin:4px 0;line-height:1.4}.import-actions[data-v-2da34b3a]{margin:20px 0;display:flex;align-items:center;gap:10px}.file-info[data-v-2da34b3a]{margin:20px 0}.file-header[data-v-2da34b3a]{display:flex;justify-content:space-between;align-items:center}.file-details p[data-v-2da34b3a]{margin:5px 0;color:#666;font-size:14px}.preview-section[data-v-2da34b3a]{margin:20px 0}.preview-section h4[data-v-2da34b3a]{margin:0 0 10px 0;color:#333;font-size:16px}.preview-summary[data-v-2da34b3a]{margin:10px 0 0 0;color:#666;font-size:14px;text-align:center}.error-section[data-v-2da34b3a]{margin:20px 0}.error-section h4[data-v-2da34b3a]{margin:0 0 10px 0;color:#f56c6c;font-size:16px}.product-info[data-v-2da34b3a]{text-align:center}.product-name[data-v-2da34b3a]{font-weight:500;color:#333;margin-bottom:2px}.product-model[data-v-2da34b3a]{font-size:12px;color:#666}.alarm-center[data-v-4d63a3ba]{padding:20px;background-color:#f5f5f5;min-height:100vh}.page-header[data-v-4d63a3ba]{margin-bottom:24px}.stats-cards[data-v-4d63a3ba]{display:flex;gap:16px;margin-bottom:24px}.stat-card[data-v-4d63a3ba]{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);flex:1;text-align:center;cursor:pointer;transition:transform .2s}.stat-card[data-v-4d63a3ba]:hover{transform:translateY(-2px)}.stat-number[data-v-4d63a3ba]{font-size:32px;font-weight:700;margin-bottom:8px}.stat-card.total .stat-number[data-v-4d63a3ba]{color:#666}.stat-card.pending .stat-number[data-v-4d63a3ba]{color:#fa8c16}.stat-card.confirmed .stat-number[data-v-4d63a3ba]{color:#1890ff}.stat-card.resolved .stat-number[data-v-4d63a3ba]{color:#52c41a}.stat-label[data-v-4d63a3ba]{color:#666;font-size:14px}.filter-toolbar[data-v-4d63a3ba]{background:#fff;padding:16px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.filter-left[data-v-4d63a3ba]{display:flex;gap:12px;align-items:center}.filter-left select[data-v-4d63a3ba]{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fff}.refresh-btn[data-v-4d63a3ba]{padding:8px 16px;background:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer}.refresh-btn[data-v-4d63a3ba]:hover{background:#40a9ff}.filter-right[data-v-4d63a3ba]{display:flex;gap:8px}.batch-btn[data-v-4d63a3ba]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.confirm-btn[data-v-4d63a3ba]{background:#1890ff;color:#fff}.resolve-btn[data-v-4d63a3ba]{background:#52c41a;color:#fff}.alarm-list[data-v-4d63a3ba]{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);overflow:hidden}.loading[data-v-4d63a3ba]{padding:40px;text-align:center;color:#666}.empty-state[data-v-4d63a3ba]{padding:60px;text-align:center}.empty-icon[data-v-4d63a3ba]{font-size:48px;margin-bottom:16px}.empty-text[data-v-4d63a3ba]{color:#666;font-size:16px}.alarm-table[data-v-4d63a3ba]{width:100%}.table-header[data-v-4d63a3ba],.table-row[data-v-4d63a3ba]{display:grid;grid-template-columns:40px 80px 1fr 120px 160px 1fr 120px 80px 180px;gap:12px;padding:12px;align-items:center;width:100%;text-align:center}.table-header[data-v-4d63a3ba]{background:#fafafa;border-bottom:1px solid #f0f0f0;font-weight:600;color:#666}.table-row[data-v-4d63a3ba]{border-bottom:1px solid #f0f0f0;transition:background-color .2s}.table-row[data-v-4d63a3ba]:hover{background:#fafafa}.table-row.selected[data-v-4d63a3ba]{background:#e6f7ff}.level-display[data-v-4d63a3ba]{display:flex;align-items:center;gap:6px}.level-color-block[data-v-4d63a3ba]{width:12px;height:12px;border-radius:2px;flex-shrink:0}.level-text[data-v-4d63a3ba]{font-size:13px;font-weight:500}.alarm-title[data-v-4d63a3ba]{font-weight:500;margin-bottom:4px}.col-title[data-v-4d63a3ba]{text-align:left}.alarm-content[data-v-4d63a3ba]{color:#666;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-name[data-v-4d63a3ba]{font-weight:500}.col-device-type .device-type[data-v-4d63a3ba]{color:#666;font-size:13px}.time-main[data-v-4d63a3ba]{margin-bottom:2px}.time-relative[data-v-4d63a3ba]{color:#666;font-size:12px}.status-badge[data-v-4d63a3ba]{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-pending[data-v-4d63a3ba]{background:#fff2e8;color:#fa8c16}.status-confirmed[data-v-4d63a3ba]{background:#e6f7ff;color:#1890ff}.status-in_progress[data-v-4d63a3ba]{background:#fff7e6;color:#fa8c16}.status-completed[data-v-4d63a3ba],.status-resolved[data-v-4d63a3ba]{background:#f6ffed;color:#52c41a}.action-btn[data-v-4d63a3ba]{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:4px}.action-btn.confirm[data-v-4d63a3ba]{background:#1890ff;color:#fff}.action-btn.resolve[data-v-4d63a3ba]{background:#52c41a;color:#fff}.action-btn.detail[data-v-4d63a3ba]{background:#f0f0f0;color:#666}.pagination[data-v-4d63a3ba]{justify-content:space-between;margin-top:24px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.06);border:1px solid #f0f0f0}.pagination-info[data-v-4d63a3ba],.pagination[data-v-4d63a3ba]{display:flex;align-items:center}.total-info[data-v-4d63a3ba]{color:#666;font-size:14px;font-weight:500}.pagination-controls[data-v-4d63a3ba]{display:flex;align-items:center;gap:8px}.page-btn[data-v-4d63a3ba]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;font-size:14px;color:#333;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:32px}.page-btn[data-v-4d63a3ba]:hover:not(:disabled){background:#f0f9ff;border-color:#1890ff;color:#1890ff;transform:translateY(-1px);box-shadow:0 2px 8px rgba(24,144,255,.1)}.page-btn[data-v-4d63a3ba]:active:not(:disabled){transform:translateY(0)}.page-btn[data-v-4d63a3ba]:disabled{background:#f5f5f5;color:#bfbfbf;cursor:not-allowed;border-color:#e8e8e8}.page-btn.active[data-v-4d63a3ba]{background:#1890ff;border-color:#1890ff;color:#fff;font-weight:500}.page-btn.active[data-v-4d63a3ba]:hover{background:#40a9ff;border-color:#40a9ff;color:#fff;transform:translateY(-1px)}.page-btn.ellipsis[data-v-4d63a3ba]{border:none;background:transparent;cursor:default;color:#999;font-weight:700}.page-btn.ellipsis[data-v-4d63a3ba]:disabled{background:transparent;color:#999}.btn-icon[data-v-4d63a3ba]{transition:transform .2s}.prev-btn:hover:not(:disabled) .btn-icon[data-v-4d63a3ba]{transform:translateX(-2px)}.next-btn:hover:not(:disabled) .btn-icon[data-v-4d63a3ba]{transform:translateX(2px)}.page-numbers[data-v-4d63a3ba]{display:flex;align-items:center;gap:4px;margin:0 8px}.page-number-item[data-v-4d63a3ba]{display:inline-block}.page-number[data-v-4d63a3ba]{min-width:32px;padding:6px 8px;justify-content:center}.pagination-size[data-v-4d63a3ba]{display:flex;align-items:center;gap:8px}.page-size-label[data-v-4d63a3ba]{color:#666;font-size:14px}.page-size-select[data-v-4d63a3ba]{padding:6px 8px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;font-size:14px;cursor:pointer;transition:border-color .2s}.page-size-select[data-v-4d63a3ba]:hover{border-color:#40a9ff}.page-size-select[data-v-4d63a3ba]:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.1)}@media (max-width:768px){.pagination[data-v-4d63a3ba]{flex-direction:column;gap:16px;padding:16px}.pagination-controls[data-v-4d63a3ba]{order:2;gap:4px}.pagination-info[data-v-4d63a3ba]{order:1}.pagination-size[data-v-4d63a3ba]{order:3}.page-btn[data-v-4d63a3ba]{padding:6px 10px;font-size:13px}.page-numbers[data-v-4d63a3ba]{margin:0 4px;gap:2px}.page-number[data-v-4d63a3ba]{min-width:28px;padding:6px}.next-btn[data-v-4d63a3ba],.prev-btn[data-v-4d63a3ba]{padding:8px}.next-btn .btn-icon[data-v-4d63a3ba],.prev-btn .btn-icon[data-v-4d63a3ba]{display:none}}.modal-overlay[data-v-4d63a3ba]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal[data-v-4d63a3ba]{background:#fff;border-radius:8px;max-width:500px;width:90%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal.large[data-v-4d63a3ba]{max-width:800px}.modal-header[data-v-4d63a3ba]{padding:16px 20px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:8px 8px 0 0;position:sticky;top:0;z-index:10;flex-shrink:0}.modal-header h3[data-v-4d63a3ba]{margin:0;font-size:18px}.close-btn[data-v-4d63a3ba]{background:none;border:none;font-size:24px;cursor:pointer;color:#666}.modal-body[data-v-4d63a3ba]{padding:20px;overflow-y:auto;flex:1;min-height:0}.form-group[data-v-4d63a3ba]{margin-bottom:16px}.form-group label[data-v-4d63a3ba]{display:block;margin-bottom:8px;font-weight:500}.form-group textarea[data-v-4d63a3ba]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;resize:vertical;box-sizing:border-box}.alarm-info[data-v-4d63a3ba]{background:#fafafa;padding:12px;border-radius:4px}.modal-footer[data-v-4d63a3ba]{padding:16px 20px;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:0 0 8px 8px;position:sticky;bottom:0;z-index:10;flex-shrink:0}.footer-left[data-v-4d63a3ba]{display:flex;gap:8px}.footer-right[data-v-4d63a3ba]{display:flex;gap:8px;align-items:center}.action-buttons[data-v-4d63a3ba]{display:flex;gap:8px}.btn[data-v-4d63a3ba]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn.primary[data-v-4d63a3ba]{background:#1890ff;color:#fff}.btn.secondary[data-v-4d63a3ba]{background:#f0f0f0;color:#666}.btn.warning[data-v-4d63a3ba]{background:#fa8c16;color:#fff}.btn.warning[data-v-4d63a3ba]:hover{background:#d46b08}.btn.warning[data-v-4d63a3ba]:disabled{background:#d9d9d9;color:#999;cursor:not-allowed}.btn.info[data-v-4d63a3ba]{background:#1890ff;color:#fff}.btn.info[data-v-4d63a3ba]:hover{background:#096dd9}.btn.info[data-v-4d63a3ba]:disabled{background:#d9d9d9;color:#999;cursor:not-allowed}.detail-section[data-v-4d63a3ba]{margin-bottom:24px}.detail-section h4[data-v-4d63a3ba]{margin:0 0 12px 0;font-size:16px;color:#333;border-bottom:1px solid #f0f0f0;padding-bottom:8px}.detail-grid[data-v-4d63a3ba]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item[data-v-4d63a3ba]{display:flex;align-items:center}.detail-item label[data-v-4d63a3ba]{width:80px;color:#666;margin-right:12px;margin-bottom:0}.alarm-content-detail[data-v-4d63a3ba]{background:#fafafa;padding:12px;border-radius:4px;line-height:1.5}.alarm-meta[data-v-4d63a3ba]{margin-top:8px;display:flex;gap:16px;font-size:12px;color:#666}.required[data-v-4d63a3ba]{color:#f5222d}.action-options[data-v-4d63a3ba]{display:flex;flex-direction:column;gap:12px}.radio-option[data-v-4d63a3ba]{display:flex;align-items:flex-start;gap:8px;padding:12px;border:1px solid #e8e8e8;border-radius:6px;cursor:pointer;transition:all .2s}.radio-option[data-v-4d63a3ba]:hover{border-color:#1890ff;background:#f0f9ff}.radio-option input[type=radio][data-v-4d63a3ba]{margin:0;margin-top:2px}.radio-text[data-v-4d63a3ba]{font-weight:500;color:#333}.radio-option small[data-v-4d63a3ba]{display:block;color:#666;font-size:12px;margin-top:4px}.full-width[data-v-4d63a3ba]{width:100%}.action-select[data-v-4d63a3ba]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;font-size:14px;color:#333;box-sizing:border-box;transition:border-color .3s}.action-select[data-v-4d63a3ba]:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.action-select[data-v-4d63a3ba]:hover{border-color:#40a9ff}.photo-upload-area[data-v-4d63a3ba]{border:2px dashed #d9d9d9;border-radius:6px;padding:16px;transition:border-color .3s}.photo-upload-area[data-v-4d63a3ba]:hover{border-color:#1890ff}.upload-zone[data-v-4d63a3ba]{text-align:center;padding:20px;cursor:pointer;transition:background-color .3s}.upload-zone[data-v-4d63a3ba]:hover{background:#fafafa}.upload-hint[data-v-4d63a3ba]{color:#666}.upload-icon[data-v-4d63a3ba]{font-size:24px;margin-bottom:8px}.selected-files[data-v-4d63a3ba]{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.file-item[data-v-4d63a3ba]{position:relative;border:1px solid #e8e8e8;border-radius:6px;overflow:hidden;background:#fff}.file-preview[data-v-4d63a3ba]{width:100%;height:80px;-o-object-fit:cover;object-fit:cover}.file-info[data-v-4d63a3ba]{padding:8px}.file-name[data-v-4d63a3ba]{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-4d63a3ba]{font-size:11px;color:#666;margin-top:2px}.remove-file[data-v-4d63a3ba]{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;border:none;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.uploaded-photos[data-v-4d63a3ba]{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.uploaded-photo[data-v-4d63a3ba]{position:relative}.photo-preview[data-v-4d63a3ba]{width:100%;height:100px;-o-object-fit:cover;object-fit:cover;border-radius:4px}.remove-photo[data-v-4d63a3ba]{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;background:rgba(255,0,0,.7);color:#fff;border:none;cursor:pointer;font-size:12px}@media (max-width:768px){.stats-cards[data-v-4d63a3ba]{grid-template-columns:1fr 1fr}.filter-toolbar[data-v-4d63a3ba]{flex-direction:column;gap:12px;align-items:stretch}.table-header[data-v-4d63a3ba],.table-row[data-v-4d63a3ba]{grid-template-columns:40px 1fr;gap:8px}.col-device-type[data-v-4d63a3ba],.col-device[data-v-4d63a3ba],.col-level[data-v-4d63a3ba],.col-status[data-v-4d63a3ba],.col-time[data-v-4d63a3ba]{display:none}.detail-grid[data-v-4d63a3ba]{grid-template-columns:1fr}}.notification-container[data-v-4d63a3ba]{position:fixed;top:20px;right:20px;z-index:9999;pointer-events:none}.notification[data-v-4d63a3ba]{display:flex;align-items:center;min-width:320px;max-width:480px;margin-bottom:12px;padding:16px 20px;background:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);border-left:4px solid transparent;opacity:0;transform:translateX(100%);transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:auto;cursor:pointer}.notification-visible[data-v-4d63a3ba]{opacity:1;transform:translateX(0)}.notification-success[data-v-4d63a3ba]{border-left-color:#52c41a;background:linear-gradient(135deg,#f6ffed,#fff)}.notification-error[data-v-4d63a3ba]{border-left-color:#ff4d4f;background:linear-gradient(135deg,#fff2f0,#fff)}.notification-warning[data-v-4d63a3ba]{border-left-color:#faad14;background:linear-gradient(135deg,#fffbe6,#fff)}.notification-info[data-v-4d63a3ba]{border-left-color:#1890ff;background:linear-gradient(135deg,#e6f7ff,#fff)}.notification-icon[data-v-4d63a3ba]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:12px;border-radius:50%;font-size:14px;font-weight:700;flex-shrink:0}.notification-success .notification-icon[data-v-4d63a3ba]{background:#52c41a;color:#fff}.notification-error .notification-icon[data-v-4d63a3ba]{background:#ff4d4f;color:#fff}.notification-warning .notification-icon[data-v-4d63a3ba]{background:#faad14;color:#fff}.notification-info .notification-icon[data-v-4d63a3ba]{background:#1890ff;color:#fff}.notification-content[data-v-4d63a3ba]{flex:1;min-width:0}.notification-message[data-v-4d63a3ba]{font-size:14px;color:#333;line-height:1.4;word-wrap:break-word}.notification-close[data-v-4d63a3ba]{margin-left:12px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:#999;font-size:16px;cursor:pointer;opacity:.7;transition:opacity .2s;flex-shrink:0}.notification-close[data-v-4d63a3ba]:hover{opacity:1;color:#666}.notification-enter-active[data-v-4d63a3ba],.notification-leave-active[data-v-4d63a3ba]{transition:all .3s cubic-bezier(.4,0,.2,1)}.notification-enter-from[data-v-4d63a3ba],.notification-leave-to[data-v-4d63a3ba]{opacity:0;transform:translateX(100%)}.notification-move[data-v-4d63a3ba]{transition:transform .3s cubic-bezier(.4,0,.2,1)}@media (max-width:768px){.notification-container[data-v-4d63a3ba]{top:10px;right:10px;left:10px}.notification[data-v-4d63a3ba]{min-width:auto;margin-bottom:8px}}.processing-info[data-v-4d63a3ba]{background:#fafafa;padding:16px;border-radius:6px;border:1px solid #f0f0f0}.resolve-action-badge[data-v-4d63a3ba]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;color:#fff}.action-test_alarm[data-v-4d63a3ba]{background:#1890ff}.action-false_alarm[data-v-4d63a3ba]{background:#faad14}.action-real_alarm[data-v-4d63a3ba]{background:#52c41a}.resolve-note[data-v-4d63a3ba]{margin-top:16px}.resolve-note label[data-v-4d63a3ba]{display:block;margin-bottom:8px;font-weight:500;color:#333}.resolve-note-content[data-v-4d63a3ba]{background:#fff;padding:12px;border-radius:4px;border:1px solid #e8e8e8;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.resolve-photos[data-v-4d63a3ba]{margin-top:16px}.resolve-photos label[data-v-4d63a3ba]{display:block;margin-bottom:8px;font-weight:500;color:#333}.photo-grid[data-v-4d63a3ba]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.photo-thumbnail[data-v-4d63a3ba]{position:relative;width:120px;height:120px;border-radius:6px;overflow:hidden;cursor:pointer;transition:transform .2s}.photo-thumbnail[data-v-4d63a3ba]:hover{transform:scale(1.05)}.photo-thumbnail img[data-v-4d63a3ba]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.photo-overlay[data-v-4d63a3ba]{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.photo-thumbnail:hover .photo-overlay[data-v-4d63a3ba]{opacity:1}.zoom-icon[data-v-4d63a3ba]{font-size:24px;color:#fff}.photo-viewer-overlay[data-v-4d63a3ba]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);z-index:10000;display:flex;align-items:center;justify-content:center}.photo-viewer[data-v-4d63a3ba]{width:90vw;height:90vh;max-width:1200px;display:flex;flex-direction:column;background:hsla(0,0%,100%,.1);border-radius:8px;overflow:hidden}.photo-viewer-header[data-v-4d63a3ba]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:rgba(0,0,0,.5);color:#fff}.photo-counter[data-v-4d63a3ba]{font-size:14px;font-weight:500}.photo-close-btn[data-v-4d63a3ba]{background:none;border:none;color:#fff;font-size:32px;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.photo-close-btn[data-v-4d63a3ba]:hover{background:hsla(0,0%,100%,.2)}.photo-viewer-content[data-v-4d63a3ba]{flex:1;display:flex;align-items:center;position:relative;min-height:0}.photo-container[data-v-4d63a3ba]{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;min-height:0}.photo-main[data-v-4d63a3ba]{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border-radius:4px;box-shadow:0 4px 20px rgba(0,0,0,.3)}.photo-nav-btn[data-v-4d63a3ba]{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.5);border:none;color:#fff;font-size:48px;width:60px;height:60px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;z-index:10}.photo-nav-btn[data-v-4d63a3ba]:hover{background:rgba(0,0,0,.7)}.prev-btn[data-v-4d63a3ba]{left:20px}.next-btn[data-v-4d63a3ba]{right:20px}.photo-thumbnails[data-v-4d63a3ba]{padding:16px 20px;background:rgba(0,0,0,.5);display:flex;gap:8px;overflow-x:auto;justify-content:center}.thumbnail-item[data-v-4d63a3ba]{width:60px;height:60px;border-radius:4px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s;flex-shrink:0}.thumbnail-item.active[data-v-4d63a3ba]{border-color:#1890ff}.thumbnail-item img[data-v-4d63a3ba]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}@media (max-width:768px){.photo-grid[data-v-4d63a3ba]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.photo-thumbnail[data-v-4d63a3ba]{width:100px;height:100px}.photo-viewer[data-v-4d63a3ba]{width:95vw;height:95vh}.photo-nav-btn[data-v-4d63a3ba]{width:50px;height:50px;font-size:36px}.prev-btn[data-v-4d63a3ba]{left:10px}.next-btn[data-v-4d63a3ba]{right:10px}.photo-thumbnails[data-v-4d63a3ba]{padding:12px}.thumbnail-item[data-v-4d63a3ba]{width:50px;height:50px}}.processing-timeline[data-v-4d63a3ba]{position:relative;padding-left:40px}.timeline-item[data-v-4d63a3ba]{position:relative;margin-bottom:24px;display:flex;align-items:flex-start}.timeline-item[data-v-4d63a3ba]:last-child{margin-bottom:0}.timeline-item[data-v-4d63a3ba]:before{content:"";position:absolute;left:-28px;top:32px;bottom:-24px;width:2px;background:#e8e8e8}.timeline-item[data-v-4d63a3ba]:last-child:before{display:none}.timeline-marker[data-v-4d63a3ba]{position:absolute;left:-44px;top:0}.timeline-icon[data-v-4d63a3ba],.timeline-marker[data-v-4d63a3ba]{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.timeline-icon[data-v-4d63a3ba]{min-width:32px;min-height:32px;border-radius:50%;font-size:14px;color:#fff;font-weight:700;border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.1);flex-shrink:0}.timeline-icon span[data-v-4d63a3ba]{display:flex;align-items:center;justify-content:center;line-height:1;width:100%;height:100%}.timeline-icon.icon-confirm[data-v-4d63a3ba]{background:#52c41a}.timeline-icon.icon-process[data-v-4d63a3ba]{background:#1890ff}.timeline-icon.icon-close[data-v-4d63a3ba]{background:#666}.timeline-icon.icon-reopen[data-v-4d63a3ba]{background:#fa8c16}.timeline-icon.icon-escalate[data-v-4d63a3ba]{background:#722ed1}.timeline-content[data-v-4d63a3ba]{flex:1;background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:16px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.timeline-header[data-v-4d63a3ba]{margin-bottom:12px}.timeline-title[data-v-4d63a3ba]{font-size:16px;font-weight:500;color:#333;margin-bottom:4px;display:flex;align-items:center;gap:8px}.timeline-meta[data-v-4d63a3ba]{display:flex;gap:16px;font-size:12px;color:#666}.timeline-user[data-v-4d63a3ba]{font-weight:500}.timeline-time[data-v-4d63a3ba]{color:#999}.timeline-note[data-v-4d63a3ba]{background:#fafafa;padding:12px;border-radius:4px;line-height:1.5;color:#333;margin-bottom:12px;white-space:pre-wrap;word-wrap:break-word}.timeline-photos[data-v-4d63a3ba]{margin-top:12px}.timeline-photos .photo-grid[data-v-4d63a3ba]{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;max-width:400px}.photo-thumbnail.small[data-v-4d63a3ba]{width:80px;height:80px}.processing-action-badge[data-v-4d63a3ba]{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;color:#fff}.processing-action-badge.action-test_alarm[data-v-4d63a3ba]{background:#1890ff}.processing-action-badge.action-false_alarm[data-v-4d63a3ba]{background:#faad14}.processing-action-badge.action-confirm[data-v-4d63a3ba],.processing-action-badge.action-real_alarm[data-v-4d63a3ba]{background:#52c41a}.processing-action-badge.action-close[data-v-4d63a3ba]{background:#666}.processing-action-badge.action-reopen[data-v-4d63a3ba]{background:#fa8c16}@media (max-width:768px){.processing-timeline[data-v-4d63a3ba]{padding-left:32px}.timeline-marker[data-v-4d63a3ba]{left:-32px}.timeline-item[data-v-4d63a3ba]:before{left:-20px}.timeline-icon[data-v-4d63a3ba]{width:20px;height:20px;font-size:10px}.timeline-content[data-v-4d63a3ba]{padding:12px}.timeline-meta[data-v-4d63a3ba]{flex-direction:column;gap:4px}.timeline-photos .photo-grid[data-v-4d63a3ba]{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:6px}.photo-thumbnail.small[data-v-4d63a3ba]{width:60px;height:60px}}.family-controls[data-v-652e8458]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.search-section[data-v-652e8458]{flex:1}.view-controls[data-v-652e8458]{margin-left:20px}.family-card-view[data-v-652e8458],.family-list-view[data-v-652e8458]{margin-bottom:24px}.pagination-wrapper[data-v-652e8458]{display:flex;justify-content:center;margin-top:24px;padding:20px;background:#fff;border-radius:8px}.family-card[data-v-652e8458]{cursor:pointer;transition:all .3s;margin-bottom:20px}.family-card[data-v-652e8458]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.family-header[data-v-652e8458]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.family-info h3[data-v-652e8458]{margin:0 0 8px 0;color:#333;font-size:18px}.family-address[data-v-652e8458]{margin:0;color:#666;font-size:14px}.family-stats[data-v-652e8458]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.stat-item[data-v-652e8458]{display:flex;justify-content:space-between;align-items:center}.stat-label[data-v-652e8458]{color:#666;font-size:14px}.stat-value[data-v-652e8458]{color:#333;font-weight:500}.family-status[data-v-652e8458]{text-align:center;padding:8px;border-radius:4px;font-size:14px;background-color:#f5f7fa;color:#606266}.family-status.selected[data-v-652e8458]{background-color:#e1f3d8;color:#67c23a}.family-details[data-v-652e8458]{margin-top:24px}.section-header[data-v-652e8458]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3[data-v-652e8458]{margin:0;color:#333}.emergency-section[data-v-652e8458],.members-section[data-v-652e8458]{margin-bottom:20px}.notification-methods[data-v-652e8458],.permission-tags[data-v-652e8458]{display:flex;gap:4px;flex-wrap:wrap}.action-buttons[data-v-652e8458]{display:flex;gap:4px;flex-wrap:nowrap;justify-content:center}.action-buttons .el-button[data-v-652e8458]{margin:0;font-size:12px;padding:4px 8px}.floorplan-section[data-v-652e8458]{margin-bottom:20px}.floorplan-actions[data-v-652e8458]{display:flex;gap:10px}.floorplan-container[data-v-652e8458]{margin-top:20px;border:1px solid #dcdfe6;border-radius:4px;min-height:400px}.no-floorplan[data-v-652e8458]{display:flex;align-items:center;justify-content:center;height:400px}.floorplan-viewer[data-v-652e8458]{position:relative;min-height:400px;background-color:#f8f9fa}.floorplan-image[data-v-652e8458]{max-width:100%;max-height:400px;-o-object-fit:contain;object-fit:contain}.device-marker[data-v-652e8458]{position:absolute;cursor:move;z-index:10}.device-marker.dragging[data-v-652e8458]{opacity:.7}.device-icon[data-v-652e8458]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}.device-smoke .device-icon[data-v-652e8458]{background-color:#f56c6c}.device-gas .device-icon[data-v-652e8458]{background-color:#e6a23c}.device-camera .device-icon[data-v-652e8458]{background-color:#409eff}.device-door .device-icon[data-v-652e8458]{background-color:#67c23a}.device-panel[data-v-652e8458]{position:absolute;right:10px;top:10px;width:200px;background:#fff;border:1px solid #dcdfe6;border-radius:4px;padding:15px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.device-panel h4[data-v-652e8458]{margin:0 0 10px 0;color:#333;font-size:14px}.available-devices[data-v-652e8458]{display:flex;flex-direction:column;gap:8px}.available-device[data-v-652e8458]{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #dcdfe6;border-radius:4px;cursor:grab;transition:all .3s}.available-device[data-v-652e8458]:hover{background-color:#f5f7fa}.available-device[data-v-652e8458]:active{cursor:grabbing}.location-section[data-v-652e8458]{margin-bottom:20px}.location-grid[data-v-652e8458]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.member-location-card[data-v-652e8458]{transition:all .3s}.member-location-card[data-v-652e8458]:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}.member-header[data-v-652e8458]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.member-info h4[data-v-652e8458]{margin:0 0 4px 0;color:#333;font-size:16px}.member-phone[data-v-652e8458]{color:#666;font-size:12px}.location-status[data-v-652e8458]{margin-left:auto}.location-details[data-v-652e8458]{display:flex;flex-direction:column;gap:8px}.location-item[data-v-652e8458]{display:flex;justify-content:space-between;align-items:center}.location-item .label[data-v-652e8458]{color:#666;font-size:14px}.location-item .value[data-v-652e8458]{color:#333;font-size:14px;font-weight:500}.location-actions[data-v-652e8458]{display:flex;gap:8px;margin-top:12px}.no-location[data-v-652e8458]{display:flex;align-items:center;justify-content:center;height:120px}@media (max-width:768px){.family-list .el-col[data-v-652e8458]{margin-bottom:20px}.location-grid[data-v-652e8458]{grid-template-columns:1fr}.action-buttons[data-v-652e8458]{flex-direction:column;gap:4px}.device-panel[data-v-652e8458]{position:relative;right:auto;top:auto;width:100%;margin-top:20px}}.health-analysis[data-v-fb8cea08],.location-tracking[data-v-4e139248]{padding:20px}.admin-login-container[data-v-6418c09e]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-card[data-v-6418c09e]{background:hsla(0,0%,100%,.95);border-radius:20px;padding:40px;width:450px;max-width:90vw;box-shadow:0 20px 60px rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:10}.login-header[data-v-6418c09e]{text-align:center;margin-bottom:40px}.logo[data-v-6418c09e]{font-size:60px;color:#667eea;margin-bottom:20px}.logo .el-icon[data-v-6418c09e]{font-size:60px}.login-form .el-input .el-icon[data-v-6418c09e]{color:#a8abb2}.login-form .el-input:hover .el-icon[data-v-6418c09e]{color:#909399}.login-form .el-input.is-focus .el-icon[data-v-6418c09e]{color:#667eea}.login-form .el-input__prefix[data-v-6418c09e]{display:flex;align-items:center}.login-form .el-input__prefix .el-icon[data-v-6418c09e]{color:#667eea!important;font-size:16px}.login-form .el-input__suffix[data-v-6418c09e]{display:flex;align-items:center}.login-form .el-input__suffix .el-icon[data-v-6418c09e]{cursor:pointer;font-size:14px}.login-form .el-input__clear[data-v-6418c09e],.login-form .el-input__password[data-v-6418c09e]{display:flex!important;align-items:center;justify-content:center}.title[data-v-6418c09e]{font-size:32px;font-weight:700;color:#333;margin:0 0 10px 0;text-shadow:0 2px 10px rgba(0,0,0,.1)}.subtitle[data-v-6418c09e]{color:#666;font-size:16px;margin:0}.login-form[data-v-6418c09e]{margin-bottom:30px}.login-btn[data-v-6418c09e]{width:100%;height:50px;font-size:18px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px}.login-btn[data-v-6418c09e]:hover{background:linear-gradient(135deg,#5a6fd8,#6a42a0)}.login-features[data-v-6418c09e]{margin-bottom:30px;padding:20px;background:rgba(102,126,234,.1);border-radius:12px}.feature-title[data-v-6418c09e]{font-size:16px;font-weight:700;color:#333;text-align:center;margin-bottom:15px}.feature-list[data-v-6418c09e]{display:flex;flex-direction:column;gap:12px}.feature-item[data-v-6418c09e]{display:flex;align-items:center;gap:10px;color:#555;font-size:14px}.feature-item .el-icon[data-v-6418c09e]{color:#667eea;font-size:16px;width:20px}.login-footer[data-v-6418c09e]{text-align:center}.tips[data-v-6418c09e]{color:#999;font-size:14px;margin:0 0 10px 0}.default-account[data-v-6418c09e]{color:#667eea;font-size:13px;margin:0 0 20px 0;padding:8px;background:rgba(102,126,234,.1);border-radius:6px}.user-login-link[data-v-6418c09e]{margin-top:15px}.link-button[data-v-6418c09e]{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;text-decoration:none;border-radius:8px;font-size:14px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px rgba(79,172,254,.3)}.link-button[data-v-6418c09e]:hover{background:linear-gradient(135deg,#4098fe,#00d4fe);transform:translateY(-2px);box-shadow:0 6px 20px rgba(79,172,254,.4);color:#fff;text-decoration:none}.link-button .el-icon[data-v-6418c09e]:first-child{font-size:16px}.link-button .el-icon[data-v-6418c09e]:last-child{font-size:12px;margin-left:4px}.bg-decoration[data-v-6418c09e]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.circle[data-v-6418c09e]{position:absolute;border-radius:50%;background:hsla(0,0%,100%,.1);animation:float-6418c09e 6s ease-in-out infinite}.circle-1[data-v-6418c09e]{width:200px;height:200px;top:10%;left:10%;animation-delay:0s}.circle-2[data-v-6418c09e]{width:150px;height:150px;top:60%;right:15%;animation-delay:2s}.circle-3[data-v-6418c09e]{width:100px;height:100px;bottom:20%;left:20%;animation-delay:4s}@keyframes float-6418c09e{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(180deg)}}@media (max-width:768px){.login-card[data-v-6418c09e]{padding:30px 20px;width:100%;margin:20px}.title[data-v-6418c09e]{font-size:24px}.feature-list[data-v-6418c09e]{gap:8px}.feature-item[data-v-6418c09e]{font-size:13px}.link-button[data-v-6418c09e]{padding:10px 16px;font-size:13px}.link-button .el-icon[data-v-6418c09e]:first-child{font-size:14px}}.admin-dashboard[data-v-622d78da]{padding:20px}.stats-cards[data-v-622d78da]{margin-bottom:30px}.stat-card[data-v-622d78da]{background:#fff;border-radius:12px;padding:30px 20px;display:flex;align-items:center;box-shadow:0 2px 12px rgba(0,0,0,.1);transition:transform .3s ease}.stat-card[data-v-622d78da]:hover{transform:translateY(-5px)}.stat-card.families .stat-icon[data-v-622d78da]{background:linear-gradient(45deg,#667eea,#764ba2)}.stat-card.members .stat-icon[data-v-622d78da]{background:linear-gradient(45deg,#f093fb,#f5576c)}.stat-card.devices .stat-icon[data-v-622d78da]{background:linear-gradient(45deg,#4facfe,#00f2fe)}.stat-card.unbound .stat-icon[data-v-622d78da]{background:linear-gradient(45deg,#fa709a,#fee140)}.stat-icon[data-v-622d78da]{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:20px}.stat-icon i[data-v-622d78da]{font-size:24px;color:#fff}.stat-content[data-v-622d78da]{flex:1}.stat-number[data-v-622d78da]{font-size:32px;font-weight:700;color:#333;margin-bottom:5px}.stat-label[data-v-622d78da]{color:#666;font-size:14px}.main-content[data-v-622d78da]{margin-top:20px}.management-card[data-v-622d78da]{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.1);height:500px;display:flex;flex-direction:column}.card-header[data-v-622d78da]{display:flex;align-items:center;justify-content:space-between;padding:20px 25px;border-bottom:1px solid #eee}.card-header h3[data-v-622d78da]{margin:0;color:#333;font-size:18px}.card-content[data-v-622d78da]{flex:1;padding:25px;overflow-y:auto}.management-stats[data-v-622d78da]{display:flex;gap:30px;margin-bottom:25px;padding:20px;background:#f8f9fa;border-radius:8px}.stat-item[data-v-622d78da]{display:flex;flex-direction:column;gap:5px}.stat-item .label[data-v-622d78da]{font-size:14px;color:#666}.stat-item .value[data-v-622d78da]{font-size:18px;font-weight:700;color:#333}.recent-families h4[data-v-622d78da]{margin:0 0 15px 0;color:#333;font-size:16px}.family-list[data-v-622d78da]{display:flex;flex-direction:column;gap:12px}.family-item[data-v-622d78da]{display:flex;align-items:center;justify-content:space-between;padding:15px;background:#f8f9fa;border-radius:8px;cursor:pointer;transition:all .3s ease}.family-item[data-v-622d78da]:hover{background:#e9ecef;transform:translateX(5px)}.family-info .family-name[data-v-622d78da]{font-size:16px;font-weight:500;color:#333;margin-bottom:5px}.family-info .family-meta[data-v-622d78da]{font-size:12px;color:#666;display:flex;gap:15px}.family-actions i[data-v-622d78da]{color:#999;font-size:16px}.device-status-chart h4[data-v-622d78da]{margin:0 0 20px 0;color:#333;font-size:16px}.status-bars[data-v-622d78da]{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.status-bar[data-v-622d78da]{display:flex;align-items:center;gap:15px}.status-label[data-v-622d78da]{width:80px;font-size:14px;color:#666}.status-progress[data-v-622d78da]{flex:1;height:20px;background:#f0f0f0;border-radius:10px;overflow:hidden}.progress-bar[data-v-622d78da]{height:100%;border-radius:10px;transition:width .8s ease}.progress-bar.online[data-v-622d78da]{background:linear-gradient(90deg,#52c41a,#73d13d)}.progress-bar.offline[data-v-622d78da]{background:linear-gradient(90deg,#ff4d4f,#ff7875)}.progress-bar.unbound[data-v-622d78da]{background:linear-gradient(90deg,#fa8c16,#ffa940)}.status-count[data-v-622d78da]{width:40px;text-align:right;font-weight:700;color:#333}.quick-actions[data-v-622d78da]{display:flex;gap:10px}.dialog-footer[data-v-622d78da]{text-align:right}@media (max-width:1200px){.main-content .el-col[data-v-622d78da],.stats-cards .el-col[data-v-622d78da]{margin-bottom:20px}.management-card[data-v-622d78da]{height:auto;min-height:400px}}@media (max-width:768px){.admin-dashboard[data-v-622d78da]{padding:15px}.management-stats[data-v-622d78da]{flex-direction:column;gap:15px}.stat-card[data-v-622d78da]{padding:20px 15px}.stat-number[data-v-622d78da]{font-size:24px}}.admin-family-management[data-v-df561f14]{padding:20px}.page-header[data-v-df561f14]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.header-left h1[data-v-df561f14]{margin:0 0 8px 0;font-size:28px;color:#333}.header-left p[data-v-df561f14]{margin:0;color:#666;font-size:14px}.overview-cards[data-v-df561f14]{margin-bottom:30px}.overview-card[data-v-df561f14]{background:#fff;border-radius:12px;padding:25px;display:flex;align-items:center;box-shadow:0 2px 12px rgba(0,0,0,.1);transition:transform .3s ease}.overview-card[data-v-df561f14]:hover{transform:translateY(-5px)}.card-icon[data-v-df561f14]{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:20px}.card-icon.families[data-v-df561f14]{background:linear-gradient(45deg,#667eea,#764ba2)}.card-icon.members[data-v-df561f14]{background:linear-gradient(45deg,#f093fb,#f5576c)}.card-icon.devices[data-v-df561f14]{background:linear-gradient(45deg,#4facfe,#00f2fe)}.card-icon.avg[data-v-df561f14]{background:linear-gradient(45deg,#43e97b,#38f9d7)}.card-icon i[data-v-df561f14]{font-size:24px;color:#fff}.card-number[data-v-df561f14]{font-size:28px;font-weight:700;color:#333;margin-bottom:5px}.card-label[data-v-df561f14]{color:#666;font-size:14px}.family-list-section[data-v-df561f14]{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.1)}.section-header[data-v-df561f14]{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid #eee}.section-header h2[data-v-df561f14]{margin:0;font-size:20px;color:#333}.family-grid[data-v-df561f14]{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px;padding:30px}.family-card[data-v-df561f14]{background:#fff;border:1px solid #eee;border-radius:12px;padding:25px;cursor:pointer;transition:all .3s ease;position:relative}.family-card[data-v-df561f14]:hover{border-color:#667eea;box-shadow:0 8px 25px rgba(102,126,234,.15);transform:translateY(-3px)}.family-header[data-v-df561f14]{display:flex;align-items:center;margin-bottom:20px}.family-avatar[data-v-df561f14]{width:50px;height:50px;background:linear-gradient(45deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:15px}.family-avatar i[data-v-df561f14]{font-size:20px;color:#fff}.family-info[data-v-df561f14]{flex:1}.family-name[data-v-df561f14]{margin:0 0 5px 0;font-size:18px;font-weight:600;color:#333}.family-id[data-v-df561f14]{margin:0;font-size:12px;color:#999;font-family:monospace}.family-stats[data-v-df561f14]{display:flex;gap:30px;margin-bottom:20px;padding:15px 0;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}.stat-item[data-v-df561f14]{text-align:center}.stat-number[data-v-df561f14]{display:block;font-size:24px;font-weight:700;color:#667eea;margin-bottom:5px}.stat-label[data-v-df561f14]{font-size:12px;color:#666}.family-meta[data-v-df561f14]{margin-bottom:20px}.meta-item[data-v-df561f14]{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;color:#666}.meta-item[data-v-df561f14]:last-child{margin-bottom:0}.meta-item i[data-v-df561f14]{color:#999}.family-actions[data-v-df561f14]{display:flex;gap:10px}.empty-state[data-v-df561f14]{text-align:center;padding:80px 20px;color:#999}.empty-state i[data-v-df561f14]{font-size:64px;margin-bottom:20px;color:#ddd}.empty-state p[data-v-df561f14]{font-size:16px;margin:0}.pagination-wrapper[data-v-df561f14]{padding:20px 30px;border-top:1px solid #eee;display:flex;justify-content:center;background:#fff}@media (max-width:1200px){.family-grid[data-v-df561f14]{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}@media (max-width:768px){.admin-family-management[data-v-df561f14]{padding:15px}.page-header[data-v-df561f14]{flex-direction:column;gap:20px}.section-header[data-v-df561f14]{flex-direction:column;gap:20px;align-items:stretch}.family-grid[data-v-df561f14]{grid-template-columns:1fr;gap:15px;padding:20px}.family-card[data-v-df561f14]{padding:20px}.overview-cards .el-col[data-v-df561f14]{margin-bottom:15px}.pagination-wrapper[data-v-df561f14]{padding:15px 20px}.pagination-wrapper .el-pagination[data-v-df561f14]{display:flex;flex-wrap:wrap;justify-content:center}}.admin-device-management[data-v-5269a984]{padding:20px}.page-header[data-v-5269a984]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.header-left h1[data-v-5269a984]{margin:0 0 8px 0;font-size:28px;color:#333}.header-left p[data-v-5269a984]{margin:0;color:#666;font-size:14px}.header-actions[data-v-5269a984]{display:flex;gap:12px}.device-stats[data-v-5269a984]{margin-bottom:30px}.stat-card[data-v-5269a984]{background:#fff;border-radius:12px;padding:25px;display:flex;align-items:center;box-shadow:0 2px 12px rgba(0,0,0,.1);transition:transform .3s ease}.stat-card[data-v-5269a984]:hover{transform:translateY(-5px)}.stat-card.total .stat-icon[data-v-5269a984]{background:linear-gradient(45deg,#667eea,#764ba2)}.stat-card.bound .stat-icon[data-v-5269a984]{background:linear-gradient(45deg,#52c41a,#73d13d)}.stat-card.unbound .stat-icon[data-v-5269a984]{background:linear-gradient(45deg,#fa8c16,#ffa940)}.stat-card.online .stat-icon[data-v-5269a984]{background:linear-gradient(45deg,#1890ff,#40a9ff)}.stat-icon[data-v-5269a984]{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:20px}.stat-icon i[data-v-5269a984]{font-size:24px;color:#fff}.stat-number[data-v-5269a984]{font-size:28px;font-weight:700;color:#333;margin-bottom:5px}.stat-label[data-v-5269a984]{color:#666;font-size:14px}.filter-section[data-v-5269a984]{background:#fff;border-radius:12px;padding:25px;margin-bottom:20px;box-shadow:0 2px 12px rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:center}.filter-right[data-v-5269a984]{display:flex;align-items:center;gap:15px}.device-table-section[data-v-5269a984]{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.1);overflow:hidden;min-height:560px;padding-bottom:20px}.device-info .device-name[data-v-5269a984]{font-weight:600;color:#333;margin-bottom:4px}.device-info .device-code[data-v-5269a984]{font-size:12px;color:#666;font-family:monospace;margin-bottom:2px}.device-info .device-type[data-v-5269a984]{font-size:12px;color:#999}.text-muted[data-v-5269a984]{color:#999}.text-danger[data-v-5269a984]{color:#ff4d4f!important}.text-danger[data-v-5269a984]:hover{color:#ff7875!important}.text-danger[data-v-5269a984]:not(.is-disabled){color:#ff4d4f!important}.text-danger[data-v-5269a984]:not(.is-disabled):hover{color:#ff7875!important}.el-button--text.text-danger[data-v-5269a984]:not(.is-disabled){color:#ff4d4f!important}.el-button--text.text-danger[data-v-5269a984]:not(.is-disabled):hover{color:#ff7875!important;background-color:#fff2f0!important}.el-button.delete-btn[data-v-5269a984]{color:#ff4d4f!important}.el-button.delete-btn[data-v-5269a984]:hover{color:#ff7875!important;background-color:#fff2f0!important}.el-button.delete-btn-disabled[data-v-5269a984]{color:#ccc!important;cursor:not-allowed!important}.el-button.delete-btn-disabled[data-v-5269a984]:hover{color:#ccc!important;background-color:transparent!important}.qr-btn[data-v-5269a984]{color:#409eff!important;font-size:14px;padding:8px 12px}.qr-btn[data-v-5269a984]:hover{color:#66b1ff!important;background-color:#ecf5ff!important}.qr-dialog-content[data-v-5269a984]{text-align:center}.qr-dialog-content .device-info[data-v-5269a984]{margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:6px}.qr-dialog-content .device-info p[data-v-5269a984]{margin:5px 0;color:#333}.qr-code-container[data-v-5269a984]{display:flex;flex-direction:column;align-items:center;padding:20px}.qr-code-container canvas[data-v-5269a984]{border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:10px}.qr-code-text[data-v-5269a984]{font-family:Courier New,monospace;font-size:14px;color:#666;text-align:center;margin-bottom:10px}.qr-actions[data-v-5269a984]{text-align:center;padding-top:15px;border-top:1px solid #eee}.batch-actions[data-v-5269a984]{padding:15px 20px;border-top:1px solid #eee;background:#f8f9fa;display:flex;align-items:center;justify-content:space-between}.pagination-wrapper[data-v-5269a984]{margin-top:20px;display:flex;justify-content:center}.batch-add-content .el-alert p[data-v-5269a984]{margin:5px 0}.batch-add-content .el-alert p[data-v-5269a984]:first-child{margin-top:0}.batch-add-content .el-alert p[data-v-5269a984]:last-child{margin-bottom:0}@media (max-width:1200px){.filter-section[data-v-5269a984]{flex-direction:column;gap:20px;align-items:stretch}.filter-right[data-v-5269a984]{justify-content:space-between}}@media (max-width:768px){.admin-device-management[data-v-5269a984]{padding:15px}.page-header[data-v-5269a984]{flex-direction:column;gap:20px}.header-actions[data-v-5269a984]{flex-wrap:wrap}.device-stats .el-col[data-v-5269a984]{margin-bottom:15px}.filter-right[data-v-5269a984]{flex-direction:column;gap:15px}}.el-input[data-v-5269a984],.el-input__inner[data-v-5269a984],.el-select[data-v-5269a984],.el-select__wrapper[data-v-5269a984]{width:100%!important;min-width:200px!important}.batch-add-content[data-v-5269a984]{max-height:600px;overflow-y:auto}.preview-container[data-v-5269a984]{border:1px solid #e4e7ed;border-radius:4px;padding:12px;background-color:#f5f7fa}.preview-list[data-v-5269a984]{max-height:150px;overflow-y:auto;margin-top:8px}.preview-item[data-v-5269a984]{padding:4px 0;border-bottom:1px solid #e4e7ed;font-family:monospace;font-size:13px}.preview-item[data-v-5269a984]:last-child{border-bottom:none}.preview-more[data-v-5269a984]{padding:4px 0;color:#909399;font-style:italic}.el-upload__tip[data-v-5269a984]{margin-top:8px;color:#606266;font-size:12px}.device-detail[data-v-8d1b2252]{padding:20px}.card-header[data-v-8d1b2252]{display:flex;justify-content:space-between;align-items:center}pre[data-v-8d1b2252]{background-color:#f5f7fa;padding:10px;border-radius:4px;font-size:12px;line-height:1.5;overflow-x:auto}