.wrapper[data-v-bc33ab1a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;min-height:100%}.fixed-sidebar[data-v-bc33ab1a]{-webkit-box-shadow:0 2px 8px #f0f1f2;box-shadow:0 2px 8px #f0f1f2;height:100vh;z-index:99;position:fixed;left:0}.mobile-sidebar-drawer[data-v-bc33ab1a] .ant-drawer-body{padding:0}.has-mobile-tabbar[data-v-bc33ab1a]{padding-bottom:72px}@supports(padding-bottom:env(safe-area-inset-bottom)){.has-mobile-tabbar[data-v-bc33ab1a]{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}@media(max-width:768px){.fixed-sidebar[data-v-bc33ab1a]{display:none}}.page-fade-enter-active[data-v-bc33ab1a],.page-fade-leave-active[data-v-bc33ab1a]{-webkit-transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease}.page-fade-enter[data-v-bc33ab1a]{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}.page-fade-leave-to[data-v-bc33ab1a]{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.sidebar-container[data-v-544da830]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#fff;overflow:hidden}.sidebar-logo[data-v-544da830]{-ms-flex-negative:0;flex-shrink:0;padding:16px 20px;border-bottom:1px solid #f0f0f0}.logo-link[data-v-544da830]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:40px;text-decoration:none}.logo-img[data-v-544da830]{height:32px;width:auto;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.logo-img[data-v-544da830]:hover{-webkit-transform:scale(1.02);transform:scale(1.02)}.sidebar-menu[data-v-544da830]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 8px}.sidebar-menu[data-v-544da830]::-webkit-scrollbar{width:4px}.sidebar-menu[data-v-544da830]::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:2px}.sidebar-menu[data-v-544da830]::-webkit-scrollbar-track{background:transparent}::v-deep .ant-menu[data-v-544da830]{border-right:none!important;background:transparent}::v-deep .ant-menu-inline[data-v-544da830]{border-right:none!important}::v-deep .ant-menu-item[data-v-544da830]{margin:4px 0!important;padding:0!important;border-radius:8px;height:44px;line-height:44px;overflow:hidden}::v-deep .ant-menu-item a[data-v-544da830]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 16px;height:100%;color:#7f8c8d;text-decoration:none;-webkit-transition:all .2s;transition:all .2s}::v-deep .ant-menu-item a .anticon[data-v-544da830]{font-size:18px;margin-right:12px;-webkit-transition:color .2s;transition:color .2s}::v-deep .ant-menu-item a span[data-v-544da830]{font-size:14px;font-weight:500}::v-deep .ant-menu-item[data-v-544da830]:hover{background:#f5f7fa}::v-deep .ant-menu-item:hover a[data-v-544da830]{color:#2c3e50}::v-deep .ant-menu-item.ant-menu-item-selected[data-v-544da830]{background:rgba(0,212,255,.08)!important}::v-deep .ant-menu-item.ant-menu-item-selected a .anticon[data-v-544da830],::v-deep .ant-menu-item.ant-menu-item-selected a[data-v-544da830]{color:#00d4ff}::v-deep .ant-menu-item.ant-menu-item-selected[data-v-544da830]:after{display:none}::v-deep .ant-menu-submenu[data-v-544da830]{margin:4px 0}::v-deep .ant-menu-submenu .ant-menu-submenu-title[data-v-544da830]{margin:0!important;padding:0 16px!important;border-radius:8px;height:44px;line-height:44px;color:#7f8c8d;-webkit-transition:all .2s;transition:all .2s}::v-deep .ant-menu-submenu .ant-menu-submenu-title .anticon[data-v-544da830]{font-size:18px;margin-right:12px}::v-deep .ant-menu-submenu .ant-menu-submenu-title span[data-v-544da830]{font-size:14px;font-weight:500}::v-deep .ant-menu-submenu .ant-menu-submenu-title[data-v-544da830]:hover{background:#f5f7fa;color:#2c3e50}::v-deep .ant-menu-submenu.ant-menu-submenu-selected>.ant-menu-submenu-title .anticon[data-v-544da830],::v-deep .ant-menu-submenu.ant-menu-submenu-selected>.ant-menu-submenu-title[data-v-544da830]{color:#00d4ff}::v-deep .ant-menu-submenu.ant-menu-submenu-open>.ant-menu-submenu-title[data-v-544da830]{color:#2c3e50}::v-deep .ant-menu-submenu .ant-menu-submenu-arrow[data-v-544da830]{color:#a0a0a0}::v-deep .ant-menu-submenu .ant-menu-submenu-arrow[data-v-544da830]:after,::v-deep .ant-menu-submenu .ant-menu-submenu-arrow[data-v-544da830]:before{background:currentColor!important}::v-deep .ant-menu-sub.ant-menu-inline[data-v-544da830]{background:transparent!important}::v-deep .ant-menu-sub.ant-menu-inline .ant-menu-item[data-v-544da830]{padding-left:0!important}::v-deep .ant-menu-sub.ant-menu-inline .ant-menu-item a[data-v-544da830]{padding-left:50px}.sidebar-footer[data-v-544da830]{-ms-flex-negative:0;flex-shrink:0;padding:12px 20px;border-top:1px solid #f0f0f0;text-align:center}.version[data-v-544da830]{font-size:12px;color:#a0a0a0}#header[data-v-a00bb9a6]{background:#fff;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);position:relative;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;z-index:10;height:56px;padding:0 24px;border-bottom:1px solid #f0f0f0}#header[data-v-a00bb9a6],.header-left[data-v-a00bb9a6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.header-left[data-v-a00bb9a6]{gap:12px}.menu-trigger[data-v-a00bb9a6]{width:40px;height:40px;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:8px;color:#2c3e50;-webkit-transition:all .2s;transition:all .2s}.menu-trigger .anticon[data-v-a00bb9a6]{font-size:20px}.menu-trigger[data-v-a00bb9a6]:hover{background:rgba(0,212,255,.08);color:#00d4ff}.mobile-logo[data-v-a00bb9a6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:40px}.mobile-logo img[data-v-a00bb9a6]{height:28px;width:auto}.header-right[data-v-a00bb9a6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.user-dropdown[data-v-a00bb9a6]{cursor:pointer}.user-info[data-v-a00bb9a6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:6px 12px;border-radius:8px;-webkit-transition:all .2s;transition:all .2s}.user-info[data-v-a00bb9a6]:hover{background:rgba(0,0,0,.03)}.user-avatar[data-v-a00bb9a6]{border:2px solid #f0f0f0;-webkit-transition:border-color .2s;transition:border-color .2s}.user-info:hover .user-avatar[data-v-a00bb9a6]{border-color:#00d4ff}.user-name[data-v-a00bb9a6]{font-size:14px;font-weight:500;color:#2c3e50;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow[data-v-a00bb9a6]{font-size:10px;color:#7f8c8d;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.ant-dropdown-open .dropdown-arrow[data-v-a00bb9a6]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}::v-deep .ant-dropdown-menu[data-v-a00bb9a6]{padding:8px;border-radius:12px;-webkit-box-shadow:0 6px 20px rgba(0,0,0,.12);box-shadow:0 6px 20px rgba(0,0,0,.12);min-width:160px}::v-deep .ant-dropdown-menu-item[data-v-a00bb9a6]{padding:10px 14px;border-radius:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;color:#7f8c8d;font-size:14px;margin:2px 0;-webkit-transition:all .2s;transition:all .2s}::v-deep .ant-dropdown-menu-item .anticon[data-v-a00bb9a6]{font-size:16px}::v-deep .ant-dropdown-menu-item[data-v-a00bb9a6]:hover{background:rgba(0,212,255,.08);color:#00d4ff}::v-deep .ant-dropdown-menu-item[data-v-a00bb9a6]:last-child:hover{background:rgba(255,77,79,.08);color:#ff4d4f}::v-deep .ant-dropdown-menu-item-divider[data-v-a00bb9a6]{margin:8px 0}#header.is-mobile[data-v-a00bb9a6]{height:52px;padding:0 12px}#header.is-mobile .dropdown-arrow[data-v-a00bb9a6],#header.is-mobile .user-name[data-v-a00bb9a6]{display:none}#header.is-mobile .user-info[data-v-a00bb9a6]{padding:6px}#header.is-mobile .user-avatar[data-v-a00bb9a6]{width:36px!important;height:36px!important;line-height:36px!important}.footer[data-v-8669d194]{text-align:center}.footer-beian a[data-v-8669d194],.footer-copyright[data-v-8669d194],.footer a[data-v-8669d194]{color:rgba(0,0,0,.45);-webkit-transition:all .3s;transition:all .3s}.breadcrumb-header[data-v-234b7dd9],.breadcrumb-main[data-v-234b7dd9]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.breadcrumb-main[data-v-234b7dd9]{width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.breadcrumb-back[data-v-234b7dd9]{padding-left:0}.breadcrumb-header.is-mobile[data-v-234b7dd9]{padding:10px 16px}.breadcrumb-header.is-mobile .breadcrumb-main[data-v-234b7dd9]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px}.mobile-tabbar[data-v-2be07fcc]{position:fixed;bottom:0;left:0;right:0;height:56px;background:#fff;border-top:1px solid #e8e8e8;-ms-flex-align:center;-ms-flex-pack:distribute;justify-content:space-around;z-index:1000;-webkit-box-shadow:0 -2px 8px rgba(0,0,0,.06);box-shadow:0 -2px 8px rgba(0,0,0,.06);padding-bottom:env(safe-area-inset-bottom)}.mobile-tabbar[data-v-2be07fcc],.tab-item[data-v-2be07fcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;align-items:center}.tab-item[data-v-2be07fcc]{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%;color:#8c8c8c;cursor:pointer;-webkit-transition:color .2s ease;transition:color .2s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tab-item[data-v-2be07fcc]:active{opacity:.7}.tab-item.active[data-v-2be07fcc]{color:#00d4ff}.tab-item.active .tab-icon[data-v-2be07fcc]{-webkit-transform:scale(1.1);transform:scale(1.1)}.tab-icon[data-v-2be07fcc]{font-size:22px;margin-bottom:2px;-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.tab-label[data-v-2be07fcc]{font-size:11px;line-height:1.2}@supports(padding-bottom:env(safe-area-inset-bottom)){.mobile-tabbar[data-v-2be07fcc]{height:calc(56px + env(safe-area-inset-bottom))}}.dashboard[data-v-034b6f52]{padding:24px;max-width:1400px;margin:0 auto}.welcome-section[data-v-034b6f52]{margin-bottom:32px}.welcome-card[data-v-034b6f52]{position:relative;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#1a1f3a,#2c3e50 50%,#34495e);-webkit-box-shadow:0 8px 32px rgba(0,0,0,.12);box-shadow:0 8px 32px rgba(0,0,0,.12)}.welcome-bg[data-v-034b6f52]{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.welcome-bg .bg-circle[data-v-034b6f52]{position:absolute;border-radius:50%;opacity:.15}.welcome-bg .circle-1[data-v-034b6f52]{width:400px;height:400px;background:#fff;top:-150px;right:-100px;-webkit-animation:float-data-v-034b6f52 6s ease-in-out infinite;animation:float-data-v-034b6f52 6s ease-in-out infinite}.welcome-bg .circle-2[data-v-034b6f52]{width:250px;height:250px;background:#fff;bottom:-80px;left:10%;animation:float-data-v-034b6f52 8s ease-in-out infinite reverse}.welcome-bg .circle-3[data-v-034b6f52]{width:150px;height:150px;background:#fff;top:20%;left:40%;-webkit-animation:float-data-v-034b6f52 5s ease-in-out infinite;animation:float-data-v-034b6f52 5s ease-in-out infinite}@-webkit-keyframes float-data-v-034b6f52{0%,to{-webkit-transform:translateY(0) rotate(0deg);transform:translateY(0) rotate(0deg)}50%{-webkit-transform:translateY(-20px) rotate(5deg);transform:translateY(-20px) rotate(5deg)}}@keyframes float-data-v-034b6f52{0%,to{-webkit-transform:translateY(0) rotate(0deg);transform:translateY(0) rotate(0deg)}50%{-webkit-transform:translateY(-20px) rotate(5deg);transform:translateY(-20px) rotate(5deg)}}.welcome-content[data-v-034b6f52]{position:relative;z-index:1;padding:36px 40px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:32px}.welcome-content[data-v-034b6f52],.welcome-left[data-v-034b6f52]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.welcome-left[data-v-034b6f52]{gap:24px;-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:300px}.avatar-wrapper[data-v-034b6f52]{position:relative;-ms-flex-negative:0;flex-shrink:0}.welcome-avatar[data-v-034b6f52]{border:4px solid hsla(0,0%,100%,.3);-webkit-box-shadow:0 8px 24px rgba(0,0,0,.2);box-shadow:0 8px 24px rgba(0,0,0,.2);background:linear-gradient(135deg,#00d4ff,#7c3aed)}.avatar-status[data-v-034b6f52]{position:absolute;bottom:4px;right:4px;width:16px;height:16px;border-radius:50%;border:3px solid #fff;background:#8c8c8c}.avatar-status.online[data-v-034b6f52]{background:#52c41a;-webkit-box-shadow:0 0 0 3px rgba(82,196,26,.3);box-shadow:0 0 0 3px rgba(82,196,26,.3)}.welcome-text[data-v-034b6f52]{color:#fff}.welcome-title[data-v-034b6f52]{font-size:28px;font-weight:700;margin:0 0 8px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1)}.welcome-subtitle[data-v-034b6f52]{font-size:15px;color:hsla(0,0%,100%,.85);margin:0}.welcome-stats[data-v-034b6f52]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px}.stat-card[data-v-034b6f52]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;background:hsla(0,0%,100%,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:16px 20px;min-width:140px;-webkit-transition:all .3s ease;transition:all .3s ease}.stat-card[data-v-034b6f52]:hover{background:hsla(0,0%,100%,.25);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.stat-icon[data-v-034b6f52]{width:44px;height:44px;border-radius:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;color:#fff;background:hsla(0,0%,100%,.2)}.stat-info[data-v-034b6f52]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.stat-value[data-v-034b6f52]{font-size:26px;font-weight:700;color:#fff;line-height:1.2}.stat-label[data-v-034b6f52]{font-size:12px;color:hsla(0,0%,100%,.75);margin-top:2px}.section-title[data-v-034b6f52]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:16px}.section-title[data-v-034b6f52],.section-title h3[data-v-034b6f52]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.section-title h3[data-v-034b6f52]{font-size:18px;font-weight:600;color:#2c3e50;margin:0;gap:10px}.section-title h3 .anticon[data-v-034b6f52]{color:#00d4ff;font-size:20px}.section-title .ant-btn-link[data-v-034b6f52]{color:#7f8c8d;font-size:14px}.section-title .ant-btn-link[data-v-034b6f52]:hover{color:#00d4ff}.quick-actions[data-v-034b6f52]{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.action-card[data-v-034b6f52]{background:#fff;border-radius:12px;padding:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);border:1px solid transparent}.action-card[data-v-034b6f52]:hover{-webkit-transform:translateY(-4px);transform:translateY(-4px);-webkit-box-shadow:0 4px 16px rgba(0,0,0,.08);box-shadow:0 4px 16px rgba(0,0,0,.08);border-color:rgba(0,212,255,.2)}.action-card:hover .action-arrow[data-v-034b6f52]{opacity:1;-webkit-transform:translateX(4px);transform:translateX(4px)}.action-card[data-v-034b6f52]:active{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.action-icon-wrapper[data-v-034b6f52]{-ms-flex-negative:0;flex-shrink:0}.action-icon[data-v-034b6f52]{width:52px;height:52px;border-radius:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:24px;color:#fff;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15);box-shadow:0 4px 12px rgba(0,0,0,.15)}.action-icon.device-icon[data-v-034b6f52]{background:linear-gradient(135deg,#00d4ff,#0094b3)}.action-icon.role-icon[data-v-034b6f52]{background:linear-gradient(135deg,#7c3aed,#5512c8)}.action-icon.capability-icon[data-v-034b6f52]{background:linear-gradient(135deg,#52c41a,#3f9714)}.action-icon.setting-icon[data-v-034b6f52]{background:linear-gradient(135deg,#faad14,#d69005)}.action-content[data-v-034b6f52]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.action-label[data-v-034b6f52]{display:block;font-size:15px;font-weight:600;color:#2c3e50;margin-bottom:4px}.action-desc[data-v-034b6f52]{display:block;font-size:12px;color:#a0a0a0}.action-arrow[data-v-034b6f52]{color:#a0a0a0;font-size:14px;opacity:0;-webkit-transition:all .3s ease;transition:all .3s ease}.device-section[data-v-034b6f52]{background:#fff;border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);overflow:hidden}.device-table ::v-deep .ant-table[data-v-034b6f52]{border-radius:0}.device-table ::v-deep .ant-table-thead>tr>th[data-v-034b6f52]{background:#fafafa;font-weight:600;color:#7f8c8d;border-bottom:1px solid #f0f0f0;padding:14px 16px}.device-table ::v-deep .ant-table-thead>tr>th[data-v-034b6f52]:first-child{padding-left:24px}.device-table ::v-deep .ant-table-thead>tr>th[data-v-034b6f52]:last-child{padding-right:24px}.device-table ::v-deep .ant-table-tbody>tr[data-v-034b6f52]{-webkit-transition:background .2s;transition:background .2s}.device-table ::v-deep .ant-table-tbody>tr:hover>td[data-v-034b6f52]{background:rgba(0,212,255,.04)}.device-table ::v-deep .ant-table-tbody>tr>td[data-v-034b6f52]{padding:14px 16px;border-bottom-color:#f0f0f0}.device-table ::v-deep .ant-table-tbody>tr>td[data-v-034b6f52]:first-child{padding-left:24px}.device-table ::v-deep .ant-table-tbody>tr>td[data-v-034b6f52]:last-child{padding-right:24px}.device-table ::v-deep .ant-pagination[data-v-034b6f52]{margin:16px 24px 16px 16px}.status-badge[data-v-034b6f52]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.online[data-v-034b6f52]{background:rgba(82,196,26,.1);color:#52c41a}.status-badge.online .status-dot[data-v-034b6f52]{background:#52c41a;-webkit-box-shadow:0 0 8px rgba(82,196,26,.6);box-shadow:0 0 8px rgba(82,196,26,.6)}.status-badge.offline[data-v-034b6f52]{background:rgba(0,0,0,.04);color:#a0a0a0}.status-badge.offline .status-dot[data-v-034b6f52]{background:#a0a0a0}.status-dot[data-v-034b6f52]{width:6px;height:6px;border-radius:50%;-webkit-animation:pulse-data-v-034b6f52 2s infinite;animation:pulse-data-v-034b6f52 2s infinite}@-webkit-keyframes pulse-data-v-034b6f52{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-data-v-034b6f52{0%,to{opacity:1}50%{opacity:.5}}.highlight[data-v-034b6f52]{background-color:rgba(0,212,255,.3);padding:0 2px;border-radius:2px}.dashboard.is-mobile[data-v-034b6f52]{padding:16px}.dashboard.is-mobile .welcome-content[data-v-034b6f52]{padding:24px 20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.dashboard.is-mobile .welcome-left[data-v-034b6f52]{width:100%;min-width:auto}.dashboard.is-mobile .welcome-title[data-v-034b6f52]{font-size:22px}.dashboard.is-mobile .welcome-stats[data-v-034b6f52]{width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.dashboard.is-mobile .stat-card[data-v-034b6f52]{min-width:auto;padding:14px 16px}.dashboard.is-mobile .stat-value[data-v-034b6f52]{font-size:22px}.dashboard.is-mobile .section-title h3[data-v-034b6f52]{font-size:16px}.dashboard.is-mobile .quick-actions[data-v-034b6f52]{grid-template-columns:1fr;gap:12px}.dashboard.is-mobile .action-card[data-v-034b6f52]{padding:16px}.dashboard.is-mobile .action-icon[data-v-034b6f52]{width:44px;height:44px;font-size:20px}.dashboard.is-mobile .action-arrow[data-v-034b6f52]{opacity:1}@media(max-width:1200px)and (min-width:769px){.quick-actions[data-v-034b6f52]{grid-template-columns:repeat(2,1fr)}.welcome-stats[data-v-034b6f52]{-ms-flex-wrap:wrap;flex-wrap:wrap}}.status-badge[data-v-ee09e8b0]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.online[data-v-ee09e8b0]{background:rgba(82,196,26,.1);color:#52c41a}.status-badge.online .status-dot[data-v-ee09e8b0]{background:#52c41a;-webkit-box-shadow:0 0 8px rgba(82,196,26,.6);box-shadow:0 0 8px rgba(82,196,26,.6);-webkit-animation:pulse-data-v-ee09e8b0 2s infinite;animation:pulse-data-v-ee09e8b0 2s infinite}.status-badge.offline[data-v-ee09e8b0]{background:rgba(0,0,0,.04);color:#999}.status-badge.offline .status-dot[data-v-ee09e8b0]{background:#999}.status-dot[data-v-ee09e8b0]{width:6px;height:6px;border-radius:50%;-ms-flex-negative:0;flex-shrink:0}@-webkit-keyframes pulse-data-v-ee09e8b0{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.6;-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes pulse-data-v-ee09e8b0{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.6;-webkit-transform:scale(1.2);transform:scale(1.2)}}.operation-btns[data-v-ee09e8b0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.op-btn[data-v-ee09e8b0],.operation-btns[data-v-ee09e8b0]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.op-btn[data-v-ee09e8b0]{width:32px;height:32px;padding:0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;border-radius:6px;-webkit-transition:all .2s ease;transition:all .2s ease}.op-btn.edit[data-v-ee09e8b0]{color:#00d4ff}.op-btn.edit[data-v-ee09e8b0]:hover{background:rgba(0,212,255,.1)}.op-btn.detail[data-v-ee09e8b0]{color:#7c3aed}.op-btn.detail[data-v-ee09e8b0]:hover{background:rgba(124,58,237,.1)}.op-btn.delete[data-v-ee09e8b0]{color:#ff4d4f}.op-btn.delete[data-v-ee09e8b0]:hover{background:rgba(255,77,79,.1)}.op-btn.save[data-v-ee09e8b0]{color:#52c41a}.op-btn.save[data-v-ee09e8b0]:hover{background:rgba(82,196,26,.1)}.op-btn.cancel[data-v-ee09e8b0]{color:#999}.op-btn.cancel[data-v-ee09e8b0]:hover{background:rgba(0,0,0,.04)}.op-btn .anticon[data-v-ee09e8b0]{font-size:16px}.device-card-list[data-v-ee09e8b0]{padding:12px}.card-container[data-v-ee09e8b0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.empty-state[data-v-ee09e8b0]{padding:40px 20px;text-align:center}.list-fade-enter-active[data-v-ee09e8b0]{-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease;-webkit-transition-delay:calc(var(--i, 0)*0.05s);transition-delay:calc(var(--i, 0)*0.05s)}.list-fade-leave-active[data-v-ee09e8b0]{-webkit-transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease}.list-fade-enter[data-v-ee09e8b0]{opacity:0;-webkit-transform:translateY(15px);transform:translateY(15px)}.list-fade-leave-to[data-v-ee09e8b0]{opacity:0;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.list-fade-move[data-v-ee09e8b0]{-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.device-card[data-v-ee09e8b0]{background:#fff;border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);overflow:hidden;width:100%;-webkit-transition:-webkit-transform .2s ease,-webkit-box-shadow .2s ease;transition:-webkit-transform .2s ease,-webkit-box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease,-webkit-transform .2s ease,-webkit-box-shadow .2s ease}.device-card[data-v-ee09e8b0]:active{-webkit-transform:scale(.98);transform:scale(.98)}.device-card-header[data-v-ee09e8b0]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:16px;background:linear-gradient(135deg,rgba(0,212,255,.03),rgba(124,58,237,.03));border-bottom:1px solid #e8e8e8}.device-card-header[data-v-ee09e8b0],.device-info[data-v-ee09e8b0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.device-info[data-v-ee09e8b0]{gap:12px}.device-icon[data-v-ee09e8b0]{width:44px;height:44px;border-radius:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:linear-gradient(135deg,#e0e0e0,#bdbdbd);color:#fff;font-size:20px;-webkit-transition:all .3s ease;transition:all .3s ease}.device-icon.online[data-v-ee09e8b0]{background:linear-gradient(135deg,#00d4ff,#0094b3);-webkit-box-shadow:0 4px 12px rgba(0,212,255,.3);box-shadow:0 4px 12px rgba(0,212,255,.3)}.device-text .device-name[data-v-ee09e8b0]{margin:0 0 2px;font-size:15px;font-weight:600;color:#333}.device-text .device-id[data-v-ee09e8b0]{margin:0;font-size:12px;color:#999;font-family:monospace}.device-card-body[data-v-ee09e8b0]{padding:12px 16px 16px}.info-row[data-v-ee09e8b0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 0;border-bottom:1px dashed #e8e8e8}.info-row[data-v-ee09e8b0]:last-child{border-bottom:none}.info-label[data-v-ee09e8b0]{font-size:13px;color:#666}.info-value[data-v-ee09e8b0]{font-size:13px;color:#333;font-weight:500}.table-search.is-mobile .ant-form-item[data-v-ee09e8b0]{width:100%}[data-v-ee09e8b0] .ant-select-selection__rendered .ant-select-selection-selected-value{text-align:center!important;width:100%!important}[data-v-ee09e8b0] .table-search .ant-select-selection-selected-value{text-align:left!important}[data-v-ee09e8b0] .ant-table-tbody>tr:hover>td{background:rgba(0,212,255,.02)}[data-v-ee09e8b0] .ant-table-thead>tr>th{background:#fafafa;font-weight:600}[data-v-e6bd7b82] .ant-select-selection__rendered .ant-select-selection-selected-value{text-align:center!important;width:100%!important}[data-v-e6bd7b82] .ant-input{text-align:center!important}.swipe-action[data-v-b4b62ff4]{position:relative;overflow:hidden;background:#fff;border-radius:12px}.swipe-content[data-v-b4b62ff4]{position:relative;z-index:1;background:#fff;border-radius:12px;will-change:transform}.swipe-actions[data-v-b4b62ff4]{position:absolute;top:0;right:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.action-btn[data-v-b4b62ff4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:70px;padding:0 16px;color:#fff;font-size:12px;cursor:pointer;-webkit-transition:background .2s ease;transition:background .2s ease}.action-btn .anticon[data-v-b4b62ff4]{font-size:20px;margin-bottom:4px}.action-btn.delete-btn[data-v-b4b62ff4]{background:#ff4d4f}.action-btn.delete-btn[data-v-b4b62ff4]:active{background:#ff1a1d}.pull-refresh[data-v-d97db522]{position:relative;overflow:hidden}.pull-refresh-indicator[data-v-d97db522]{position:absolute;top:0;left:0;right:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:hidden;z-index:1;-webkit-transition:height .3s ease,opacity .2s ease;transition:height .3s ease,opacity .2s ease}.pull-refresh-indicator.is-refreshing[data-v-d97db522]{-webkit-transition:none;transition:none}.indicator-content[data-v-d97db522]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;color:#00d4ff;font-size:13px}.arrow-icon[data-v-d97db522]{-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.arrow-icon.is-ready[data-v-d97db522]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.loading-icon[data-v-d97db522]{-webkit-animation:spin-data-v-d97db522 1s linear infinite;animation:spin-data-v-d97db522 1s linear infinite}@-webkit-keyframes spin-data-v-d97db522{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-data-v-d97db522{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.pull-refresh-content[data-v-d97db522]{will-change:transform}.layout-content-margin[data-v-07f37a35]{margin:15px}.table-search[data-v-07f37a35]{background:#fff;padding:15px;margin-bottom:15px;border-radius:4px}.filter-flex[data-v-07f37a35]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.audio-player-container[data-v-3894ca2c]{position:relative;width:100%;overflow:hidden;z-index:1}.audio-player-container[data-v-91edfc50]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:5px}.player-controls[data-v-91edfc50]{margin-right:10px}.waveform-container[data-v-91edfc50]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:40px}.ant-collapse[data-v-63baa190]{background:transparent}.ant-collapse-header[data-v-63baa190]{font-weight:600;color:#2c3e50!important}[data-v-63baa190] .ant-collapse-borderless>.ant-collapse-item{border-bottom:1px dashed #f0f0f0}[data-v-63baa190] .ant-collapse-borderless>.ant-collapse-item:last-child{border-bottom:none}[data-v-63baa190] .ant-form-item-label{text-align:left}.ant-divider-with-text-left[data-v-63baa190]{margin:20px 0 16px;font-weight:600;color:#2c3e50}.ant-divider-with-text-left[data-v-63baa190]:after,.ant-divider-with-text-left[data-v-63baa190]:before{border-color:#f0f0f0}.avatar-uploader-wrapper[data-v-63baa190]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avatar-uploader[data-v-63baa190]{cursor:pointer}.avatar-content[data-v-63baa190]{position:relative;width:128px;height:128px;border-radius:50%;background-color:#f5f7fa;border:2px dashed #e8e8e8;overflow:hidden;-webkit-transition:all .3s;transition:all .3s}.avatar-content[data-v-63baa190]:hover{border-color:#00d4ff}.avatar-image[data-v-63baa190]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-placeholder[data-v-63baa190]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;color:#999}.avatar-placeholder .anticon[data-v-63baa190]{font-size:32px;margin-bottom:8px}.avatar-placeholder p[data-v-63baa190]{margin:0}.avatar-hover-mask[data-v-63baa190]{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;opacity:0;-webkit-transition:opacity .3s;transition:opacity .3s}.avatar-content:hover .avatar-hover-mask[data-v-63baa190]{opacity:1}.avatar-hover-mask .anticon[data-v-63baa190]{font-size:24px;margin-bottom:8px}.avatar-hover-mask p[data-v-63baa190]{margin:0}.avatar-remove-btn[data-v-63baa190]{margin-top:8px}.avatar-tip[data-v-63baa190]{margin-top:8px;color:#8c8c8c;font-size:12px}.role-mobile[data-v-63baa190]{padding:12px 12px 20px}.mobile-header[data-v-63baa190]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:16px;padding:0 4px}.mobile-header .page-title[data-v-63baa190]{margin:0;font-size:18px;font-weight:600;color:#2c3e50}.mobile-empty[data-v-63baa190]{padding:60px 20px;text-align:center}.role-card-list[data-v-63baa190]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.list-fade-enter-active[data-v-63baa190]{-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease;-webkit-transition-delay:calc(var(--i, 0)*0.05s);transition-delay:calc(var(--i, 0)*0.05s)}.list-fade-leave-active[data-v-63baa190]{-webkit-transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease}.list-fade-enter[data-v-63baa190]{opacity:0;-webkit-transform:translateY(15px);transform:translateY(15px)}.list-fade-leave-to[data-v-63baa190]{opacity:0;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.list-fade-move[data-v-63baa190]{-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.role-card[data-v-63baa190]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:14px;background:#fff;border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);-webkit-transition:-webkit-transform .2s ease,-webkit-box-shadow .2s ease;transition:-webkit-transform .2s ease,-webkit-box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease,-webkit-transform .2s ease,-webkit-box-shadow .2s ease}.role-card[data-v-63baa190]:active{-webkit-transform:scale(.98);transform:scale(.98)}.role-card[data-v-63baa190]:hover{-webkit-box-shadow:0 4px 16px rgba(0,0,0,.08);box-shadow:0 4px 16px rgba(0,0,0,.08)}.role-card-left[data-v-63baa190]{position:relative;margin-right:14px}.role-card-left .role-avatar[data-v-63baa190]{border:2px solid #e8e8e8}.role-card-left .default-tag[data-v-63baa190]{position:absolute;bottom:-4px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:10px;padding:0 6px;line-height:16px;border-radius:8px}.role-card-content[data-v-63baa190]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.role-card-content .role-name[data-v-63baa190]{font-size:15px;font-weight:600;color:#2c3e50;margin-bottom:4px}.role-card-content .role-desc[data-v-63baa190]{font-size:12px;color:#a0a0a0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px}.role-card-content .role-tags[data-v-63baa190]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px}.role-card-content .role-tags .ant-tag[data-v-63baa190]{margin:0;font-size:11px;line-height:18px;padding:0 6px;border-radius:4px}.role-arrow[data-v-63baa190]{color:#bfbfbf;font-size:14px;margin-left:8px}.mobile-edit-form[data-v-63baa190]{padding-bottom:20px}.mobile-edit-form .switch-row[data-v-63baa190]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:8px 0}.mobile-edit-form .mobile-avatar-uploader[data-v-63baa190],.mobile-edit-form .switch-row[data-v-63baa190]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.mobile-edit-form .mobile-avatar-uploader[data-v-63baa190]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.mobile-edit-form .mobile-avatar-uploader .avatar-upload-area[data-v-63baa190]{width:80px;height:80px;border-radius:50%;background:#f5f7fa;border:2px dashed #e8e8e8;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-transition:border-color .2s;transition:border-color .2s}.mobile-edit-form .mobile-avatar-uploader .avatar-upload-area[data-v-63baa190]:active{border-color:#00d4ff}.mobile-edit-form .mobile-avatar-uploader .avatar-placeholder-mobile[data-v-63baa190]{color:#a0a0a0;font-size:24px}.mobile-edit-footer[data-v-63baa190]{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #e8e8e8;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:100;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.mobile-edit-footer .footer-actions[data-v-63baa190]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px}::v-deep .role-edit-drawer .ant-drawer-body[data-v-63baa190]{padding-bottom:80px}::v-deep .role-edit-drawer .ant-divider-with-text-left[data-v-63baa190]{margin:20px 0 16px;font-size:13px;color:#7f8c8d}::v-deep .role-edit-drawer .ant-divider-with-text-left[data-v-63baa190]:before{width:0}::v-deep .role-edit-drawer .ant-form-item[data-v-63baa190]{margin-bottom:16px}::v-deep .role-edit-drawer .ant-form-item-label[data-v-63baa190]{padding-bottom:4px}::v-deep .role-edit-drawer .ant-form-item-label label[data-v-63baa190]{font-size:13px;color:#7f8c8d}.capability-container[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;min-height:600px}.capability-mobile[data-v-3fddbfcc]{width:100%;padding-bottom:80px}.mobile-device-selector[data-v-3fddbfcc]{padding:16px;background:linear-gradient(135deg,rgba(0,212,255,.05),rgba(124,58,237,.05));border-radius:12px;margin-bottom:16px}.mobile-device-selector .selector-label[data-v-3fddbfcc]{font-size:13px;color:#666;margin-bottom:8px}.mobile-empty-state[data-v-3fddbfcc]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:60px 20px;text-align:center}.mobile-empty-state .empty-icon[data-v-3fddbfcc],.mobile-empty-state[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.mobile-empty-state .empty-icon[data-v-3fddbfcc]{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#f0f0f0,#e8e8e8);margin-bottom:20px}.mobile-empty-state .empty-icon .anticon[data-v-3fddbfcc]{font-size:36px;color:#bfbfbf}.mobile-empty-state h3[data-v-3fddbfcc]{margin:0 0 8px;font-size:16px;color:#333;font-weight:500}.mobile-empty-state p[data-v-3fddbfcc]{margin:0;font-size:13px;color:#999}.mobile-capability-list[data-v-3fddbfcc]{background:#fff;border-radius:12px;overflow:hidden;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);margin-bottom:16px}.mobile-capability-list .list-header[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:14px 16px;border-bottom:1px solid #e8e8e8;background:#fafafa}.mobile-capability-list .list-header .list-title[data-v-3fddbfcc]{font-size:14px;font-weight:600;color:#333}.mobile-capability-list .list-header .list-count[data-v-3fddbfcc]{font-size:12px;color:#999}.mobile-empty-list[data-v-3fddbfcc]{padding:40px 20px;text-align:center}.mobile-empty-list .anticon[data-v-3fddbfcc]{font-size:40px;color:#d9d9d9}.mobile-empty-list p[data-v-3fddbfcc]{margin:12px 0 0;color:#999;font-size:13px}.capability-cards[data-v-3fddbfcc]{padding:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.list-fade-enter-active[data-v-3fddbfcc]{-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease;-webkit-transition-delay:calc(var(--i, 0)*0.05s);transition-delay:calc(var(--i, 0)*0.05s)}.list-fade-leave-active[data-v-3fddbfcc]{-webkit-transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease}.list-fade-enter[data-v-3fddbfcc]{opacity:0;-webkit-transform:translateY(15px);transform:translateY(15px)}.list-fade-leave-to[data-v-3fddbfcc]{opacity:0;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.list-fade-move[data-v-3fddbfcc]{-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.mobile-capability-card[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:14px 12px;margin-bottom:8px;background:#fff;border:1px solid #e8e8e8;border-radius:10px;-webkit-transition:all .2s ease;transition:all .2s ease}.mobile-capability-card[data-v-3fddbfcc]:last-child{margin-bottom:0}.mobile-capability-card[data-v-3fddbfcc]:active{background:rgba(0,212,255,.05);border-color:#00d4ff}.mobile-capability-card .card-icon[data-v-3fddbfcc]{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#00d4ff,#0094b3);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:12px;-ms-flex-negative:0;flex-shrink:0}.mobile-capability-card .card-icon .anticon[data-v-3fddbfcc]{font-size:18px;color:#fff}.mobile-capability-card .card-content[data-v-3fddbfcc]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.mobile-capability-card .card-content .card-name[data-v-3fddbfcc]{font-size:15px;font-weight:500;color:#333;margin-bottom:2px}.mobile-capability-card .card-content .card-desc[data-v-3fddbfcc]{font-size:12px;color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-capability-card .card-arrow[data-v-3fddbfcc]{color:#bfbfbf;font-size:14px;margin-left:8px}.mobile-atomic-entry[data-v-3fddbfcc]{padding:16px;background:#fff;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);margin-bottom:16px}.mobile-atomic-entry .entry-icon[data-v-3fddbfcc],.mobile-atomic-entry[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:12px}.mobile-atomic-entry .entry-icon[data-v-3fddbfcc]{width:44px;height:44px;background:linear-gradient(135deg,#7c3aed,#5512c8);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:14px}.mobile-atomic-entry .entry-icon .anticon[data-v-3fddbfcc]{font-size:20px;color:#fff}.mobile-atomic-entry .entry-content[data-v-3fddbfcc]{-webkit-box-flex:1;-ms-flex:1;flex:1}.mobile-atomic-entry .entry-content .entry-title[data-v-3fddbfcc]{font-size:15px;font-weight:500;color:#333;margin-bottom:2px}.mobile-atomic-entry .entry-content .entry-desc[data-v-3fddbfcc]{font-size:12px;color:#999}.mobile-atomic-entry ::v-deep .ant-badge-count[data-v-3fddbfcc]{background:#7c3aed;-webkit-box-shadow:none;box-shadow:none}.mobile-fab[data-v-3fddbfcc]{position:fixed;right:20px;bottom:calc(92px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#00d4ff,#7c3aed);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-shadow:0 4px 16px rgba(0,212,255,.4);box-shadow:0 4px 16px rgba(0,212,255,.4);z-index:100;cursor:pointer;-webkit-transition:-webkit-transform .2s,-webkit-box-shadow .2s;transition:-webkit-transform .2s,-webkit-box-shadow .2s;transition:transform .2s,box-shadow .2s;transition:transform .2s,box-shadow .2s,-webkit-transform .2s,-webkit-box-shadow .2s}.mobile-fab .anticon[data-v-3fddbfcc]{font-size:24px;color:#fff}.mobile-fab[data-v-3fddbfcc]:active{-webkit-transform:scale(.95);transform:scale(.95)}.atomic-drawer-content[data-v-3fddbfcc]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.atomic-drawer-tip[data-v-3fddbfcc]{padding:12px 16px;background:rgba(0,212,255,.1);color:#00d4ff;font-size:13px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.atomic-drawer-tip .anticon[data-v-3fddbfcc]{font-size:14px}.atomic-drawer-list[data-v-3fddbfcc]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:12px}.atomic-drawer-item[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:14px;margin-bottom:10px;background:#fff;border:1px solid #e8e8e8;border-radius:10px;-webkit-transition:all .2s ease;transition:all .2s ease}.atomic-drawer-item[data-v-3fddbfcc]:active{background:rgba(0,212,255,.05);border-color:#00d4ff}.atomic-drawer-item .atomic-item-icon[data-v-3fddbfcc]{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,rgba(0,212,255,.1),rgba(124,58,237,.1));display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:12px}.atomic-drawer-item .atomic-item-icon .anticon[data-v-3fddbfcc]{font-size:16px;color:#00d4ff}.atomic-drawer-item .atomic-item-content[data-v-3fddbfcc]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.atomic-drawer-item .atomic-item-content .atomic-item-name[data-v-3fddbfcc]{font-size:14px;font-weight:500;color:#333;margin-bottom:2px}.atomic-drawer-item .atomic-item-content .atomic-item-desc[data-v-3fddbfcc]{font-size:12px;color:#999;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.atomic-drawer-item .atomic-item-action[data-v-3fddbfcc],.atomic-drawer-item .atomic-item-add[data-v-3fddbfcc]{font-size:18px;color:#00d4ff;margin-left:8px}.mobile-edit-form[data-v-3fddbfcc]{padding-bottom:20px}.mobile-steps-empty[data-v-3fddbfcc]{padding:40px 20px;text-align:center;background:#fafafa;border-radius:8px;border:1px dashed #e8e8e8}.mobile-steps-empty .anticon[data-v-3fddbfcc]{font-size:36px;color:#d9d9d9}.mobile-steps-empty p[data-v-3fddbfcc]{margin:12px 0 16px;color:#999;font-size:13px}.mobile-steps-list[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px}.mobile-step-item[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding:12px;background:#fafafa;border:1px solid #e8e8e8;border-radius:10px}.mobile-step-item .step-drag-handle[data-v-3fddbfcc]{width:28px;height:28px;border-radius:50%;background:#00d4ff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:12px;-ms-flex-negative:0;flex-shrink:0}.mobile-step-item .step-drag-handle .step-index[data-v-3fddbfcc]{font-size:12px;font-weight:600;color:#fff}.mobile-step-item .step-main[data-v-3fddbfcc]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.mobile-step-item .step-main .step-name[data-v-3fddbfcc]{font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.mobile-step-item .step-main .step-params[data-v-3fddbfcc]{font-size:12px}.mobile-step-item .step-delete[data-v-3fddbfcc]{color:#ff4d4f;padding:4px}.mobile-edit-footer[data-v-3fddbfcc]{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #e8e8e8;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:100;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.mobile-edit-footer .footer-actions[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px}.left-panel[data-v-3fddbfcc]{width:280px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.device-selector[data-v-3fddbfcc]{padding:16px;background:#fafafa;border-radius:4px}.selector-label[data-v-3fddbfcc]{font-size:14px;font-weight:500;color:rgba(0,0,0,.85);margin-bottom:8px}.custom-capabilities-section[data-v-3fddbfcc]{-webkit-box-flex:1;-ms-flex:1;flex:1;border:1px solid #e8e8e8;border-radius:4px;background:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-capabilities-list[data-v-3fddbfcc]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:8px}.capability-item[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px;margin-bottom:8px;border:1px solid #e8e8e8;border-radius:4px;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.capability-item[data-v-3fddbfcc]:hover{background:#f5f5f5;border-color:#1890ff}.capability-item.active[data-v-3fddbfcc]{background:#e6f7ff;border-color:#1890ff}.capability-item-content[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden}.capability-name[data-v-3fddbfcc]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center-panel[data-v-3fddbfcc]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.edit-section[data-v-3fddbfcc]{height:100%;border:1px solid #e8e8e8;border-radius:4px;background:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.edit-form[data-v-3fddbfcc]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:16px;overflow-y:auto}.steps-container[data-v-3fddbfcc]{border:1px dashed #d9d9d9;border-radius:4px;min-height:300px}.drop-zone[data-v-3fddbfcc]{min-height:300px;padding:16px}.drop-placeholder[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:268px;color:#999}.step-list[data-v-3fddbfcc]{min-height:100px}.step-item[data-v-3fddbfcc]{margin-bottom:12px;padding:12px;background:#fafafa;border:1px solid #e8e8e8;border-radius:4px}.step-header[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:8px}.step-number[data-v-3fddbfcc]{font-weight:500;color:#1890ff}.step-content[data-v-3fddbfcc]{padding-left:8px}.step-info[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:8px}.step-name[data-v-3fddbfcc]{font-weight:500}.right-panel[data-v-3fddbfcc]{width:300px}.atomic-capabilities-section[data-v-3fddbfcc]{height:100%;border:1px solid #e8e8e8;border-radius:4px;background:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.atomic-capabilities-list[data-v-3fddbfcc]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:8px}.atomic-capability-item[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding:12px;margin-bottom:8px;border:1px solid #e8e8e8;border-radius:4px;cursor:pointer;-webkit-transition:all .3s;transition:all .3s;background:#fff;position:relative}.atomic-capability-item[data-v-3fddbfcc]:hover{background:#f0f7ff;border-color:#1890ff;-webkit-box-shadow:0 2px 4px rgba(24,144,255,.2);box-shadow:0 2px 4px rgba(24,144,255,.2)}.atomic-capability-item .control-icon[data-v-3fddbfcc]{position:absolute;right:12px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:#1890ff;font-size:16px;opacity:0;-webkit-transition:opacity .3s;transition:opacity .3s}.atomic-capability-item:hover .control-icon[data-v-3fddbfcc]{opacity:1}.atomic-capability-info[data-v-3fddbfcc]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.atomic-capability-name[data-v-3fddbfcc]{font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.atomic-capability-desc[data-v-3fddbfcc]{font-size:12px;color:#999;line-height:1.5;word-break:break-all}.section-header[data-v-3fddbfcc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 16px;border-bottom:1px solid #e8e8e8;background:#fafafa}.section-title[data-v-3fddbfcc]{font-weight:500;font-size:14px;color:rgba(0,0,0,.85)}@media(max-width:1400px){.capability-container[data-v-3fddbfcc]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.left-panel[data-v-3fddbfcc],.right-panel[data-v-3fddbfcc]{width:100%}.left-panel[data-v-3fddbfcc]{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.center-panel[data-v-3fddbfcc]{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.right-panel[data-v-3fddbfcc]{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}}.connection-status[data-v-7ecfb760]{padding:16px;background:#fafafa;border-radius:4px;margin-bottom:16px}.status-row[data-v-7ecfb760]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:8px}.status-row[data-v-7ecfb760]:last-child{margin-bottom:0}.status-label[data-v-7ecfb760]{color:#666;font-size:14px}.protocol-info[data-v-7ecfb760]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:8px}.protocol-info[data-v-7ecfb760]:last-child{margin-bottom:0}.mqtt-direct-tip[data-v-7ecfb760]{padding:8px 12px;background:#fffbe6;border:1px solid #ffe58f;border-radius:4px;margin-top:8px}.mqtt-direct-tip[data-v-7ecfb760],.not-connected-tip[data-v-7ecfb760]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.not-connected-tip[data-v-7ecfb760]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:40px 20px;text-align:center}.control-form[data-v-7ecfb760]{margin-top:16px}.param-hint[data-v-7ecfb760]{font-size:12px;color:#999;margin-top:4px}.action-buttons[data-v-7ecfb760]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid #e8e8e8}.execute-result[data-v-7ecfb760]{margin-top:16px}.result-detail[data-v-7ecfb760]{margin-top:12px;font-size:12px;color:#666}.template-preview-content[data-v-089af8d4]{white-space:pre-wrap;background:#f5f5f5;padding:16px;border-radius:4px;max-height:400px;overflow-y:auto}.template-desc[data-v-089af8d4]{color:#666;font-style:italic}::v-deep .ant-form .ant-divider[data-v-15dc8d7a]{margin:24px 0 20px;font-weight:600;color:#2c3e50}::v-deep .ant-card-small[data-v-15dc8d7a]{border-radius:8px}::v-deep .ant-card-small .ant-card-body[data-v-15dc8d7a]{background-color:#f5f7fa!important}::v-deep .ant-table .ant-space a[data-v-15dc8d7a]{color:#00d4ff;font-weight:500;-webkit-transition:opacity .2s;transition:opacity .2s}::v-deep .ant-table .ant-space a[data-v-15dc8d7a]:hover{opacity:.8}::v-deep .ant-table .ant-space a[style*="color: #ff4d4f"][data-v-15dc8d7a],::v-deep .ant-table .ant-space a[style*="color: rgb(255, 77, 79)"][data-v-15dc8d7a]{color:#ff4d4f!important}::v-deep .ant-tag[data-v-15dc8d7a]{border-radius:4px;font-weight:500}::v-deep .ant-tabs .ant-tabs-tab[data-v-15dc8d7a]{font-weight:500}::v-deep .ant-tabs .ant-tabs-tab.ant-tabs-tab-active[data-v-15dc8d7a]{font-weight:600}::v-deep .ant-form-item[data-v-15dc8d7a]:last-child{margin-top:24px}::v-deep .ant-form-item:last-child .ant-btn-primary[data-v-15dc8d7a]{min-width:100px}::v-deep .ant-empty[data-v-15dc8d7a]{padding:32px 0}.table-search[data-v-764ce19a]{background:#fff;border-radius:12px;padding:20px 24px 4px;margin-bottom:16px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06)}.table-search ::v-deep .ant-form-item[data-v-764ce19a]{margin-bottom:16px}.table-search ::v-deep .ant-form-item-label>label[data-v-764ce19a]{color:#7f8c8d;font-weight:500}.table-search ::v-deep .ant-input[data-v-764ce19a],.table-search ::v-deep .ant-select-selection[data-v-764ce19a]{border-radius:8px;-webkit-transition:all .2s;transition:all .2s}.table-search ::v-deep .ant-input[data-v-764ce19a]:hover,.table-search ::v-deep .ant-select-selection[data-v-764ce19a]:hover{border-color:#00d4ff}.table-search ::v-deep .ant-input[data-v-764ce19a]:focus,.table-search ::v-deep .ant-select-focused .ant-select-selection[data-v-764ce19a]{border-color:#00d4ff;-webkit-box-shadow:0 0 0 2px rgba(0,212,255,.1);box-shadow:0 0 0 2px rgba(0,212,255,.1)}::v-deep .ant-card[data-v-764ce19a]{border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);overflow:hidden}::v-deep .ant-card .ant-card-head[data-v-764ce19a]{border-bottom-color:#f0f0f0;padding:0 24px}::v-deep .ant-card .ant-card-head .ant-card-head-title[data-v-764ce19a]{font-weight:600;color:#2c3e50;font-size:16px}::v-deep .ant-card .ant-card-extra .ant-btn-primary[data-v-764ce19a]{border-radius:8px;font-weight:500;-webkit-box-shadow:0 2px 6px rgba(0,212,255,.2);box-shadow:0 2px 6px rgba(0,212,255,.2);background:linear-gradient(135deg,#00d4ff,#7c3aed);border:none;-webkit-transition:all .3s;transition:all .3s}::v-deep .ant-card .ant-card-extra .ant-btn-primary[data-v-764ce19a]:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 12px rgba(0,212,255,.3);box-shadow:0 4px 12px rgba(0,212,255,.3)}::v-deep .ant-table .ant-table-thead>tr>th[data-v-764ce19a]{background:#f5f7fa;color:#7f8c8d;font-weight:600;border-bottom:1px solid #f0f0f0;padding:14px 16px}::v-deep .ant-table .ant-table-tbody>tr[data-v-764ce19a]{-webkit-transition:background .2s;transition:background .2s}::v-deep .ant-table .ant-table-tbody>tr:hover>td[data-v-764ce19a]{background:rgba(0,212,255,.04)}::v-deep .ant-table .ant-table-tbody>tr>td[data-v-764ce19a]{padding:14px 16px;border-bottom-color:#f0f0f0}::v-deep .ant-table .ant-avatar[data-v-764ce19a]{border-radius:8px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06)}::v-deep .ant-table .ant-space a[data-v-764ce19a]{color:#00d4ff;font-weight:500;-webkit-transition:opacity .2s;transition:opacity .2s}::v-deep .ant-table .ant-space a[data-v-764ce19a]:hover{opacity:.8}::v-deep .ant-table .ant-space a[style*="color:#ff4d4f"][data-v-764ce19a],::v-deep .ant-table .ant-space a[style*="color: #ff4d4f"][data-v-764ce19a]{color:#ff4d4f!important}::v-deep .ant-table .ant-space a[style*="color:#ff4d4f"][data-v-764ce19a]:hover,::v-deep .ant-table .ant-space a[style*="color: #ff4d4f"][data-v-764ce19a]:hover{opacity:.8}::v-deep .ant-tag[data-v-764ce19a]{border-radius:4px;font-weight:500;padding:2px 10px;border:none}::v-deep .ant-tag[color=blue][data-v-764ce19a]{background:rgba(0,212,255,.1);color:#0ac}::v-deep .ant-tag[color=green][data-v-764ce19a]{background:rgba(82,196,26,.1);color:#52c41a}::v-deep .ant-pagination[data-v-764ce19a]{padding:16px 24px}::v-deep .ant-pagination .ant-pagination-item[data-v-764ce19a]{border-radius:8px;border-color:#e8e8e8}::v-deep .ant-pagination .ant-pagination-item[data-v-764ce19a]:hover{border-color:#00d4ff}::v-deep .ant-pagination .ant-pagination-item:hover a[data-v-764ce19a]{color:#00d4ff}::v-deep .ant-pagination .ant-pagination-item-active[data-v-764ce19a]{background:#00d4ff;border-color:#00d4ff}::v-deep .ant-pagination .ant-pagination-item-active a[data-v-764ce19a]{color:#fff}::v-deep .ant-pagination .ant-pagination-next .ant-pagination-item-link[data-v-764ce19a],::v-deep .ant-pagination .ant-pagination-prev .ant-pagination-item-link[data-v-764ce19a]{border-radius:8px;border-color:#e8e8e8}::v-deep .ant-pagination .ant-pagination-next:hover .ant-pagination-item-link[data-v-764ce19a],::v-deep .ant-pagination .ant-pagination-prev:hover .ant-pagination-item-link[data-v-764ce19a]{border-color:#00d4ff;color:#00d4ff}::v-deep .ant-modal .ant-modal-content[data-v-764ce19a]{border-radius:12px;overflow:hidden}::v-deep .ant-modal .ant-modal-header[data-v-764ce19a]{border-bottom-color:#f0f0f0;padding:16px 24px}::v-deep .ant-modal .ant-modal-header .ant-modal-title[data-v-764ce19a]{font-weight:600;color:#2c3e50}::v-deep .ant-modal .ant-modal-body[data-v-764ce19a]{padding:24px}::v-deep .ant-modal .ant-modal-footer[data-v-764ce19a]{border-top-color:#f0f0f0;padding:12px 24px}::v-deep .ant-modal .ant-modal-footer .ant-btn[data-v-764ce19a]{border-radius:8px;font-weight:500}::v-deep .ant-modal .ant-modal-footer .ant-btn-primary[data-v-764ce19a]{background:linear-gradient(135deg,#00d4ff,#7c3aed);border:none}::v-deep .ant-modal .ant-form-item[data-v-764ce19a]{margin-bottom:20px}::v-deep .ant-modal .ant-form-item-label>label[data-v-764ce19a]{color:#7f8c8d;font-weight:500}::v-deep .ant-modal .ant-input[data-v-764ce19a]{border-radius:8px;-webkit-transition:all .2s;transition:all .2s}::v-deep .ant-modal .ant-input[data-v-764ce19a]:hover{border-color:#00d4ff}::v-deep .ant-modal .ant-input[data-v-764ce19a]:focus{border-color:#00d4ff;-webkit-box-shadow:0 0 0 2px rgba(0,212,255,.1);box-shadow:0 0 0 2px rgba(0,212,255,.1)}::v-deep .ant-popconfirm .ant-popover-inner[data-v-764ce19a]{border-radius:8px}::v-deep .ant-popconfirm .ant-btn-primary[data-v-764ce19a]{border-radius:4px;background:#ff4d4f;border-color:#ff4d4f}@media(max-width:768px){.table-search[data-v-764ce19a]{padding:16px;margin-bottom:12px}::v-deep .ant-card[data-v-764ce19a]{border-radius:8px}::v-deep .ant-card .ant-card-head[data-v-764ce19a]{padding:0 16px}::v-deep .ant-card .ant-card-extra .ant-btn[data-v-764ce19a]{padding:4px 12px;font-size:13px}::v-deep .ant-table .ant-table-tbody>tr>td[data-v-764ce19a],::v-deep .ant-table .ant-table-thead>tr>th[data-v-764ce19a]{padding:10px 12px}::v-deep .ant-modal .ant-modal-body[data-v-764ce19a]{padding:16px}}.account-page[data-v-9b3f9676]{max-width:1200px;margin:0 auto;padding-top:24px}.profile-card[data-v-9b3f9676]{border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06)}.profile-card ::v-deep .ant-card-body[data-v-9b3f9676]{padding:24px}.avatar-section[data-v-9b3f9676]{text-align:center;padding-bottom:8px}.avatar-wrapper[data-v-9b3f9676]{margin-bottom:16px}.user-avatar[data-v-9b3f9676]{border:3px solid #e8e8e8;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.1);box-shadow:0 4px 12px rgba(0,0,0,.1);background:linear-gradient(135deg,#00d4ff,#7c3aed)}.user-name[data-v-9b3f9676]{font-size:20px;font-weight:600;color:#333;margin:0 0 4px}.user-account[data-v-9b3f9676]{font-size:14px;color:#999;margin:0}.info-section[data-v-9b3f9676]{padding:4px 0}.section-title[data-v-9b3f9676]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#333;margin:0 0 16px}.section-title .anticon[data-v-9b3f9676]{color:#00d4ff}.info-list[data-v-9b3f9676]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.info-item[data-v-9b3f9676]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 12px;background:#fafafa;border-radius:8px;-webkit-transition:background .2s;transition:background .2s}.info-item[data-v-9b3f9676]:hover{background:rgba(0,212,255,.05)}.info-label[data-v-9b3f9676]{font-size:13px;color:#666}.info-value[data-v-9b3f9676]{font-size:13px;color:#333;font-weight:500;text-align:right;word-break:break-all;max-width:60%}.chart-card[data-v-9b3f9676]{border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);min-height:400px}.chart-card ::v-deep .ant-card-body[data-v-9b3f9676]{padding:24px}.account-page.is-mobile[data-v-9b3f9676]{padding:0 12px}.account-page.is-mobile .profile-card ::v-deep .ant-card-body[data-v-9b3f9676]{padding:20px 16px}.account-page.is-mobile .avatar-wrapper[data-v-9b3f9676]{margin-bottom:12px}.account-page.is-mobile .user-name[data-v-9b3f9676]{font-size:18px}.account-page.is-mobile .section-title[data-v-9b3f9676]{font-size:14px;margin-bottom:12px}.account-page.is-mobile .info-item[data-v-9b3f9676]{padding:10px 12px}.account-page.is-mobile .info-label[data-v-9b3f9676],.account-page.is-mobile .info-value[data-v-9b3f9676]{font-size:13px}.account-page.is-mobile .chart-card[data-v-9b3f9676]{min-height:300px}.account-page.is-mobile .chart-card ::v-deep .ant-card-body[data-v-9b3f9676]{padding:16px}::v-deep .ant-divider-horizontal[data-v-9b3f9676]{margin:20px 0}.ant-form-vertical[data-v-9dcbeee8] .ant-form-item{margin-bottom:24px}::v-deep .ant-card[data-v-9dcbeee8]{border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06)}::v-deep .ant-card .ant-card-head[data-v-9dcbeee8]{border-bottom-color:#f0f0f0}::v-deep .ant-card .ant-card-head .ant-card-head-title[data-v-9dcbeee8]{font-weight:600;color:#2c3e50}.avatar-upload-section[data-v-9dcbeee8]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:40px 20px}.avatar-upload-wrapper[data-v-9dcbeee8]{cursor:pointer}.avatar-container[data-v-9dcbeee8]{position:relative;width:160px;height:160px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#00d4ff,#7c3aed);-webkit-box-shadow:0 4px 20px rgba(0,0,0,.15);box-shadow:0 4px 20px rgba(0,0,0,.15);-webkit-transition:-webkit-transform .3s ease,-webkit-box-shadow .3s ease;transition:-webkit-transform .3s ease,-webkit-box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease,-webkit-box-shadow .3s ease}.avatar-container[data-v-9dcbeee8]:hover{-webkit-transform:scale(1.03);transform:scale(1.03);-webkit-box-shadow:0 6px 25px rgba(0,212,255,.3);box-shadow:0 6px 25px rgba(0,212,255,.3)}.avatar-container:hover .avatar-mask[data-v-9dcbeee8]{opacity:1}.avatar-image[data-v-9dcbeee8]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-placeholder[data-v-9dcbeee8]{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e0e0e0)}.avatar-placeholder .anticon[data-v-9dcbeee8]{font-size:64px;color:#bfbfbf}.avatar-mask[data-v-9dcbeee8]{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;color:#fff}.avatar-mask .anticon[data-v-9dcbeee8]{font-size:28px;margin-bottom:8px}.avatar-mask span[data-v-9dcbeee8]{font-size:14px;font-weight:500}.avatar-tip[data-v-9dcbeee8]{margin-top:16px;color:#a0a0a0;font-size:13px}.user-register[data-v-9dcbeee8]{font-weight:500}.user-register.error[data-v-9dcbeee8]{color:red}.user-register.warning[data-v-9dcbeee8]{color:#ff7e05}.user-register.success[data-v-9dcbeee8]{color:#52c41a}::v-deep .ant-input[data-v-9dcbeee8]{border-radius:8px;-webkit-transition:all .2s;transition:all .2s}::v-deep .ant-input[data-v-9dcbeee8]:hover{border-color:#00d4ff}::v-deep .ant-input[data-v-9dcbeee8]:focus{border-color:#00d4ff;-webkit-box-shadow:0 0 0 2px rgba(0,212,255,.1);box-shadow:0 0 0 2px rgba(0,212,255,.1)}::v-deep .ant-btn-primary[data-v-9dcbeee8]{min-width:100px;height:40px;border-radius:8px;font-weight:500}@media(max-width:768px){.avatar-upload-section[data-v-9dcbeee8]{padding:20px;margin-top:20px;border-top:1px solid #f0f0f0}.avatar-container[data-v-9dcbeee8]{width:120px;height:120px}.avatar-placeholder .anticon[data-v-9dcbeee8]{font-size:48px}.avatar-mask .anticon[data-v-9dcbeee8]{font-size:24px}}.cropper-container[data-v-38c21fe0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:24px;margin-bottom:20px}.cropper-container.is-mobile[data-v-38c21fe0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.cropper-area[data-v-38c21fe0]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:300px;min-width:0;background:#f5f5f5;border-radius:8px;overflow:hidden}.is-mobile .cropper-area[data-v-38c21fe0]{height:250px}.preview-area[data-v-38c21fe0]{width:200px;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.is-mobile .preview-area[data-v-38c21fe0]{width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:16px}.preview-label[data-v-38c21fe0]{font-size:13px;color:#999;margin-bottom:12px}.is-mobile .preview-label[data-v-38c21fe0]{margin-bottom:0;line-height:120px}.avatar-upload-preview[data-v-38c21fe0]{width:120px;height:120px;border-radius:50%;-webkit-box-shadow:0 2px 12px rgba(0,0,0,.1);box-shadow:0 2px 12px rgba(0,0,0,.1);overflow:hidden;background:#fafafa;position:relative}.avatar-upload-preview img[data-v-38c21fe0]{display:block}.is-mobile .avatar-upload-preview[data-v-38c21fe0]{width:100px;height:100px}.preview-placeholder[data-v-38c21fe0]{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:linear-gradient(135deg,#00d4ff,#7c3aed);color:#fff;font-size:40px}.is-mobile .preview-placeholder[data-v-38c21fe0]{font-size:32px}.action-buttons[data-v-38c21fe0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-top:16px;border-top:1px solid #e8e8e8}.action-buttons.is-mobile[data-v-38c21fe0]{-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.action-buttons.is-mobile .center-actions[data-v-38c21fe0],.action-buttons.is-mobile .left-actions[data-v-38c21fe0],.action-buttons.is-mobile .right-actions[data-v-38c21fe0]{-webkit-box-flex:0;-ms-flex:none;flex:none}.action-buttons.is-mobile .left-actions[data-v-38c21fe0]{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.action-buttons.is-mobile .center-actions[data-v-38c21fe0]{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.action-buttons.is-mobile .right-actions[data-v-38c21fe0]{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;margin-left:auto}.center-actions[data-v-38c21fe0],.left-actions[data-v-38c21fe0],.right-actions[data-v-38c21fe0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.center-actions .ant-btn-group[data-v-38c21fe0],.chat-container[data-v-33448bf8]{display:-webkit-box;display:-ms-flexbox;display:flex}.chat-container[data-v-33448bf8]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:calc(100vh - 160px);background-color:#f5f7fa;position:relative;width:100%;max-width:100%;margin:0 auto;-webkit-box-shadow:0 4px 16px rgba(0,0,0,.08);box-shadow:0 4px 16px rgba(0,0,0,.08);border-radius:12px;overflow:hidden}.chat-container.is-mobile[data-v-33448bf8]{height:calc(100vh - 120px);border-radius:0;-webkit-box-shadow:none;box-shadow:none}.chat-header[data-v-33448bf8]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 16px;background-color:#fff;border-bottom:1px solid #f0f0f0;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);z-index:10}.header-left[data-v-33448bf8]{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:40px}.header-title[data-v-33448bf8]{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;font-size:16px;font-weight:600;color:#2c3e50;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.header-title .ant-tag[data-v-33448bf8]{margin-left:8px;font-size:12px;padding:0 8px;height:22px;line-height:22px;border-radius:11px}.header-right[data-v-33448bf8]{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.connection-btn[data-v-33448bf8]{height:36px;width:36px;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:8px;-webkit-transition:all .2s;transition:all .2s}.connection-btn[data-v-33448bf8]:hover{background:rgba(0,212,255,.08)}.connection-btn .anticon[data-v-33448bf8]{font-size:18px}.connection-alert[data-v-33448bf8]{position:fixed;top:70px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:min(500px,calc(100% - 32px));z-index:100;border-radius:12px;-webkit-box-shadow:0 4px 16px rgba(0,0,0,.08);box-shadow:0 4px 16px rgba(0,0,0,.08)}.connection-actions[data-v-33448bf8]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;margin-top:8px}.floating-reconnect-btn[data-v-33448bf8]{position:fixed;bottom:24px;right:24px;z-index:90}.floating-reconnect-btn .ant-btn[data-v-33448bf8]{width:52px;height:52px;-webkit-box-shadow:0 4px 12px rgba(0,212,255,.3);box-shadow:0 4px 12px rgba(0,212,255,.3);background:linear-gradient(135deg,#00d4ff,#7c3aed);border:none;-webkit-transition:all .3s;transition:all .3s}.floating-reconnect-btn .ant-btn[data-v-33448bf8]:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 16px rgba(0,212,255,.4);box-shadow:0 6px 16px rgba(0,212,255,.4)}.floating-reconnect-btn .anticon[data-v-33448bf8]{font-size:22px;color:#fff}.log-container[data-v-33448bf8]{height:200px;overflow-y:auto;background-color:#f5f7fa;border-radius:8px;padding:12px;font-family:SF Mono,Consolas,monospace;font-size:12px}.log-container[data-v-33448bf8]::-webkit-scrollbar{width:4px}.log-container[data-v-33448bf8]::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:2px}.log-entry[data-v-33448bf8]{margin-bottom:6px;line-height:1.5;padding:4px 8px;border-radius:4px;-webkit-transition:background .2s;transition:background .2s}.log-entry[data-v-33448bf8]:hover{background:rgba(0,0,0,.02)}.log-time[data-v-33448bf8]{color:#a0a0a0;margin-right:8px}.log-info[data-v-33448bf8]{color:#2c3e50}.log-error[data-v-33448bf8]{color:#ff4d4f;background:rgba(255,77,79,.05)}.log-warning[data-v-33448bf8]{color:#faad14;background:rgba(250,173,20,.05)}.log-success[data-v-33448bf8]{color:#52c41a;background:rgba(82,196,26,.05)}.log-debug[data-v-33448bf8]{color:#a0a0a0}.audio-visualizer[data-v-33448bf8]{width:100%;height:100px;background-color:#f5f7fa;border-radius:8px}@media(max-width:768px){.chat-header[data-v-33448bf8]{padding:10px 12px}.header-title[data-v-33448bf8]{font-size:15px}.connection-alert[data-v-33448bf8]{top:60px;left:12px;right:12px;-webkit-transform:none;transform:none;width:auto}.floating-reconnect-btn[data-v-33448bf8]{right:16px;bottom:80px}.floating-reconnect-btn .ant-btn[data-v-33448bf8]{width:48px;height:48px}.floating-reconnect-btn .anticon[data-v-33448bf8]{font-size:20px}}.chat-component[data-v-2ed0c342]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:#f5f5f5;border-radius:4px;overflow:hidden}.chat-content[data-v-2ed0c342]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:16px;scroll-behavior:smooth}.empty-chat[data-v-2ed0c342]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;min-height:200px}.chat-messages[data-v-2ed0c342]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px}.message-timestamp[data-v-2ed0c342]{text-align:center;margin:8px 0;color:#999;font-size:12px}.message-timestamp[data-v-2ed0c342]:after,.message-timestamp[data-v-2ed0c342]:before{content:"";display:inline-block;width:60px;height:1px;background-color:#e8e8e8;margin:0 10px;vertical-align:middle}.message-wrapper[data-v-2ed0c342]{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:8px;width:100%}.user-message[data-v-2ed0c342]{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.avatar[data-v-2ed0c342]{margin:0 8px;-ms-flex-negative:0;flex-shrink:0}.message-content[data-v-2ed0c342]{max-width:70%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:60px}.message-bubble[data-v-2ed0c342]{padding:10px 14px;border-radius:4px;position:relative;word-break:break-word;width:auto;display:inline-block;min-height:0;height:auto;line-height:0;-webkit-box-sizing:content-box;box-sizing:content-box}.message-bubble.clickable[data-v-2ed0c342]{cursor:pointer;-webkit-transition:background-color .2s;transition:background-color .2s}.user-message .message-bubble[data-v-2ed0c342]{background-color:#95ec69;color:#fff;border-bottom-right-radius:4px}.user-message .message-bubble.clickable[data-v-2ed0c342]:hover{background-color:#71d970}.ai-message .message-bubble[data-v-2ed0c342]{background-color:#fff;color:#333;border-bottom-left-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.ai-message .message-bubble.clickable[data-v-2ed0c342]:hover{background-color:#f9f9f9}.message-text[data-v-2ed0c342]{white-space:pre-wrap;word-break:break-word;min-width:20px;min-height:0;height:auto;padding:0;margin:0}.stt-message[data-v-2ed0c342]{color:#232323}.tts-message[data-v-2ed0c342]{color:#13c2c2}.system-message[data-v-2ed0c342]{color:#fa8c16}.audio-message[data-v-2ed0c342]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.audio-duration[data-v-2ed0c342]{font-size:12px}.audio-wave[data-v-2ed0c342]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px}.wave-bar[data-v-2ed0c342]{width:3px;height:12px;background-color:currentColor;opacity:.5;border-radius:1px}.wave-bar.active[data-v-2ed0c342]{-webkit-animation:sound-wave-data-v-2ed0c342 1s ease-in-out infinite;animation:sound-wave-data-v-2ed0c342 1s ease-in-out infinite}@-webkit-keyframes sound-wave-data-v-2ed0c342{0%,to{height:4px}50%{height:16px}}@keyframes sound-wave-data-v-2ed0c342{0%,to{height:4px}50%{height:16px}}.wave-bar:nth-child(2).active[data-v-2ed0c342]{-webkit-animation-delay:.2s;animation-delay:.2s}.wave-bar:nth-child(3).active[data-v-2ed0c342]{-webkit-animation-delay:.4s;animation-delay:.4s}.wave-bar:nth-child(4).active[data-v-2ed0c342]{-webkit-animation-delay:.6s;animation-delay:.6s}.loading-indicator[data-v-2ed0c342]{margin-top:4px;-ms-flex-item-align:start;align-self:flex-start}.user-message .loading-indicator[data-v-2ed0c342]{-ms-flex-item-align:end;align-self:flex-end}.chat-input-area[data-v-2ed0c342]{padding:12px 16px;background-color:#f9f9f9;border-top:1px solid #e8e8e8}.text-input-wrapper[data-v-2ed0c342]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.input-left-actions[data-v-2ed0c342]{margin-right:8px}.input-right-actions[data-v-2ed0c342]{margin-left:8px}.text-input-wrapper[data-v-2ed0c342] :deep(.ant-input){-webkit-box-flex:1;-ms-flex:1;flex:1;border-radius:20px;padding:8px 16px;background-color:#fff}.mode-toggle-button[data-v-2ed0c342]{width:36px;height:36px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.mode-toggle-button[data-v-2ed0c342] :deep(.anticon){font-size:16px}.send-button[data-v-2ed0c342]{width:36px;height:36px;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0}.send-button[data-v-2ed0c342],.send-button[data-v-2ed0c342] :deep(.anticon){-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.send-button[data-v-2ed0c342] :deep(.anticon){display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.record-button[data-v-2ed0c342]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:48px;border-radius:24px;-webkit-transition:all .3s;transition:all .3s}.record-button.recording[data-v-2ed0c342]{background-color:#ff4d4f;border-color:#ff4d4f;-webkit-animation:pulse-data-v-2ed0c342 1.5s infinite;animation:pulse-data-v-2ed0c342 1.5s infinite}@-webkit-keyframes pulse-data-v-2ed0c342{0%{-webkit-box-shadow:0 0 0 0 rgba(255,77,79,.4);box-shadow:0 0 0 0 rgba(255,77,79,.4)}70%{-webkit-box-shadow:0 0 0 10px rgba(255,77,79,0);box-shadow:0 0 0 10px rgba(255,77,79,0)}to{-webkit-box-shadow:0 0 0 0 rgba(255,77,79,0);box-shadow:0 0 0 0 rgba(255,77,79,0)}}@keyframes pulse-data-v-2ed0c342{0%{-webkit-box-shadow:0 0 0 0 rgba(255,77,79,.4);box-shadow:0 0 0 0 rgba(255,77,79,.4)}70%{-webkit-box-shadow:0 0 0 10px rgba(255,77,79,0);box-shadow:0 0 0 10px rgba(255,77,79,0)}to{-webkit-box-shadow:0 0 0 0 rgba(255,77,79,0);box-shadow:0 0 0 0 rgba(255,77,79,0)}}.login-container[data-v-697e3e13]{min-height:100vh;background-color:#f5f7fa;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.login-wrapper[data-v-697e3e13]{display:-webkit-box;display:-ms-flexbox;display:flex;background:#fff;width:1000px;max-width:100%;height:600px;border-radius:12px;-webkit-box-shadow:0 10px 40px rgba(0,0,0,.08);box-shadow:0 10px 40px rgba(0,0,0,.08);overflow:hidden}@media(max-width:768px){.login-wrapper[data-v-697e3e13]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto;width:100%;max-width:420px}}.login-visual[data-v-697e3e13]{-webkit-box-flex:1;-ms-flex:1;flex:1;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:40px;position:relative;overflow:hidden}@media(max-width:768px){.login-visual[data-v-697e3e13]{display:none}}.login-visual .visual-content[data-v-697e3e13]{position:relative;z-index:2;text-align:center}.login-visual .brand-logo[data-v-697e3e13]{font-size:64px;margin-bottom:20px;color:#fff;-webkit-filter:drop-shadow(0 4px 10px rgba(0,0,0,.2));filter:drop-shadow(0 4px 10px rgba(0,0,0,.2))}.login-visual .brand-title[data-v-697e3e13]{font-size:32px;font-weight:700;margin-bottom:12px;color:#fff;letter-spacing:.5px}.login-visual .brand-slogan[data-v-697e3e13]{font-size:16px;opacity:.8;font-weight:300}.login-visual .visual-decoration[data-v-697e3e13]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.login-visual .visual-decoration .circle[data-v-697e3e13]{position:absolute;border-radius:50%;background:hsla(0,0%,100%,.05)}.login-visual .visual-decoration .circle-1[data-v-697e3e13]{width:300px;height:300px;top:-50px;right:-50px}.login-visual .visual-decoration .circle-2[data-v-697e3e13]{width:500px;height:500px;bottom:-150px;left:-100px}.login-form-side[data-v-697e3e13]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:60px;background:#fff}@media(max-width:768px){.login-form-side[data-v-697e3e13]{padding:40px 20px}}.form-content[data-v-697e3e13]{width:100%;max-width:340px}.form-header[data-v-697e3e13]{margin-bottom:32px}.form-header h3[data-v-697e3e13]{font-size:24px;font-weight:600;color:#2c3e50;margin-bottom:8px}.form-header p[data-v-697e3e13]{color:#7f8c8d;font-size:14px}.modern-input ::v-deep .ant-input[data-v-697e3e13]{height:48px;background:#f8f9fa;border:1px solid transparent;border-radius:8px;padding-left:45px;-webkit-transition:all .3s ease;transition:all .3s ease;color:#2c3e50}.modern-input ::v-deep .ant-input[data-v-697e3e13]:hover{background:#f0f2f5}.modern-input ::v-deep .ant-input[data-v-697e3e13]:focus{background:#fff;border-color:#2c3e50;-webkit-box-shadow:0 0 0 2px rgba(44,62,80,.1);box-shadow:0 0 0 2px rgba(44,62,80,.1)}.modern-input ::v-deep .ant-input-prefix[data-v-697e3e13]{left:15px;color:#a0a0a0}.modern-input ::v-deep .ant-input:focus+.ant-input-prefix[data-v-697e3e13]{color:#2c3e50}.auth-form ::v-deep .ant-form-item[data-v-697e3e13]{margin-bottom:24px!important}.form-options[data-v-697e3e13]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:24px}.form-options .remember-checkbox[data-v-697e3e13]{color:#7f8c8d;font-size:13px}.form-options .forgot-link[data-v-697e3e13]{color:#7f8c8d;font-size:13px;font-weight:500;-webkit-transition:color .2s;transition:color .2s}.form-options .forgot-link[data-v-697e3e13]:hover{color:#2c3e50;text-decoration:underline}.submit-btn[data-v-697e3e13]{height:48px;border-radius:8px;font-size:16px;font-weight:600;background-color:#2c3e50;border-color:#2c3e50;-webkit-box-shadow:0 4px 12px rgba(44,62,80,.2);box-shadow:0 4px 12px rgba(44,62,80,.2);-webkit-transition:all .3s ease;transition:all .3s ease}.submit-btn[data-v-697e3e13]:hover{background-color:#354b60;border-color:#354b60;-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 6px 15px rgba(44,62,80,.25);box-shadow:0 6px 15px rgba(44,62,80,.25)}.submit-btn[data-v-697e3e13]:active{-webkit-transform:translateY(0);transform:translateY(0)}.register-section[data-v-697e3e13]{margin-top:24px;text-align:center;font-size:14px;color:#7f8c8d}.register-section .register-link[data-v-697e3e13]{color:#2c3e50;font-weight:600;margin-left:4px}.register-section .register-link[data-v-697e3e13]:hover{text-decoration:underline}.copyright[data-v-697e3e13]{margin-top:40px;text-align:center;font-size:12px;color:#ccc}.modern-modal ::v-deep .ant-modal-content[data-v-697e3e13]{border-radius:12px;overflow:hidden}.modern-modal ::v-deep .ant-modal-header[data-v-697e3e13]{border-bottom:none;padding:24px 24px 0}.modern-modal ::v-deep .ant-modal-body[data-v-697e3e13]{padding:24px}.modern-modal ::v-deep .ant-modal-footer[data-v-697e3e13]{border-top:none;padding:0 24px 24px}.phone-bind-desc[data-v-697e3e13]{color:#7f8c8d;margin-bottom:20px;font-size:14px;line-height:1.5}.login-container[data-v-b0ae8fd8]{min-height:100vh;background-color:#f5f7fa;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.login-wrapper[data-v-b0ae8fd8]{display:-webkit-box;display:-ms-flexbox;display:flex;background:#fff;width:1000px;max-width:100%;height:600px;border-radius:12px;-webkit-box-shadow:0 10px 40px rgba(0,0,0,.08);box-shadow:0 10px 40px rgba(0,0,0,.08);overflow:hidden}@media(max-width:768px){.login-wrapper[data-v-b0ae8fd8]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto;width:100%;max-width:420px}}.login-visual[data-v-b0ae8fd8]{-webkit-box-flex:1;-ms-flex:1;flex:1;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:40px;position:relative;overflow:hidden}@media(max-width:768px){.login-visual[data-v-b0ae8fd8]{display:none}}.login-visual .visual-content[data-v-b0ae8fd8]{position:relative;z-index:2;text-align:center}.login-visual .brand-logo[data-v-b0ae8fd8]{font-size:64px;margin-bottom:20px;color:#fff;-webkit-filter:drop-shadow(0 4px 10px rgba(0,0,0,.2));filter:drop-shadow(0 4px 10px rgba(0,0,0,.2))}.login-visual .brand-title[data-v-b0ae8fd8]{font-size:32px;font-weight:700;margin-bottom:12px;color:#fff;letter-spacing:.5px}.login-visual .brand-slogan[data-v-b0ae8fd8]{font-size:16px;opacity:.8;font-weight:300}.login-visual .visual-decoration[data-v-b0ae8fd8]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.login-visual .visual-decoration .circle[data-v-b0ae8fd8]{position:absolute;border-radius:50%;background:hsla(0,0%,100%,.05)}.login-visual .visual-decoration .circle-1[data-v-b0ae8fd8]{width:300px;height:300px;top:-50px;right:-50px}.login-visual .visual-decoration .circle-2[data-v-b0ae8fd8]{width:500px;height:500px;bottom:-150px;left:-100px}.login-form-side[data-v-b0ae8fd8]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:60px;background:#fff}@media(max-width:768px){.login-form-side[data-v-b0ae8fd8]{padding:40px 20px}}.form-content[data-v-b0ae8fd8]{width:100%;max-width:340px}.form-header[data-v-b0ae8fd8]{margin-bottom:32px}.form-header h3[data-v-b0ae8fd8]{font-size:24px;font-weight:600;color:#2c3e50;margin-bottom:8px}.form-header p[data-v-b0ae8fd8]{color:#7f8c8d;font-size:14px}.modern-input ::v-deep .ant-input[data-v-b0ae8fd8]{height:48px;background:#f8f9fa;border:1px solid transparent;border-radius:8px;padding-left:45px;-webkit-transition:all .3s ease;transition:all .3s ease;color:#2c3e50}.modern-input ::v-deep .ant-input[data-v-b0ae8fd8]:hover{background:#f0f2f5}.modern-input ::v-deep .ant-input[data-v-b0ae8fd8]:focus{background:#fff;border-color:#2c3e50;-webkit-box-shadow:0 0 0 2px rgba(44,62,80,.1);box-shadow:0 0 0 2px rgba(44,62,80,.1)}.modern-input ::v-deep .ant-input-prefix[data-v-b0ae8fd8]{left:15px;color:#a0a0a0}.modern-input ::v-deep .ant-input:focus+.ant-input-prefix[data-v-b0ae8fd8]{color:#2c3e50}.auth-form ::v-deep .ant-form-item[data-v-b0ae8fd8]{margin-bottom:24px!important}.submit-btn[data-v-b0ae8fd8]{height:48px;border-radius:8px;font-size:16px;font-weight:600;background-color:#2c3e50;border-color:#2c3e50;-webkit-box-shadow:0 4px 12px rgba(44,62,80,.2);box-shadow:0 4px 12px rgba(44,62,80,.2);-webkit-transition:all .3s ease;transition:all .3s ease}.submit-btn[data-v-b0ae8fd8]:hover{background-color:#354b60;border-color:#354b60;-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 6px 15px rgba(44,62,80,.25);box-shadow:0 6px 15px rgba(44,62,80,.25)}.submit-btn[data-v-b0ae8fd8]:active{-webkit-transform:translateY(0);transform:translateY(0)}.register-section[data-v-b0ae8fd8]{margin-top:24px;text-align:center;font-size:14px;color:#7f8c8d}.register-section .register-link[data-v-b0ae8fd8]{color:#2c3e50;font-weight:600;margin-left:4px}.register-section .register-link[data-v-b0ae8fd8]:hover{text-decoration:underline}.copyright[data-v-b0ae8fd8]{margin-top:40px;text-align:center;font-size:12px;color:#ccc}.login-container[data-v-635afb3e]{min-height:100vh;background-color:#f5f7fa;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.login-wrapper[data-v-635afb3e]{display:-webkit-box;display:-ms-flexbox;display:flex;background:#fff;width:1000px;max-width:100%;height:600px;border-radius:12px;-webkit-box-shadow:0 10px 40px rgba(0,0,0,.08);box-shadow:0 10px 40px rgba(0,0,0,.08);overflow:hidden}@media(max-width:768px){.login-wrapper[data-v-635afb3e]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto;width:100%;max-width:420px}}.login-visual[data-v-635afb3e]{-webkit-box-flex:1;-ms-flex:1;flex:1;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:40px;position:relative;overflow:hidden}@media(max-width:768px){.login-visual[data-v-635afb3e]{display:none}}.login-visual .visual-content[data-v-635afb3e]{position:relative;z-index:2;text-align:center}.login-visual .brand-logo[data-v-635afb3e]{font-size:64px;margin-bottom:20px;color:#fff;-webkit-filter:drop-shadow(0 4px 10px rgba(0,0,0,.2));filter:drop-shadow(0 4px 10px rgba(0,0,0,.2))}.login-visual .brand-title[data-v-635afb3e]{font-size:32px;font-weight:700;margin-bottom:12px;color:#fff;letter-spacing:.5px}.login-visual .brand-slogan[data-v-635afb3e]{font-size:16px;opacity:.8;font-weight:300}.login-visual .visual-decoration[data-v-635afb3e]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.login-visual .visual-decoration .circle[data-v-635afb3e]{position:absolute;border-radius:50%;background:hsla(0,0%,100%,.05)}.login-visual .visual-decoration .circle-1[data-v-635afb3e]{width:300px;height:300px;top:-50px;right:-50px}.login-visual .visual-decoration .circle-2[data-v-635afb3e]{width:500px;height:500px;bottom:-150px;left:-100px}.login-form-side[data-v-635afb3e]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:60px;background:#fff}@media(max-width:768px){.login-form-side[data-v-635afb3e]{padding:40px 20px}}.form-content[data-v-635afb3e]{width:100%;max-width:340px}.form-header[data-v-635afb3e]{margin-bottom:32px}.form-header h3[data-v-635afb3e]{font-size:24px;font-weight:600;color:#2c3e50;margin-bottom:8px}.form-header p[data-v-635afb3e]{color:#7f8c8d;font-size:14px}.modern-input ::v-deep .ant-input[data-v-635afb3e]{height:48px;background:#f8f9fa;border:1px solid transparent;border-radius:8px;padding-left:45px;-webkit-transition:all .3s ease;transition:all .3s ease;color:#2c3e50}.modern-input ::v-deep .ant-input[data-v-635afb3e]:hover{background:#f0f2f5}.modern-input ::v-deep .ant-input[data-v-635afb3e]:focus{background:#fff;border-color:#2c3e50;-webkit-box-shadow:0 0 0 2px rgba(44,62,80,.1);box-shadow:0 0 0 2px rgba(44,62,80,.1)}.modern-input ::v-deep .ant-input-prefix[data-v-635afb3e]{left:15px;color:#a0a0a0}.modern-input ::v-deep .ant-input:focus+.ant-input-prefix[data-v-635afb3e]{color:#2c3e50}.auth-form ::v-deep .ant-form-item[data-v-635afb3e]{margin-bottom:24px!important}.submit-btn[data-v-635afb3e]{height:48px;border-radius:8px;font-size:16px;font-weight:600;background-color:#2c3e50;border-color:#2c3e50;-webkit-box-shadow:0 4px 12px rgba(44,62,80,.2);box-shadow:0 4px 12px rgba(44,62,80,.2);-webkit-transition:all .3s ease;transition:all .3s ease}.submit-btn[data-v-635afb3e]:hover{background-color:#354b60;border-color:#354b60;-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 6px 15px rgba(44,62,80,.25);box-shadow:0 6px 15px rgba(44,62,80,.25)}.submit-btn[data-v-635afb3e]:active{-webkit-transform:translateY(0);transform:translateY(0)}.register-section[data-v-635afb3e]{margin-top:24px;text-align:center;font-size:14px;color:#7f8c8d}.register-section .register-link[data-v-635afb3e]{color:#2c3e50;font-weight:600;margin-left:4px}.register-section .register-link[data-v-635afb3e]:hover{text-decoration:underline}.copyright[data-v-635afb3e]{margin-top:40px;text-align:center;font-size:12px;color:#ccc}.exception-page[data-v-02d04aaf]{min-height:100vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);position:relative;overflow:hidden;padding:20px}.exception-content[data-v-02d04aaf]{text-align:center;position:relative;z-index:1;max-width:480px;width:100%}.exception-icon[data-v-02d04aaf]{margin-bottom:24px}.exception-icon .icon-circle[data-v-02d04aaf]{width:120px;height:120px;margin:0 auto;background:linear-gradient(135deg,#00d4ff,#7c3aed);border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-shadow:0 12px 40px rgba(0,212,255,.35);box-shadow:0 12px 40px rgba(0,212,255,.35);-webkit-animation:float-data-v-02d04aaf 3s ease-in-out infinite;animation:float-data-v-02d04aaf 3s ease-in-out infinite}.exception-icon .icon-circle .anticon[data-v-02d04aaf]{font-size:56px;color:#fff}.exception-code[data-v-02d04aaf]{font-size:96px;font-weight:700;color:#2c3e50;margin:0;line-height:1;letter-spacing:-4px;background:linear-gradient(135deg,#2c3e50,#7f8c8d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.exception-title[data-v-02d04aaf]{font-size:28px;font-weight:600;color:#2c3e50;margin:16px 0 8px}.exception-desc[data-v-02d04aaf]{font-size:16px;color:#7f8c8d;margin-bottom:32px}.exception-actions[data-v-02d04aaf]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.exception-actions ::v-deep .ant-btn[data-v-02d04aaf]{border-radius:12px;height:48px;padding:0 28px;font-size:15px;font-weight:500;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;-webkit-transition:all .3s;transition:all .3s}.exception-actions ::v-deep .ant-btn.ant-btn-primary[data-v-02d04aaf]{background:linear-gradient(135deg,#00d4ff,#7c3aed);border:none;-webkit-box-shadow:0 4px 16px rgba(0,212,255,.3);box-shadow:0 4px 16px rgba(0,212,255,.3)}.exception-actions ::v-deep .ant-btn.ant-btn-primary[data-v-02d04aaf]:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 24px rgba(0,212,255,.4);box-shadow:0 6px 24px rgba(0,212,255,.4)}.exception-actions ::v-deep .ant-btn[data-v-02d04aaf]:not(.ant-btn-primary){border-color:#d9d9d9;color:#7f8c8d}.exception-actions ::v-deep .ant-btn[data-v-02d04aaf]:not(.ant-btn-primary):hover{border-color:#00d4ff;color:#00d4ff}.exception-decoration[data-v-02d04aaf]{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.exception-decoration .decoration-circle[data-v-02d04aaf]{position:absolute;border-radius:50%;opacity:.08}.exception-decoration .circle-1[data-v-02d04aaf]{width:400px;height:400px;background:#00d4ff;top:-150px;right:-100px}.exception-decoration .circle-2[data-v-02d04aaf]{width:300px;height:300px;background:#7c3aed;bottom:-100px;left:-80px}.exception-decoration .circle-3[data-v-02d04aaf]{width:200px;height:200px;background:#1890ff;top:50%;left:10%}@-webkit-keyframes float-data-v-02d04aaf{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@keyframes float-data-v-02d04aaf{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@media(max-width:480px){.exception-icon .icon-circle[data-v-02d04aaf]{width:100px;height:100px}.exception-icon .icon-circle .anticon[data-v-02d04aaf]{font-size:44px}.exception-code[data-v-02d04aaf]{font-size:72px}.exception-title[data-v-02d04aaf]{font-size:24px}.exception-desc[data-v-02d04aaf]{font-size:14px}.exception-actions[data-v-02d04aaf]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.exception-actions ::v-deep .ant-btn[data-v-02d04aaf]{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.exception-page[data-v-60ecee3c]{min-height:100vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);position:relative;overflow:hidden;padding:20px}.exception-content[data-v-60ecee3c]{text-align:center;position:relative;z-index:1;max-width:480px;width:100%}.exception-icon[data-v-60ecee3c]{margin-bottom:24px}.exception-icon .icon-circle[data-v-60ecee3c]{width:120px;height:120px;margin:0 auto;background:linear-gradient(135deg,#faad14,#ff9500);border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-shadow:0 12px 40px rgba(250,173,20,.35);box-shadow:0 12px 40px rgba(250,173,20,.35);-webkit-animation:float-data-v-60ecee3c 3s ease-in-out infinite;animation:float-data-v-60ecee3c 3s ease-in-out infinite}.exception-icon .icon-circle .anticon[data-v-60ecee3c]{font-size:56px;color:#fff}.exception-code[data-v-60ecee3c]{font-size:96px;font-weight:700;color:#2c3e50;margin:0;line-height:1;letter-spacing:-4px;background:linear-gradient(135deg,#2c3e50,#7f8c8d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.exception-title[data-v-60ecee3c]{font-size:28px;font-weight:600;color:#2c3e50;margin:16px 0 8px}.exception-desc[data-v-60ecee3c]{font-size:16px;color:#7f8c8d;margin-bottom:32px}.exception-actions[data-v-60ecee3c]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.exception-actions ::v-deep .ant-btn[data-v-60ecee3c]{border-radius:12px;height:48px;padding:0 28px;font-size:15px;font-weight:500;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;-webkit-transition:all .3s;transition:all .3s}.exception-actions ::v-deep .ant-btn.ant-btn-primary[data-v-60ecee3c]{background:linear-gradient(135deg,#00d4ff,#7c3aed);border:none;-webkit-box-shadow:0 4px 16px rgba(0,212,255,.3);box-shadow:0 4px 16px rgba(0,212,255,.3)}.exception-actions ::v-deep .ant-btn.ant-btn-primary[data-v-60ecee3c]:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 6px 24px rgba(0,212,255,.4);box-shadow:0 6px 24px rgba(0,212,255,.4)}.exception-actions ::v-deep .ant-btn[data-v-60ecee3c]:not(.ant-btn-primary){border-color:#d9d9d9;color:#7f8c8d}.exception-actions ::v-deep .ant-btn[data-v-60ecee3c]:not(.ant-btn-primary):hover{border-color:#00d4ff;color:#00d4ff}.exception-decoration[data-v-60ecee3c]{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.exception-decoration .decoration-circle[data-v-60ecee3c]{position:absolute;border-radius:50%;opacity:.08}.exception-decoration .circle-1[data-v-60ecee3c]{width:400px;height:400px;background:#00d4ff;top:-150px;right:-100px}.exception-decoration .circle-2[data-v-60ecee3c]{width:300px;height:300px;background:#7c3aed;bottom:-100px;left:-80px}.exception-decoration .circle-3[data-v-60ecee3c]{width:200px;height:200px;background:#faad14;top:50%;left:10%}@-webkit-keyframes float-data-v-60ecee3c{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@keyframes float-data-v-60ecee3c{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@media(max-width:480px){.exception-icon .icon-circle[data-v-60ecee3c]{width:100px;height:100px}.exception-icon .icon-circle .anticon[data-v-60ecee3c]{font-size:44px}.exception-code[data-v-60ecee3c]{font-size:72px}.exception-title[data-v-60ecee3c]{font-size:24px}.exception-desc[data-v-60ecee3c]{font-size:14px}.exception-actions[data-v-60ecee3c]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.exception-actions ::v-deep .ant-btn[data-v-60ecee3c]{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}#app,body,html{height:100%}html{font-size:16px}body{font-size:14px;line-height:1.5;background-color:#f5f7fa;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:root{--primary-color:#2c3e50;--primary-light:#34495e;--accent:#00d4ff;--accent-alt:#7c3aed;--accent-green:#00b96b;--bg-page:#f5f7fa;--bg-card:#fff;--bg-secondary:#f0f2f5;--bg-hover:#f8f9fa;--text-primary:#2c3e50;--text-secondary:#7f8c8d;--text-muted:#a0a0a0;--border-color:#e8e8e8;--border-light:#f0f0f0;--success:#52c41a;--warning:#faad14;--error:#ff4d4f;--info:#1890ff;--shadow-sm:0 2px 8px rgba(0,0,0,0.06);--shadow-md:0 4px 16px rgba(0,0,0,0.08);--shadow-lg:0 10px 40px rgba(0,0,0,0.08);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--transition-fast:0.2s ease;--transition-base:0.3s ease}.layout-content-margin{margin:20px 20px 0}.breadcrumb-header{padding:10px 24px;height:auto;background:#fff;border-bottom:1px solid #f0f0f0}.table-search{background:var(--bg-card);margin-bottom:16px;padding:16px;border-radius:var(--radius-lg);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm)}.filter-flex{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px}.ant-form-item{margin:0}.auth-form .ant-form-item{margin-bottom:24px!important}.ant-card{border-radius:var(--radius-lg);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm)}.ant-card-head{border-bottom-color:var(--border-light)}.ant-table{border-radius:var(--radius-md);overflow:hidden}.ant-table-thead>tr>th{background:var(--bg-secondary);font-weight:600;color:var(--text-primary)}.ant-table-tbody>tr:hover>td{background:rgba(0,212,255,.02)}.ant-btn{border-radius:var(--radius-md);-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.ant-btn-primary{background-color:var(--primary-color);border-color:var(--primary-color)}.ant-btn-primary:focus,.ant-btn-primary:hover{background-color:var(--primary-light);border-color:var(--primary-light)}.status-badge{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.online{background:rgba(82,196,26,.1);color:#52c41a}.status-badge.offline{background:rgba(0,0,0,.04);color:#999}.status-dot{width:6px;height:6px;border-radius:50%;-ms-flex-negative:0;flex-shrink:0}.status-badge.online .status-dot{background:#52c41a;-webkit-box-shadow:0 0 8px rgba(82,196,26,.6);box-shadow:0 0 8px rgba(82,196,26,.6);-webkit-animation:pulse 2s infinite;animation:pulse 2s infinite}.status-badge.offline .status-dot{background:#999}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.grid-block{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:10px 20px;border-radius:10px;background-color:#f4f5f5}.input-200{width:200px!important}.code-question{text-align:center;font-size:24px;color:unset}.touch-feedback{-webkit-transition:opacity .1s ease,-webkit-transform .1s ease;transition:opacity .1s ease,-webkit-transform .1s ease;transition:transform .1s ease,opacity .1s ease;transition:transform .1s ease,opacity .1s ease,-webkit-transform .1s ease}.touch-feedback:active{-webkit-transform:scale(.97);transform:scale(.97);opacity:.8}.clickable{cursor:pointer;-webkit-transition:opacity var(--transition-fast);transition:opacity var(--transition-fast)}.clickable:hover{opacity:.85}.clickable:active{opacity:.7}@media (max-width:1024px){.layout-content-margin{margin:16px 16px 0}}@media (max-width:768px){html{font-size:15px}body{font-size:13px}.layout-content-margin{margin:12px 12px 0}.breadcrumb-header{padding:8px 12px}.table-search{padding:12px;margin-bottom:12px}.table-search .ant-form-item,.table-search .ant-input,.table-search .ant-input-search,.table-search .ant-select{width:100%}.filter-flex{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.grid-block{width:100%}.ant-btn{min-height:44px}.ant-list-item{padding:12px 16px}.ant-card-body{padding:16px}*{-webkit-tap-highlight-color:transparent}.ant-btn,.ant-menu,.ant-tabs-nav{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}}@media (max-width:480px){html{font-size:14px}.layout-content-margin{margin:8px 8px 0}.table-search{padding:10px}.breadcrumb-header{padding:8px}.code-question{font-size:20px}}.mobile-modal .ant-modal{top:0;padding-bottom:0;margin:0}.mobile-modal .ant-modal-content{border-radius:0;min-height:100vh}@media (max-width:768px){.mobile-modal .ant-modal{width:100%!important;max-width:100%}}@media (max-width:768px){.avatar-modal-wrapper .ant-modal{top:0;padding:0;margin:0;max-width:100%}.avatar-modal-wrapper .ant-modal-content{border-radius:0;min-height:100vh}.avatar-modal-wrapper .ant-modal-header{padding:12px 16px}.avatar-modal-wrapper .ant-modal-title{font-size:16px}.avatar-modal-wrapper .ant-modal-close-x{width:48px;height:48px;line-height:48px}}.ant-dropdown-menu{padding:8px 0;border-radius:var(--radius-md);-webkit-box-shadow:0 4px 16px rgba(0,0,0,.12);box-shadow:0 4px 16px rgba(0,0,0,.12)}.ant-dropdown-menu-item{padding:10px 16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;color:var(--text-secondary);-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.ant-dropdown-menu-item .anticon{font-size:16px}.ant-dropdown-menu-item:hover{background:rgba(0,212,255,.08);color:var(--accent)}.ant-dropdown-menu-item:last-child:hover{background:rgba(255,77,79,.08);color:var(--error)}.ant-tabs-tab{padding:12px 16px;-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.ant-tabs-tab:hover{color:var(--primary-color)}.ant-tabs-tab-active{font-weight:600}.ant-tabs-ink-bar{background-color:var(--primary-color)}.ant-message-notice-content{border-radius:var(--radius-md);-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md)}.ant-tag{border-radius:var(--radius-sm)}.ant-tooltip-inner{border-radius:var(--radius-md)}@media (prefers-reduced-motion:reduce){*,:after,:before{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;-webkit-transition-duration:.01ms!important;transition-duration:.01ms!important}}