.device-location-map .location-coord[data-v-6f04694c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:14px;color:#1e293b;margin-bottom:12px}.device-location-map .location-coord svg[data-v-6f04694c]{-ms-flex-negative:0;flex-shrink:0}.device-location-map .location-coord .empty-tip[data-v-6f04694c]{color:#94a3b8}.device-location-map .map-container[data-v-6f04694c]{width:100%;height:420px;border-radius:8px;overflow:hidden;border:1px solid #e8ecf1;background:#f1f5f9;position:relative}.device-location-map .map-container .map-placeholder[data-v-6f04694c]{width:100%;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;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#94a3b8;gap:8px}.device-location-map .map-container .map-placeholder p[data-v-6f04694c]{margin:0;font-size:14px}.device-track-map .track-control[data-v-4403ae9a]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:16px}.device-track-map .track-control .track-control-left[data-v-4403ae9a],.device-track-map .track-control[data-v-4403ae9a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.device-track-map .track-control .track-control-left .date-item[data-v-4403ae9a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.device-track-map .track-control .track-control-left .date-item .date-label[data-v-4403ae9a]{font-size:13px;color:#64748b;white-space:nowrap}.device-track-map .track-control .track-control-left .date-item .date-picker[data-v-4403ae9a]{width:150px}.device-track-map .track-control .track-control-left .date-item .date-picker[data-v-4403ae9a] .el-input__inner{height:34px;border-radius:6px;border-color:#d1d5db;font-size:13px}.device-track-map .track-control .track-control-left .date-item .date-picker[data-v-4403ae9a] .el-input__inner:focus{border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.device-track-map .track-control .track-control-left .el-button[data-v-4403ae9a]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;border-radius:6px;height:34px;padding:0 16px;font-size:13px;background:#2563eb;border-color:#2563eb;color:#fff}.device-track-map .track-control .track-control-left .el-button[data-v-4403ae9a]:hover{background:#1d4ed8;border-color:#1d4ed8}.device-track-map .track-control .track-control-right .point-count[data-v-4403ae9a]{font-size:13px;color:#1e293b;font-weight:500}.device-track-map .track-map-container[data-v-4403ae9a]{width:100%;height:400px;border-radius:8px;overflow:hidden;border:1px solid #e8ecf1;background:#f1f5f9;position:relative}.device-track-map .track-map-container .map-placeholder[data-v-4403ae9a]{width:100%;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;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#94a3b8;gap:8px}.device-track-map .track-map-container .map-placeholder p[data-v-4403ae9a]{margin:0;font-size:14px}.device-track-map .track-detail[data-v-4403ae9a]{margin-top:16px}.device-track-map .track-detail .track-detail-header[data-v-4403ae9a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:10px}.device-track-map .track-detail .track-detail-header .track-detail-title[data-v-4403ae9a]{font-size:13px;font-weight:500;color:#64748b}.device-track-map .track-detail .track-points-grid[data-v-4403ae9a]{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.device-track-map .track-detail .track-points-grid .track-point-item[data-v-4403ae9a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:6px 10px;background:#f8fafc;border-radius:6px;font-size:12px;color:#1e293b;min-width:0;overflow:hidden}.device-track-map .track-detail .track-points-grid .track-point-item .point-dot[data-v-4403ae9a]{-ms-flex-negative:0;flex-shrink:0;width:8px;height:8px;border-radius:50%}.device-track-map .track-detail .track-points-grid .track-point-item .point-dot.dot-normal[data-v-4403ae9a]{background:#3b82f6}.device-track-map .track-detail .track-points-grid .track-point-item .point-dot.dot-last[data-v-4403ae9a]{background:#ef4444}.device-track-map .track-detail .track-points-grid .track-point-item .point-time[data-v-4403ae9a]{-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px;color:#64748b;font-size:11px}.device-track-map .track-detail .track-points-grid .track-point-item .point-time .clock-icon[data-v-4403ae9a]{stroke:#94a3b8}.device-track-map .track-detail .track-points-grid .track-point-item .point-coord[data-v-4403ae9a]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#1e293b}.device-track-map .track-detail .track-points-grid .track-point-item.is-last[data-v-4403ae9a]{background:#fef2f2}.device-track-map .track-detail .track-points-grid .track-point-item.is-last .point-dot[data-v-4403ae9a]{background:#ef4444}.device-track-map .track-detail .track-pagination[data-v-4403ae9a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-top:12px}.device-track-map .track-detail .track-pagination[data-v-4403ae9a] .el-pagination .btn-next,.device-track-map .track-detail .track-pagination[data-v-4403ae9a] .el-pagination .btn-prev{min-width:28px;height:28px;line-height:28px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;font-size:12px}.device-track-map .track-detail .track-pagination[data-v-4403ae9a] .el-pagination .btn-next:hover:not(:disabled),.device-track-map .track-detail .track-pagination[data-v-4403ae9a] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1}.device-track-map .track-detail .track-pagination[data-v-4403ae9a] .el-pagination .btn-next:disabled,.device-track-map .track-detail .track-pagination[data-v-4403ae9a] .el-pagination .btn-prev:disabled{opacity:.4}.device-track-map .track-detail .track-pagination[data-v-4403ae9a] .el-pagination .el-pager li{min-width:28px;height:28px;line-height:28px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;font-size:12px}.device-track-map .track-detail .track-pagination[data-v-4403ae9a] .el-pagination .el-pager li:hover{background:#e8ecf1}.device-track-map .track-detail .track-pagination[data-v-4403ae9a] .el-pagination .el-pager li.active{background:#2563eb;border-color:#2563eb;color:#fff}@media(max-width:1024px){.device-track-map .track-detail .track-points-grid[data-v-4403ae9a]{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.device-track-map .track-detail .track-points-grid[data-v-4403ae9a]{grid-template-columns:repeat(3,1fr)}.device-track-map .track-control .track-control-left[data-v-4403ae9a]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.device-track-map .track-control .track-control-left .date-item[data-v-4403ae9a]{-ms-flex-wrap:wrap;flex-wrap:wrap}.device-track-map .track-control .track-control-left .date-item .date-picker[data-v-4403ae9a]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:120px}}@media(max-width:480px){.device-track-map .track-detail .track-points-grid[data-v-4403ae9a]{grid-template-columns:repeat(2,1fr)}}.resize-col[data-v-b23a03fc]{float:left;position:relative}.resize-col .resize-col-content[data-v-b23a03fc]{overflow:auto}.resize-col .resize-col-bar[data-v-b23a03fc]{height:100%;position:absolute;z-index:99;right:0;top:0}.resize-col .resize-col-area[data-v-b23a03fc]{position:absolute;right:0;top:0;height:100%}.resize-col .resize-col-line[data-v-b23a03fc]{position:absolute;right:0;top:0;width:0;height:100%;border-left:1px solid transparent;cursor:col-resize;z-index:9999}.resize-layout[data-v-5f2766a3]{overflow:auto;height:100%}.clearfix[data-v-5f2766a3]:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.resize-row[data-v-49765c7a]{position:relative}.resize-row .resize-row-content[data-v-49765c7a]{overflow:auto}.resize-row .resize-row-bar[data-v-49765c7a]{position:absolute;width:100%;z-index:99;left:0;bottom:0}.resize-row .resize-row-area[data-v-49765c7a]{position:absolute;left:0;bottom:0;width:100%;height:20px;background:#eee}.resize-row .separator-icon[data-v-49765c7a]{display:inline-block;border-top:1px solid #666;border-bottom:1px solid #666;width:32px;height:2px;position:absolute;left:50%;top:1px;margin-left:-16px;-webkit-box-sizing:content-box;box-sizing:content-box}.resize-row .resize-row-line[data-v-49765c7a]{position:absolute;left:0;bottom:0;width:100%;height:100%;border-top:2px solid transparent;border-bottom:2px solid transparent;cursor:n-resize;z-index:9999}.container[data-v-0346805b]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding:0;margin:0}.container .upload_box[data-v-0346805b]{position:relative;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;height:148px;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0 6px 6px 0;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box}.container .upload_box i[data-v-0346805b]{font-size:20px}.container .upload_box .img[data-v-0346805b]{width:100%;height:100%;display:block}.container .upload_box .mask[data-v-0346805b]{position:absolute;top:0;left:0;display:none;height:148px;text-align:center;line-height:148px;background:rgba(0,0,0,.6)}.container .upload_box .mask i[data-v-0346805b]{color:#fff;font-size:20px;padding:5px}.container .upload_box:hover .mask[data-v-0346805b]{display:block}.game_box[data-v-6acc2572]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%;margin-bottom:10px}.game_box .game_btn[data-v-6acc2572],.game_box[data-v-6acc2572]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.game_box .game_btn[data-v-6acc2572]{position:relative;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:40px;height:34px;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-left:10px;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fbfdff;border:1px dashed #c0ccda}.game_box .game_btn i[data-v-6acc2572]{font-size:20px}.game_box .game_btn[data-v-6acc2572]:hover{color:#1890ff;border-color:#1890ff}video[data-v-19cbfbc2]::-webkit-media-controls{display:none!important}.container[data-v-19cbfbc2]{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box}.container .video[data-v-19cbfbc2]{width:95%;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;margin:0 10px 10px 0;-webkit-box-shadow:0 0 6px 0 #ddd;box-shadow:0 0 6px 0 #ddd}.container .video video[data-v-19cbfbc2]{position:relative;z-index:9;width:260px;height:150px;border-radius:5px}.container .video .box[data-v-19cbfbc2]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;width:450px;padding:0 20px}.container .video .box .del[data-v-19cbfbc2]{position:absolute;right:10px;top:10px;z-index:9999;font-size:22px;cursor:pointer}.image[data-v-377c54fe]{width:100%;height:100%}.img_box[data-v-377c54fe]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.img_box .lu-upload[data-v-377c54fe]{padding:10px 0;text-align:center}.img_box .upload_btn[data-v-377c54fe]{position:relative;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;width:148px;height:148px;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0 6px 6px 0;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fbfdff;border:1px dashed #c0ccda}.img_box .upload_btn i[data-v-377c54fe]{font-size:20px}.img_box .upload_btn[data-v-377c54fe]:hover{color:#1890ff;border-color:#1890ff}.img_box v-deep .image-uploader[data-v-377c54fe]{margin:0}.text-muted[data-v-7578e5bb]{color:#94a3b8}.tab-bar[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-7578e5bb]{padding:8px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.tab-bar .tab-btn[data-v-7578e5bb]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-7578e5bb]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.list-header h2[data-v-7578e5bb]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-7578e5bb]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-7578e5bb]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.search-bar .search-input[data-v-7578e5bb]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-7578e5bb] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-7578e5bb]{min-width:120px}.search-bar .search-select[data-v-7578e5bb] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:12px}.action-bar .el-button[data-v-7578e5bb]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-7578e5bb],.action-bar .el-button .el-icon-right[data-v-7578e5bb],.action-bar .el-button .el-icon-thunderbolt[data-v-7578e5bb],.action-bar .el-button .el-icon-user-plus[data-v-7578e5bb],.action-bar .el-button .el-icon-wifi[data-v-7578e5bb]{margin-right:2px}.general-table[data-v-7578e5bb]{border-radius:8px;overflow:hidden}.general-table[data-v-7578e5bb] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-7578e5bb] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-7578e5bb] .el-table-column--selection .cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.general-table[data-v-7578e5bb] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-7578e5bb]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:14px 20px;background:#fff;border:1px solid #e8ecf1;border-top:none;border-radius:0 0 8px 8px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.general-table .table-footer .footer-left[data-v-7578e5bb],.general-table .table-footer[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.general-table .table-footer .footer-left .selected-info[data-v-7578e5bb]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.general-table .table-footer .footer-right .total-info[data-v-7578e5bb]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .el-pagination__sizes .el-input__inner{height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .btn-prev{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .el-pager li{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px;font-weight:400}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .el-pager li.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .el-pagination__jump .el-input__inner{width:44px;height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;text-align:center;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-7578e5bb]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-7578e5bb]:hover{text-decoration:underline}.status-tag[data-v-7578e5bb]{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:2px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-tag .dot[data-v-7578e5bb]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-7578e5bb]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-7578e5bb]{background:#10b981}.status-tag.offline[data-v-7578e5bb]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-7578e5bb]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-7578e5bb]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:10px}.table-footer .footer-left[data-v-7578e5bb],.table-footer .footer-right[data-v-7578e5bb]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-7578e5bb]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-7578e5bb] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-7578e5bb]{color:#94a3b8}.danger-btn[data-v-7578e5bb]:hover{color:#ef4444}.detail-view[data-v-7578e5bb]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left[data-v-7578e5bb]{gap:12px}.detail-header .detail-header-left .back-btn[data-v-7578e5bb],.detail-header .detail-header-left[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.detail-header .detail-header-left .back-btn[data-v-7578e5bb]{gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-7578e5bb]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-7578e5bb]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-7578e5bb]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-header-left .detail-device-info h3[data-v-7578e5bb]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-7578e5bb]{margin:0}.detail-tabs-wrapper[data-v-7578e5bb]{padding:0 20px 20px}.detail-tabs-nav[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.detail-tabs-nav .detail-tab-btn[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.detail-tabs-nav .detail-tab-btn svg[data-v-7578e5bb]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-7578e5bb]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-7578e5bb]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-7578e5bb]{min-height:200px}.detail-info-grid[data-v-7578e5bb]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.detail-info-grid div .label[data-v-7578e5bb]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-7578e5bb]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-7578e5bb]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:14px}.mqtt-config-section .mqtt-section-title .line[data-v-7578e5bb]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-7578e5bb]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;color:#64748b;background:rgba(241,245,249,.3);border:1px dashed #e2e8f0;border-radius:8px;padding:12px 16px}.mqtt-config-section .mqtt-config-grid[data-v-7578e5bb]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;background:#f8fafc;padding:18px 24px;border-radius:8px;border:1px solid #e8ecf1}.mqtt-config-section .mqtt-config-grid .mqtt-item[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.mqtt-config-section .mqtt-config-grid .mqtt-item .label[data-v-7578e5bb]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-7578e5bb]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .value[data-v-7578e5bb]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-7578e5bb]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-7578e5bb]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-7578e5bb]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-7578e5bb]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-7578e5bb]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-7578e5bb]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-7578e5bb],.track-container .track-placeholder[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.track-container .track-placeholder[data-v-7578e5bb]{height:200px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#94a3b8;font-size:14px}.history-timeline[data-v-7578e5bb]{position:relative;padding-left:24px}.history-timeline[data-v-7578e5bb]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-7578e5bb]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-7578e5bb]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-7578e5bb]{position:absolute;left:-19px;top:6px;width:4px;height:4px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;-webkit-box-shadow:0 0 0 2px #cbd5e1;box-shadow:0 0 0 2px #cbd5e1;z-index:2}.history-timeline .timeline-item .timeline-dot.current[data-v-7578e5bb]{background:#3b82f6;-webkit-box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px #3b82f6}.history-timeline .timeline-item .timeline-content[data-v-7578e5bb]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-7578e5bb]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-7578e5bb]{display:inline-block;font-size:11px;background:#ecfdf5;float:right;color:#007a55;padding:1px 10px;border-radius:5px;border:1px solid #a4f4cf;vertical-align:middle}.history-timeline .timeline-item .timeline-content .timeline-meta[data-v-7578e5bb]{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:12px;color:#64748b}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-item[data-v-7578e5bb]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-7578e5bb]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-7578e5bb]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-7578e5bb] .el-dialog{border-radius:12px;overflow:hidden;max-height:80vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-dialog[data-v-7578e5bb] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-7578e5bb] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-7578e5bb] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-7578e5bb] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-7578e5bb] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-7578e5bb] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-7578e5bb] .el-dialog__footer{padding:12px 24px 20px;border-top:1px solid #f1f3f5;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-7578e5bb] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-7578e5bb] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-7578e5bb] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-7578e5bb] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-7578e5bb] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-7578e5bb]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-7578e5bb]{font-size:13px;font-weight:500;color:#1e293b;padding:0;line-height:1.4}.custom-dialog .el-form .el-form-item .el-form-item__content[data-v-7578e5bb]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-7578e5bb],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-7578e5bb],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-7578e5bb]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-7578e5bb]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-7578e5bb]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-7578e5bb]:focus{border-color:#3b82f6;-webkit-box-shadow:0 0 0 3px rgba(59,130,246,.1);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-7578e5bb]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-7578e5bb]{width:100%}.custom-dialog .upload-dropzone[data-v-7578e5bb]{border:2px dashed #d1d5db;border-radius:8px;padding:12px 12px;text-align:center;-webkit-transition:all .2s;transition:all .2s;cursor:pointer;line-height:30px}.custom-dialog .upload-dropzone[data-v-7578e5bb]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-7578e5bb]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-7578e5bb]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-7578e5bb]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-7578e5bb]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-7578e5bb]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-7578e5bb]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-7578e5bb]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-7578e5bb]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-7578e5bb] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-7578e5bb] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-7578e5bb]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-7578e5bb]{font-weight:600;color:#0f172a}.ota-info-card[data-v-7578e5bb]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-7578e5bb]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-7578e5bb]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-7578e5bb]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-7578e5bb]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:13px;color:#d97706;background:#fef3c7;padding:10px 14px;border-radius:6px;border:1px solid #fcd34d;margin:12px 0 0 0}.ota-warning-box svg[data-v-7578e5bb]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-7578e5bb]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-7578e5bb]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:12px;color:#2563eb;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;margin-top:12px}.assign-tip svg[data-v-7578e5bb]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-7578e5bb] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-7578e5bb] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-7578e5bb] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-7578e5bb] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-7578e5bb] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-7578e5bb] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-7578e5bb] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-7578e5bb] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-7578e5bb] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-7578e5bb] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;font-size:13px;color:#1e40af;margin-bottom:18px}.mqtt-notice-box svg[data-v-7578e5bb]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-7578e5bb]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-7578e5bb]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-7578e5bb]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px;line-height:1.5}.mqtt-form .el-form-item .el-form-item__content[data-v-7578e5bb]{line-height:1}.mqtt-form .el-input__inner[data-v-7578e5bb]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-7578e5bb]:focus{border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.mqtt-form .el-input__inner[data-v-7578e5bb]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-7578e5bb]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-7578e5bb]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-7578e5bb]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-7578e5bb]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-7578e5bb]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-7578e5bb]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-7578e5bb]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-7578e5bb]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-7578e5bb]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-7578e5bb]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-7578e5bb]{font-size:12px;color:#64748b;background:#f1f3f5;padding:10px 14px;border-radius:6px;margin-top:6px;line-height:1.6}.mqtt-form .mqtt-tip-block code[data-v-7578e5bb]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.firmware-manage .list-header[data-v-7578e5bb]{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:4px}.firmware-manage .list-header h2[data-v-7578e5bb]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.firmware-manage .list-header .el-button[data-v-7578e5bb]{border-radius:6px;font-size:13px}.firmware-manage .page-desc[data-v-7578e5bb]{font-size:12px;color:#94a3b8;margin:0 0 20px 0}.firmware-manage .general-table .group-tag[data-v-7578e5bb]{font-size:12px;font-weight:700;padding:3px 5px;border-radius:4px;border:1px solid}.firmware-manage .general-table .version-cell[data-v-7578e5bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px}.firmware-manage .general-table .version-cell .version-name[data-v-7578e5bb]{font-weight:500;color:#1e293b}.firmware-manage .general-table .action-btn[data-v-7578e5bb]{padding:0 4px;font-size:12px}.firmware-manage .general-table .action-btn.active-btn[data-v-7578e5bb]{color:#3b82f6}.firmware-manage .general-table .action-btn.active-btn[data-v-7578e5bb]:hover{color:#2563eb}.firmware-manage .general-table .action-btn.danger-btn[data-v-7578e5bb]{color:#94a3b8}.firmware-manage .general-table .action-btn.danger-btn[data-v-7578e5bb]:hover{color:#ef4444}.firmware-manage .general-table .text-muted[data-v-7578e5bb]{color:#94a3b8;font-size:12px}.text-muted[data-v-378597ba]{color:#94a3b8}.tab-bar[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-378597ba]{padding:8px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.tab-bar .tab-btn[data-v-378597ba]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-378597ba]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.list-header h2[data-v-378597ba]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-378597ba]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-378597ba]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.search-bar .search-input[data-v-378597ba]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-378597ba] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-378597ba]{min-width:120px}.search-bar .search-select[data-v-378597ba] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:12px}.action-bar .el-button[data-v-378597ba]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-378597ba],.action-bar .el-button .el-icon-right[data-v-378597ba],.action-bar .el-button .el-icon-thunderbolt[data-v-378597ba],.action-bar .el-button .el-icon-user-plus[data-v-378597ba],.action-bar .el-button .el-icon-wifi[data-v-378597ba]{margin-right:2px}.general-table[data-v-378597ba]{border-radius:8px;overflow:hidden}.general-table[data-v-378597ba] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-378597ba] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-378597ba] .el-table-column--selection .cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.general-table[data-v-378597ba] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-378597ba]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:14px 20px;background:#fff;border:1px solid #e8ecf1;border-top:none;border-radius:0 0 8px 8px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.general-table .table-footer .footer-left[data-v-378597ba],.general-table .table-footer[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.general-table .table-footer .footer-left .selected-info[data-v-378597ba]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.general-table .table-footer .footer-right .total-info[data-v-378597ba]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .el-pagination__sizes .el-input__inner{height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .btn-prev{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .el-pager li{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px;font-weight:400}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .el-pager li.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .el-pagination__jump .el-input__inner{width:44px;height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;text-align:center;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-378597ba]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-378597ba]:hover{text-decoration:underline}.status-tag[data-v-378597ba]{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:2px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-tag .dot[data-v-378597ba]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-378597ba]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-378597ba]{background:#10b981}.status-tag.offline[data-v-378597ba]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-378597ba]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-378597ba]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:10px}.table-footer .footer-left[data-v-378597ba],.table-footer .footer-right[data-v-378597ba]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-378597ba]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-378597ba] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-378597ba]{color:#94a3b8}.danger-btn[data-v-378597ba]:hover{color:#ef4444}.detail-view[data-v-378597ba]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left[data-v-378597ba]{gap:12px}.detail-header .detail-header-left .back-btn[data-v-378597ba],.detail-header .detail-header-left[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.detail-header .detail-header-left .back-btn[data-v-378597ba]{gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-378597ba]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-378597ba]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-378597ba]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-header-left .detail-device-info h3[data-v-378597ba]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-378597ba]{margin:0}.detail-tabs-wrapper[data-v-378597ba]{padding:0 20px 20px}.detail-tabs-nav[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.detail-tabs-nav .detail-tab-btn[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.detail-tabs-nav .detail-tab-btn svg[data-v-378597ba]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-378597ba]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-378597ba]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-378597ba]{min-height:200px}.detail-info-grid[data-v-378597ba]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.detail-info-grid div .label[data-v-378597ba]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-378597ba]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-378597ba]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:14px}.mqtt-config-section .mqtt-section-title .line[data-v-378597ba]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-378597ba]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;color:#64748b;background:rgba(241,245,249,.3);border:1px dashed #e2e8f0;border-radius:8px;padding:12px 16px}.mqtt-config-section .mqtt-config-grid[data-v-378597ba]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;background:#f8fafc;padding:18px 24px;border-radius:8px;border:1px solid #e8ecf1}.mqtt-config-section .mqtt-config-grid .mqtt-item[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.mqtt-config-section .mqtt-config-grid .mqtt-item .label[data-v-378597ba]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-378597ba]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .value[data-v-378597ba]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-378597ba]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-378597ba]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-378597ba]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-378597ba]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-378597ba]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-378597ba]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-378597ba],.track-container .track-placeholder[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.track-container .track-placeholder[data-v-378597ba]{height:200px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#94a3b8;font-size:14px}.history-timeline[data-v-378597ba]{position:relative;padding-left:24px}.history-timeline[data-v-378597ba]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-378597ba]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-378597ba]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-378597ba]{position:absolute;left:-19px;top:6px;width:4px;height:4px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;-webkit-box-shadow:0 0 0 2px #cbd5e1;box-shadow:0 0 0 2px #cbd5e1;z-index:2}.history-timeline .timeline-item .timeline-dot.current[data-v-378597ba]{background:#3b82f6;-webkit-box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px #3b82f6}.history-timeline .timeline-item .timeline-content[data-v-378597ba]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-378597ba]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-378597ba]{display:inline-block;font-size:11px;background:#ecfdf5;float:right;color:#007a55;padding:1px 10px;border-radius:5px;border:1px solid #a4f4cf;vertical-align:middle}.history-timeline .timeline-item .timeline-content .timeline-meta[data-v-378597ba]{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:12px;color:#64748b}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-item[data-v-378597ba]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-378597ba]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-378597ba]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-378597ba] .el-dialog{border-radius:12px;overflow:hidden;max-height:80vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-dialog[data-v-378597ba] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-378597ba] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-378597ba] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-378597ba] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-378597ba] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-378597ba] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-378597ba] .el-dialog__footer{padding:12px 24px 20px;border-top:1px solid #f1f3f5;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-378597ba] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-378597ba] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-378597ba] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-378597ba] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-378597ba] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-378597ba]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-378597ba]{font-size:13px;font-weight:500;color:#1e293b;padding:0;line-height:1.4}.custom-dialog .el-form .el-form-item .el-form-item__content[data-v-378597ba]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-378597ba],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-378597ba],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-378597ba]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-378597ba]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-378597ba]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-378597ba]:focus{border-color:#3b82f6;-webkit-box-shadow:0 0 0 3px rgba(59,130,246,.1);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-378597ba]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-378597ba]{width:100%}.custom-dialog .upload-dropzone[data-v-378597ba]{border:2px dashed #d1d5db;border-radius:8px;padding:12px 12px;text-align:center;-webkit-transition:all .2s;transition:all .2s;cursor:pointer;line-height:30px}.custom-dialog .upload-dropzone[data-v-378597ba]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-378597ba]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-378597ba]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-378597ba]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-378597ba]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-378597ba]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-378597ba]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-378597ba]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-378597ba]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-378597ba] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-378597ba] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-378597ba]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-378597ba]{font-weight:600;color:#0f172a}.ota-info-card[data-v-378597ba]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-378597ba]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-378597ba]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-378597ba]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-378597ba]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:13px;color:#d97706;background:#fef3c7;padding:10px 14px;border-radius:6px;border:1px solid #fcd34d;margin:12px 0 0 0}.ota-warning-box svg[data-v-378597ba]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-378597ba]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-378597ba]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:12px;color:#2563eb;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;margin-top:12px}.assign-tip svg[data-v-378597ba]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-378597ba] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-378597ba] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-378597ba] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-378597ba] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-378597ba] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-378597ba] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-378597ba] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-378597ba] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-378597ba] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-378597ba] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;font-size:13px;color:#1e40af;margin-bottom:18px}.mqtt-notice-box svg[data-v-378597ba]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-378597ba]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-378597ba]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-378597ba]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px;line-height:1.5}.mqtt-form .el-form-item .el-form-item__content[data-v-378597ba]{line-height:1}.mqtt-form .el-input__inner[data-v-378597ba]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-378597ba]:focus{border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.mqtt-form .el-input__inner[data-v-378597ba]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-378597ba]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-378597ba]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-378597ba]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-378597ba]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-378597ba]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-378597ba]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-378597ba]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-378597ba]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-378597ba]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-378597ba]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-378597ba]{font-size:12px;color:#64748b;background:#f1f3f5;padding:10px 14px;border-radius:6px;margin-top:6px;line-height:1.6}.mqtt-form .mqtt-tip-block code[data-v-378597ba]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.customer-detail-view .detail-nav[data-v-378597ba]{gap:8px;margin-bottom:16px}.customer-detail-view .detail-nav .back-btn[data-v-378597ba],.customer-detail-view .detail-nav[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.customer-detail-view .detail-nav .back-btn[data-v-378597ba]{gap:4px;padding:0;font-size:14px;color:#94a3b8}.customer-detail-view .detail-nav .back-btn[data-v-378597ba]:hover{color:#1e293b}.customer-detail-view .detail-nav .back-btn svg[data-v-378597ba]{stroke:currentColor}.customer-detail-view .detail-nav .customer-name[data-v-378597ba]{font-size:14px;font-weight:500;color:#1e293b}.customer-detail-view .info-card[data-v-378597ba]{background:#fff;border:1px solid #e8ecf1;border-radius:8px;padding:16px 20px;margin-bottom:16px}.customer-detail-view .info-card .info-grid[data-v-378597ba]{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}.customer-detail-view .info-card .info-grid .info-item[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;font-size:14px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.customer-detail-view .info-card .info-grid .info-item.full-width[data-v-378597ba]{grid-column:1/-1}.customer-detail-view .info-card .info-grid .info-item .label[data-v-378597ba]{color:#94a3b8;-ms-flex-negative:0;flex-shrink:0}.customer-detail-view .info-card .info-grid .info-item .value[data-v-378597ba]{color:#1e293b;font-weight:500}.customer-detail-view .info-card .info-grid .info-item .tags[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px;-ms-flex-wrap:wrap;flex-wrap:wrap}.customer-detail-view .tab-bar[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.customer-detail-view .tab-bar .tab-btn[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.customer-detail-view .tab-bar .tab-btn[data-v-378597ba]:hover{color:#1e293b}.customer-detail-view .tab-bar .tab-btn.active[data-v-378597ba]{color:#1e293b;border-bottom-color:#3b82f6}.customer-detail-view .tab-bar .tab-btn .badge[data-v-378597ba]{display:inline-block;font-size:11px;font-weight:400;padding:0 6px;border-radius:10px;background:#f1f3f5;color:#64748b;line-height:18px;min-width:20px;text-align:center}.customer-detail-view .tab-bar .tab-btn.active .badge[data-v-378597ba]{background:#dbeafe;color:#1d4ed8}.customer-detail-view .tab-content .content-header[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin-bottom:12px}.custom-dialog .tip-box[data-v-378597ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:12px;color:#1e40af;background:#eff6ff;padding:8px 12px;border-radius:6px;border:1px solid #bfdbfe;margin-bottom:16px}.custom-dialog .tip-box svg[data-v-378597ba]{-ms-flex-negative:0;flex-shrink:0;stroke:#2563eb;margin-top:1px}.custom-dialog .tip-box span[data-v-378597ba]{-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:1.5;word-break:break-word}.custom-dialog .tip-box strong[data-v-378597ba]{font-weight:600}.text-muted[data-v-7f395dcd]{color:#94a3b8}.tab-bar[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-7f395dcd]{padding:8px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.tab-bar .tab-btn[data-v-7f395dcd]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-7f395dcd]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.list-header h2[data-v-7f395dcd]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-7f395dcd]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-7f395dcd]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.search-bar .search-input[data-v-7f395dcd]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-7f395dcd] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-7f395dcd]{min-width:120px}.search-bar .search-select[data-v-7f395dcd] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:12px}.action-bar .el-button[data-v-7f395dcd]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-7f395dcd],.action-bar .el-button .el-icon-right[data-v-7f395dcd],.action-bar .el-button .el-icon-thunderbolt[data-v-7f395dcd],.action-bar .el-button .el-icon-user-plus[data-v-7f395dcd],.action-bar .el-button .el-icon-wifi[data-v-7f395dcd]{margin-right:2px}.general-table[data-v-7f395dcd]{border-radius:8px;overflow:hidden}.general-table[data-v-7f395dcd] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-7f395dcd] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-7f395dcd] .el-table-column--selection .cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.general-table[data-v-7f395dcd] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-7f395dcd]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:14px 20px;background:#fff;border:1px solid #e8ecf1;border-top:none;border-radius:0 0 8px 8px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.general-table .table-footer .footer-left[data-v-7f395dcd],.general-table .table-footer[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.general-table .table-footer .footer-left .selected-info[data-v-7f395dcd]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.general-table .table-footer .footer-right .total-info[data-v-7f395dcd]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .el-pagination__sizes .el-input__inner{height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .btn-prev{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .el-pager li{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px;font-weight:400}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .el-pager li.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .el-pagination__jump .el-input__inner{width:44px;height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;text-align:center;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-7f395dcd]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-7f395dcd]:hover{text-decoration:underline}.status-tag[data-v-7f395dcd]{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:2px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-tag .dot[data-v-7f395dcd]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-7f395dcd]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-7f395dcd]{background:#10b981}.status-tag.offline[data-v-7f395dcd]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-7f395dcd]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-7f395dcd]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:10px}.table-footer .footer-left[data-v-7f395dcd],.table-footer .footer-right[data-v-7f395dcd]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-7f395dcd]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-7f395dcd] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-7f395dcd]{color:#94a3b8}.danger-btn[data-v-7f395dcd]:hover{color:#ef4444}.detail-view[data-v-7f395dcd]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left[data-v-7f395dcd]{gap:12px}.detail-header .detail-header-left .back-btn[data-v-7f395dcd],.detail-header .detail-header-left[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.detail-header .detail-header-left .back-btn[data-v-7f395dcd]{gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-7f395dcd]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-7f395dcd]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-7f395dcd]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-header-left .detail-device-info h3[data-v-7f395dcd]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-7f395dcd]{margin:0}.detail-tabs-wrapper[data-v-7f395dcd]{padding:0 20px 20px}.detail-tabs-nav[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.detail-tabs-nav .detail-tab-btn[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.detail-tabs-nav .detail-tab-btn svg[data-v-7f395dcd]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-7f395dcd]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-7f395dcd]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-7f395dcd]{min-height:200px}.detail-info-grid[data-v-7f395dcd]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.detail-info-grid div .label[data-v-7f395dcd]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-7f395dcd]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-7f395dcd]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:14px}.mqtt-config-section .mqtt-section-title .line[data-v-7f395dcd]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-7f395dcd]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;color:#64748b;background:rgba(241,245,249,.3);border:1px dashed #e2e8f0;border-radius:8px;padding:12px 16px}.mqtt-config-section .mqtt-config-grid[data-v-7f395dcd]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;background:#f8fafc;padding:18px 24px;border-radius:8px;border:1px solid #e8ecf1}.mqtt-config-section .mqtt-config-grid .mqtt-item[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.mqtt-config-section .mqtt-config-grid .mqtt-item .label[data-v-7f395dcd]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-7f395dcd]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .value[data-v-7f395dcd]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-7f395dcd]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-7f395dcd]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-7f395dcd]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-7f395dcd]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-7f395dcd]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-7f395dcd]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-7f395dcd],.track-container .track-placeholder[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.track-container .track-placeholder[data-v-7f395dcd]{height:200px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#94a3b8;font-size:14px}.history-timeline[data-v-7f395dcd]{position:relative;padding-left:24px}.history-timeline[data-v-7f395dcd]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-7f395dcd]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-7f395dcd]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-7f395dcd]{position:absolute;left:-19px;top:6px;width:4px;height:4px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;-webkit-box-shadow:0 0 0 2px #cbd5e1;box-shadow:0 0 0 2px #cbd5e1;z-index:2}.history-timeline .timeline-item .timeline-dot.current[data-v-7f395dcd]{background:#3b82f6;-webkit-box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px #3b82f6}.history-timeline .timeline-item .timeline-content[data-v-7f395dcd]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-7f395dcd]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-7f395dcd]{display:inline-block;font-size:11px;background:#ecfdf5;float:right;color:#007a55;padding:1px 10px;border-radius:5px;border:1px solid #a4f4cf;vertical-align:middle}.history-timeline .timeline-item .timeline-content .timeline-meta[data-v-7f395dcd]{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:12px;color:#64748b}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-item[data-v-7f395dcd]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-7f395dcd]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-7f395dcd]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-7f395dcd] .el-dialog{border-radius:12px;overflow:hidden;max-height:80vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-dialog[data-v-7f395dcd] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-7f395dcd] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-7f395dcd] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-7f395dcd] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-7f395dcd] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-7f395dcd] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-7f395dcd] .el-dialog__footer{padding:12px 24px 20px;border-top:1px solid #f1f3f5;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-7f395dcd] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-7f395dcd] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-7f395dcd] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-7f395dcd] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-7f395dcd] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-7f395dcd]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-7f395dcd]{font-size:13px;font-weight:500;color:#1e293b;padding:0;line-height:1.4}.custom-dialog .el-form .el-form-item .el-form-item__content[data-v-7f395dcd]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-7f395dcd],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-7f395dcd],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-7f395dcd]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-7f395dcd]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-7f395dcd]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-7f395dcd]:focus{border-color:#3b82f6;-webkit-box-shadow:0 0 0 3px rgba(59,130,246,.1);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-7f395dcd]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-7f395dcd]{width:100%}.custom-dialog .upload-dropzone[data-v-7f395dcd]{border:2px dashed #d1d5db;border-radius:8px;padding:12px 12px;text-align:center;-webkit-transition:all .2s;transition:all .2s;cursor:pointer;line-height:30px}.custom-dialog .upload-dropzone[data-v-7f395dcd]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-7f395dcd]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-7f395dcd]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-7f395dcd]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-7f395dcd]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-7f395dcd]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-7f395dcd]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-7f395dcd]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-7f395dcd]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-7f395dcd] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-7f395dcd] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-7f395dcd]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-7f395dcd]{font-weight:600;color:#0f172a}.ota-info-card[data-v-7f395dcd]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-7f395dcd]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-7f395dcd]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-7f395dcd]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-7f395dcd]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:13px;color:#d97706;background:#fef3c7;padding:10px 14px;border-radius:6px;border:1px solid #fcd34d;margin:12px 0 0 0}.ota-warning-box svg[data-v-7f395dcd]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-7f395dcd]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-7f395dcd]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:12px;color:#2563eb;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;margin-top:12px}.assign-tip svg[data-v-7f395dcd]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-7f395dcd] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-7f395dcd] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-7f395dcd] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-7f395dcd] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-7f395dcd] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-7f395dcd] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-7f395dcd] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-7f395dcd] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-7f395dcd] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-7f395dcd] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;font-size:13px;color:#1e40af;margin-bottom:18px}.mqtt-notice-box svg[data-v-7f395dcd]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-7f395dcd]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-7f395dcd]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-7f395dcd]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px;line-height:1.5}.mqtt-form .el-form-item .el-form-item__content[data-v-7f395dcd]{line-height:1}.mqtt-form .el-input__inner[data-v-7f395dcd]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-7f395dcd]:focus{border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.mqtt-form .el-input__inner[data-v-7f395dcd]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-7f395dcd]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-7f395dcd]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-7f395dcd]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-7f395dcd]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-7f395dcd]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-7f395dcd]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-7f395dcd]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-7f395dcd]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-7f395dcd]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-7f395dcd]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-7f395dcd]{font-size:12px;color:#64748b;background:#f1f3f5;padding:10px 14px;border-radius:6px;margin-top:6px;line-height:1.6}.mqtt-form .mqtt-tip-block code[data-v-7f395dcd]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.customer-manage .list-header[data-v-7f395dcd]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.customer-manage .list-header h2[data-v-7f395dcd]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.customer-manage .list-header .count-badge[data-v-7f395dcd]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.customer-manage .search-bar[data-v-7f395dcd]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.customer-manage .search-bar .search-input[data-v-7f395dcd]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:180px}.customer-manage .search-bar .search-input[data-v-7f395dcd] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.customer-manage .customer-name[data-v-7f395dcd]{color:#3b82f6;font-weight:500;cursor:pointer}.customer-manage .customer-name[data-v-7f395dcd]:hover{text-decoration:underline}.customer-manage .danger-btn[data-v-7f395dcd]{color:#94a3b8}.customer-manage .danger-btn[data-v-7f395dcd]:hover{color:#ef4444}.customer-manage[data-v-7f395dcd] .custom-dialog .el-dialog{border-radius:12px;overflow:hidden}.customer-manage[data-v-7f395dcd] .custom-dialog .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1}.customer-manage[data-v-7f395dcd] .custom-dialog .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.customer-manage[data-v-7f395dcd] .custom-dialog .el-dialog__body{padding:20px 24px 8px}.customer-manage[data-v-7f395dcd] .custom-dialog .el-dialog__footer{padding:12px 24px 20px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.customer-manage[data-v-7f395dcd] .custom-dialog .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.customer-manage[data-v-7f395dcd] .custom-dialog .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.customer-manage[data-v-7f395dcd] .custom-dialog .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.customer-manage[data-v-7f395dcd] .custom-dialog .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.customer-manage[data-v-7f395dcd] .custom-dialog .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.text-muted[data-v-b015ef30]{color:#94a3b8}.tab-bar[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-b015ef30]{padding:8px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.tab-bar .tab-btn[data-v-b015ef30]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-b015ef30]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.list-header h2[data-v-b015ef30]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-b015ef30]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-b015ef30]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.search-bar .search-input[data-v-b015ef30]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-b015ef30] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-b015ef30]{min-width:120px}.search-bar .search-select[data-v-b015ef30] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:12px}.action-bar .el-button[data-v-b015ef30]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-b015ef30],.action-bar .el-button .el-icon-right[data-v-b015ef30],.action-bar .el-button .el-icon-thunderbolt[data-v-b015ef30],.action-bar .el-button .el-icon-user-plus[data-v-b015ef30],.action-bar .el-button .el-icon-wifi[data-v-b015ef30]{margin-right:2px}.general-table[data-v-b015ef30]{border-radius:8px;overflow:hidden}.general-table[data-v-b015ef30] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-b015ef30] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-b015ef30] .el-table-column--selection .cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.general-table[data-v-b015ef30] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-b015ef30]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:14px 20px;background:#fff;border:1px solid #e8ecf1;border-top:none;border-radius:0 0 8px 8px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.general-table .table-footer .footer-left[data-v-b015ef30],.general-table .table-footer[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.general-table .table-footer .footer-left .selected-info[data-v-b015ef30]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.general-table .table-footer .footer-right .total-info[data-v-b015ef30]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .el-pagination__sizes .el-input__inner{height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .btn-prev{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .el-pager li{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px;font-weight:400}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .el-pager li.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .el-pagination__jump .el-input__inner{width:44px;height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;text-align:center;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-b015ef30]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-b015ef30]:hover{text-decoration:underline}.status-tag[data-v-b015ef30]{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:2px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-tag .dot[data-v-b015ef30]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-b015ef30]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-b015ef30]{background:#10b981}.status-tag.offline[data-v-b015ef30]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-b015ef30]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-b015ef30]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:10px}.table-footer .footer-left[data-v-b015ef30],.table-footer .footer-right[data-v-b015ef30]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-b015ef30]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-b015ef30] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-b015ef30]{color:#94a3b8}.danger-btn[data-v-b015ef30]:hover{color:#ef4444}.detail-view[data-v-b015ef30]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left[data-v-b015ef30]{gap:12px}.detail-header .detail-header-left .back-btn[data-v-b015ef30],.detail-header .detail-header-left[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.detail-header .detail-header-left .back-btn[data-v-b015ef30]{gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-b015ef30]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-b015ef30]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-b015ef30]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-header-left .detail-device-info h3[data-v-b015ef30]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-b015ef30]{margin:0}.detail-tabs-wrapper[data-v-b015ef30]{padding:0 20px 20px}.detail-tabs-nav[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.detail-tabs-nav .detail-tab-btn[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.detail-tabs-nav .detail-tab-btn svg[data-v-b015ef30]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-b015ef30]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-b015ef30]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-b015ef30]{min-height:200px}.detail-info-grid[data-v-b015ef30]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.detail-info-grid div .label[data-v-b015ef30]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-b015ef30]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-b015ef30]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:14px}.mqtt-config-section .mqtt-section-title .line[data-v-b015ef30]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-b015ef30]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;color:#64748b;background:rgba(241,245,249,.3);border:1px dashed #e2e8f0;border-radius:8px;padding:12px 16px}.mqtt-config-section .mqtt-config-grid[data-v-b015ef30]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;background:#f8fafc;padding:18px 24px;border-radius:8px;border:1px solid #e8ecf1}.mqtt-config-section .mqtt-config-grid .mqtt-item[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.mqtt-config-section .mqtt-config-grid .mqtt-item .label[data-v-b015ef30]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-b015ef30]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .value[data-v-b015ef30]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-b015ef30]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-b015ef30]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-b015ef30]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-b015ef30]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-b015ef30]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-b015ef30]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-b015ef30],.track-container .track-placeholder[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.track-container .track-placeholder[data-v-b015ef30]{height:200px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#94a3b8;font-size:14px}.history-timeline[data-v-b015ef30]{position:relative;padding-left:24px}.history-timeline[data-v-b015ef30]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-b015ef30]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-b015ef30]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-b015ef30]{position:absolute;left:-19px;top:6px;width:4px;height:4px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;-webkit-box-shadow:0 0 0 2px #cbd5e1;box-shadow:0 0 0 2px #cbd5e1;z-index:2}.history-timeline .timeline-item .timeline-dot.current[data-v-b015ef30]{background:#3b82f6;-webkit-box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px #3b82f6}.history-timeline .timeline-item .timeline-content[data-v-b015ef30]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-b015ef30]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-b015ef30]{display:inline-block;font-size:11px;background:#ecfdf5;float:right;color:#007a55;padding:1px 10px;border-radius:5px;border:1px solid #a4f4cf;vertical-align:middle}.history-timeline .timeline-item .timeline-content .timeline-meta[data-v-b015ef30]{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:12px;color:#64748b}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-item[data-v-b015ef30]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-b015ef30]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-b015ef30]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-b015ef30] .el-dialog{border-radius:12px;overflow:hidden;max-height:80vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-dialog[data-v-b015ef30] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-b015ef30] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-b015ef30] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-b015ef30] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-b015ef30] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-b015ef30] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-b015ef30] .el-dialog__footer{padding:12px 24px 20px;border-top:1px solid #f1f3f5;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-b015ef30] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-b015ef30] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-b015ef30] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-b015ef30] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-b015ef30] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-b015ef30]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-b015ef30]{font-size:13px;font-weight:500;color:#1e293b;padding:0;line-height:1.4}.custom-dialog .el-form .el-form-item .el-form-item__content[data-v-b015ef30]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-b015ef30],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-b015ef30],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-b015ef30]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-b015ef30]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-b015ef30]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-b015ef30]:focus{border-color:#3b82f6;-webkit-box-shadow:0 0 0 3px rgba(59,130,246,.1);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-b015ef30]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-b015ef30]{width:100%}.custom-dialog .upload-dropzone[data-v-b015ef30]{border:2px dashed #d1d5db;border-radius:8px;padding:12px 12px;text-align:center;-webkit-transition:all .2s;transition:all .2s;cursor:pointer;line-height:30px}.custom-dialog .upload-dropzone[data-v-b015ef30]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-b015ef30]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-b015ef30]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-b015ef30]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-b015ef30]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-b015ef30]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-b015ef30]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-b015ef30]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-b015ef30]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-b015ef30] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-b015ef30] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-b015ef30]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-b015ef30]{font-weight:600;color:#0f172a}.ota-info-card[data-v-b015ef30]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-b015ef30]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-b015ef30]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-b015ef30]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-b015ef30]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:13px;color:#d97706;background:#fef3c7;padding:10px 14px;border-radius:6px;border:1px solid #fcd34d;margin:12px 0 0 0}.ota-warning-box svg[data-v-b015ef30]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-b015ef30]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-b015ef30]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:12px;color:#2563eb;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;margin-top:12px}.assign-tip svg[data-v-b015ef30]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-b015ef30] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-b015ef30] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-b015ef30] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-b015ef30] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-b015ef30] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-b015ef30] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-b015ef30] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-b015ef30] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-b015ef30] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-b015ef30] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;font-size:13px;color:#1e40af;margin-bottom:18px}.mqtt-notice-box svg[data-v-b015ef30]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-b015ef30]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-b015ef30]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-b015ef30]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px;line-height:1.5}.mqtt-form .el-form-item .el-form-item__content[data-v-b015ef30]{line-height:1}.mqtt-form .el-input__inner[data-v-b015ef30]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-b015ef30]:focus{border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.mqtt-form .el-input__inner[data-v-b015ef30]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-b015ef30]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-b015ef30]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-b015ef30]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-b015ef30]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-b015ef30]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-b015ef30]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-b015ef30]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-b015ef30]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-b015ef30]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-b015ef30]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-b015ef30]{font-size:12px;color:#64748b;background:#f1f3f5;padding:10px 14px;border-radius:6px;margin-top:6px;line-height:1.6}.mqtt-form .mqtt-tip-block code[data-v-b015ef30]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.audio-manage .list-header h2[data-v-b015ef30]{font-size:16px;font-weight:500;color:#1e293b;margin:0 0 4px 0}.audio-manage .tab-nav[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px;border-bottom:1px solid #e2e8f0;margin-bottom:12px}.audio-manage .tab-nav .tab-btn[data-v-b015ef30]{padding:8px 16px;font-size:14px;font-weight:500;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.audio-manage .tab-nav .tab-btn[data-v-b015ef30]:hover{color:#1e293b}.audio-manage .tab-nav .tab-btn.active[data-v-b015ef30]{color:#2563eb;border-bottom-color:#2563eb}.audio-manage .audio-tip[data-v-b015ef30]{font-size:12px;color:#64748b;margin-bottom:12px}.audio-manage .audio-name-cell[data-v-b015ef30]{gap:8px}.audio-manage .audio-name-cell .audio-icon[data-v-b015ef30],.audio-manage .audio-name-cell[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.audio-manage .audio-name-cell .audio-icon[data-v-b015ef30]{width:28px;height:28px;border-radius:50%;background:#f1f5f9;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#64748b}.audio-manage .audio-name-cell .audio-icon.custom[data-v-b015ef30]{background:#f3e8ff;color:#7c3aed}.audio-manage .audio-name-cell span[data-v-b015ef30]{font-weight:500;color:#1e293b}.audio-manage .version-tag[data-v-b015ef30]{font-family:monospace;font-size:12px;background:#f1f5f9;padding:0 6px;border-radius:4px;color:#64748b}.audio-manage .replace-btn[data-v-b015ef30]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;font-size:12px;color:#2563eb;background:none;border:none;cursor:pointer}.audio-manage .replace-btn[data-v-b015ef30]:hover{text-decoration:underline}.audio-manage .icon-btn[data-v-b015ef30]{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;border-radius:4px}.audio-manage .icon-btn.danger[data-v-b015ef30]:hover{color:#ef4444;background:#fef2f2}.text-muted[data-v-77318a06]{color:#94a3b8}.tab-bar[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-77318a06]{padding:8px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.tab-bar .tab-btn[data-v-77318a06]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-77318a06]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.list-header h2[data-v-77318a06]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-77318a06]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-77318a06]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.search-bar .search-input[data-v-77318a06]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-77318a06] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-77318a06]{min-width:120px}.search-bar .search-select[data-v-77318a06] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:12px}.action-bar .el-button[data-v-77318a06]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-77318a06],.action-bar .el-button .el-icon-right[data-v-77318a06],.action-bar .el-button .el-icon-thunderbolt[data-v-77318a06],.action-bar .el-button .el-icon-user-plus[data-v-77318a06],.action-bar .el-button .el-icon-wifi[data-v-77318a06]{margin-right:2px}.general-table[data-v-77318a06]{border-radius:8px;overflow:hidden}.general-table[data-v-77318a06] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-77318a06] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-77318a06] .el-table-column--selection .cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.general-table[data-v-77318a06] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-77318a06]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:14px 20px;background:#fff;border:1px solid #e8ecf1;border-top:none;border-radius:0 0 8px 8px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.general-table .table-footer .footer-left[data-v-77318a06],.general-table .table-footer[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.general-table .table-footer .footer-left .selected-info[data-v-77318a06]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.general-table .table-footer .footer-right .total-info[data-v-77318a06]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .el-pagination__sizes .el-input__inner{height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .btn-prev{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .el-pager li{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px;font-weight:400}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .el-pager li.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .el-pagination__jump .el-input__inner{width:44px;height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;text-align:center;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-77318a06]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-77318a06]:hover{text-decoration:underline}.status-tag[data-v-77318a06]{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:2px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-tag .dot[data-v-77318a06]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-77318a06]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-77318a06]{background:#10b981}.status-tag.offline[data-v-77318a06]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-77318a06]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-77318a06]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:10px}.table-footer .footer-left[data-v-77318a06],.table-footer .footer-right[data-v-77318a06]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-77318a06]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-77318a06] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-77318a06]{color:#94a3b8}.danger-btn[data-v-77318a06]:hover{color:#ef4444}.detail-view[data-v-77318a06]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left .back-btn[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-77318a06]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-77318a06]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-77318a06]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-header-left .detail-device-info h3[data-v-77318a06]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-77318a06]{margin:0}.detail-tabs-wrapper[data-v-77318a06]{padding:0 20px 20px}.detail-tabs-nav[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.detail-tabs-nav .detail-tab-btn[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.detail-tabs-nav .detail-tab-btn svg[data-v-77318a06]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-77318a06]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-77318a06]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-77318a06]{min-height:200px}.detail-info-grid[data-v-77318a06]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.detail-info-grid div .label[data-v-77318a06]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-77318a06]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-77318a06]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:14px}.mqtt-config-section .mqtt-section-title .line[data-v-77318a06]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-77318a06]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;color:#64748b;background:rgba(241,245,249,.3);border:1px dashed #e2e8f0;border-radius:8px;padding:12px 16px}.mqtt-config-section .mqtt-config-grid[data-v-77318a06]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;background:#f8fafc;padding:18px 24px;border-radius:8px;border:1px solid #e8ecf1}.mqtt-config-section .mqtt-config-grid .mqtt-item[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.mqtt-config-section .mqtt-config-grid .mqtt-item .label[data-v-77318a06]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-77318a06]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .value[data-v-77318a06]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-77318a06]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-77318a06]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-77318a06]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-77318a06]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-77318a06]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-77318a06]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-77318a06],.track-container .track-placeholder[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.track-container .track-placeholder[data-v-77318a06]{height:200px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#94a3b8;font-size:14px}.history-timeline[data-v-77318a06]{position:relative;padding-left:24px}.history-timeline[data-v-77318a06]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-77318a06]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-77318a06]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-77318a06]{position:absolute;left:-19px;top:6px;width:4px;height:4px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;-webkit-box-shadow:0 0 0 2px #cbd5e1;box-shadow:0 0 0 2px #cbd5e1;z-index:2}.history-timeline .timeline-item .timeline-dot.current[data-v-77318a06]{background:#3b82f6;-webkit-box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px #3b82f6}.history-timeline .timeline-item .timeline-content[data-v-77318a06]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-77318a06]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-77318a06]{display:inline-block;font-size:11px;background:#ecfdf5;float:right;color:#007a55;padding:1px 10px;border-radius:5px;border:1px solid #a4f4cf;vertical-align:middle}.history-timeline .timeline-item .timeline-content .timeline-meta[data-v-77318a06]{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:12px;color:#64748b}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-item[data-v-77318a06]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-77318a06]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-77318a06]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-77318a06] .el-dialog{border-radius:12px;overflow:hidden;max-height:80vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-dialog[data-v-77318a06] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-77318a06] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-77318a06] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-77318a06] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-77318a06] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-77318a06] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-77318a06] .el-dialog__footer{padding:12px 24px 20px;border-top:1px solid #f1f3f5;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-77318a06] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-77318a06] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-77318a06] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-77318a06] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-77318a06] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-77318a06]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-77318a06]{font-size:13px;font-weight:500;color:#1e293b;padding:0;line-height:1.4}.custom-dialog .el-form .el-form-item .el-form-item__content[data-v-77318a06]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-77318a06],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-77318a06],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-77318a06]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-77318a06]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-77318a06]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-77318a06]:focus{border-color:#3b82f6;-webkit-box-shadow:0 0 0 3px rgba(59,130,246,.1);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-77318a06]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-77318a06]{width:100%}.custom-dialog .upload-dropzone[data-v-77318a06]{border:2px dashed #d1d5db;border-radius:8px;padding:12px 12px;text-align:center;-webkit-transition:all .2s;transition:all .2s;cursor:pointer;line-height:30px}.custom-dialog .upload-dropzone[data-v-77318a06]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-77318a06]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-77318a06]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-77318a06]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-77318a06]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-77318a06]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-77318a06]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-77318a06]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-77318a06]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-77318a06] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-77318a06] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-77318a06]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-77318a06]{font-weight:600;color:#0f172a}.ota-info-card[data-v-77318a06]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-77318a06]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-77318a06]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-77318a06]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-77318a06]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:13px;color:#d97706;background:#fef3c7;padding:10px 14px;border-radius:6px;border:1px solid #fcd34d;margin:12px 0 0 0}.ota-warning-box svg[data-v-77318a06]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-77318a06]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-77318a06]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:12px;color:#2563eb;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;margin-top:12px}.assign-tip svg[data-v-77318a06]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-77318a06] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-77318a06] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-77318a06] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-77318a06] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-77318a06] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-77318a06] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-77318a06] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-77318a06] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-77318a06] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-77318a06] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;font-size:13px;color:#1e40af;margin-bottom:18px}.mqtt-notice-box svg[data-v-77318a06]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-77318a06]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-77318a06]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-77318a06]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px;line-height:1.5}.mqtt-form .el-form-item .el-form-item__content[data-v-77318a06]{line-height:1}.mqtt-form .el-input__inner[data-v-77318a06]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-77318a06]:focus{border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.mqtt-form .el-input__inner[data-v-77318a06]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-77318a06]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-77318a06]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-77318a06]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-77318a06]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-77318a06]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-77318a06]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-77318a06]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-77318a06]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-77318a06]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-77318a06]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-77318a06]{font-size:12px;color:#64748b;background:#f1f3f5;padding:10px 14px;border-radius:6px;margin-top:6px;line-height:1.6}.mqtt-form .mqtt-tip-block code[data-v-77318a06]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.detail-header[data-v-77318a06]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e8ecf1}.detail-header .detail-header-left[data-v-77318a06],.detail-header[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.detail-header .detail-header-left[data-v-77318a06]{gap:12px}.detail-header .back-btn[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .back-btn[data-v-77318a06]:hover{color:#1e293b}.detail-header .back-btn svg[data-v-77318a06]{stroke:currentColor}.detail-header .back-btn span[data-v-77318a06]{font-weight:400}.detail-header .detail-divider[data-v-77318a06]{color:#e8ecf1}.detail-header .detail-device-info[data-v-77318a06]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-device-info h3[data-v-77318a06]{font-size:18px;font-weight:500;color:#1e293b;margin:0}.text-muted[data-v-3e63438a]{color:#94a3b8}.tab-bar[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-3e63438a]{padding:8px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.tab-bar .tab-btn[data-v-3e63438a]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-3e63438a]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.list-header h2[data-v-3e63438a]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-3e63438a]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-3e63438a]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.search-bar .search-input[data-v-3e63438a]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-3e63438a] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-3e63438a]{min-width:120px}.search-bar .search-select[data-v-3e63438a] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:12px}.action-bar .el-button[data-v-3e63438a]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-3e63438a],.action-bar .el-button .el-icon-right[data-v-3e63438a],.action-bar .el-button .el-icon-thunderbolt[data-v-3e63438a],.action-bar .el-button .el-icon-user-plus[data-v-3e63438a],.action-bar .el-button .el-icon-wifi[data-v-3e63438a]{margin-right:2px}.general-table[data-v-3e63438a]{border-radius:8px;overflow:hidden}.general-table[data-v-3e63438a] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-3e63438a] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-3e63438a] .el-table-column--selection .cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.general-table[data-v-3e63438a] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-3e63438a]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:14px 20px;background:#fff;border:1px solid #e8ecf1;border-top:none;border-radius:0 0 8px 8px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.general-table .table-footer .footer-left[data-v-3e63438a],.general-table .table-footer[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.general-table .table-footer .footer-left .selected-info[data-v-3e63438a]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.general-table .table-footer .footer-right .total-info[data-v-3e63438a]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .el-pagination__sizes .el-input__inner{height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .btn-prev{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .el-pager li{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px;font-weight:400}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .el-pager li.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .el-pagination__jump .el-input__inner{width:44px;height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;text-align:center;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-3e63438a]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-3e63438a]:hover{text-decoration:underline}.status-tag[data-v-3e63438a]{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:2px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-tag .dot[data-v-3e63438a]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-3e63438a]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-3e63438a]{background:#10b981}.status-tag.offline[data-v-3e63438a]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-3e63438a]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-3e63438a]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:10px}.table-footer .footer-left[data-v-3e63438a],.table-footer .footer-right[data-v-3e63438a]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-3e63438a]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-3e63438a] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-3e63438a]{color:#94a3b8}.danger-btn[data-v-3e63438a]:hover{color:#ef4444}.detail-view[data-v-3e63438a]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left[data-v-3e63438a]{gap:12px}.detail-header .detail-header-left .back-btn[data-v-3e63438a],.detail-header .detail-header-left[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.detail-header .detail-header-left .back-btn[data-v-3e63438a]{gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-3e63438a]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-3e63438a]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-3e63438a]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-header-left .detail-device-info h3[data-v-3e63438a]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-3e63438a]{margin:0}.detail-tabs-wrapper[data-v-3e63438a]{padding:0 20px 20px}.detail-tabs-nav[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.detail-tabs-nav .detail-tab-btn[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.detail-tabs-nav .detail-tab-btn svg[data-v-3e63438a]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-3e63438a]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-3e63438a]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-3e63438a]{min-height:200px}.detail-info-grid[data-v-3e63438a]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.detail-info-grid div .label[data-v-3e63438a]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-3e63438a]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-3e63438a]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:14px}.mqtt-config-section .mqtt-section-title .line[data-v-3e63438a]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-3e63438a]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;color:#64748b;background:rgba(241,245,249,.3);border:1px dashed #e2e8f0;border-radius:8px;padding:12px 16px}.mqtt-config-section .mqtt-config-grid[data-v-3e63438a]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;background:#f8fafc;padding:18px 24px;border-radius:8px;border:1px solid #e8ecf1}.mqtt-config-section .mqtt-config-grid .mqtt-item[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.mqtt-config-section .mqtt-config-grid .mqtt-item .label[data-v-3e63438a]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-3e63438a]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .value[data-v-3e63438a]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-3e63438a]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-3e63438a]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-3e63438a]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-3e63438a]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-3e63438a]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-3e63438a]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-3e63438a],.track-container .track-placeholder[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.track-container .track-placeholder[data-v-3e63438a]{height:200px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#94a3b8;font-size:14px}.history-timeline[data-v-3e63438a]{position:relative;padding-left:24px}.history-timeline[data-v-3e63438a]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-3e63438a]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-3e63438a]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-3e63438a]{position:absolute;left:-19px;top:6px;width:4px;height:4px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;-webkit-box-shadow:0 0 0 2px #cbd5e1;box-shadow:0 0 0 2px #cbd5e1;z-index:2}.history-timeline .timeline-item .timeline-dot.current[data-v-3e63438a]{background:#3b82f6;-webkit-box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px #3b82f6}.history-timeline .timeline-item .timeline-content[data-v-3e63438a]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-3e63438a]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-3e63438a]{display:inline-block;font-size:11px;background:#ecfdf5;float:right;color:#007a55;padding:1px 10px;border-radius:5px;border:1px solid #a4f4cf;vertical-align:middle}.history-timeline .timeline-item .timeline-content .timeline-meta[data-v-3e63438a]{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:12px;color:#64748b}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-item[data-v-3e63438a]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-3e63438a]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-3e63438a]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-3e63438a] .el-dialog{border-radius:12px;overflow:hidden;max-height:80vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-dialog[data-v-3e63438a] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-3e63438a] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-3e63438a] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-3e63438a] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-3e63438a] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-3e63438a] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-3e63438a] .el-dialog__footer{padding:12px 24px 20px;border-top:1px solid #f1f3f5;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-3e63438a] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-3e63438a] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-3e63438a] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-3e63438a] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-3e63438a] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-3e63438a]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-3e63438a]{font-size:13px;font-weight:500;color:#1e293b;padding:0;line-height:1.4}.custom-dialog .el-form .el-form-item .el-form-item__content[data-v-3e63438a]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-3e63438a],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-3e63438a],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-3e63438a]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-3e63438a]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-3e63438a]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-3e63438a]:focus{border-color:#3b82f6;-webkit-box-shadow:0 0 0 3px rgba(59,130,246,.1);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-3e63438a]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-3e63438a]{width:100%}.custom-dialog .upload-dropzone[data-v-3e63438a]{border:2px dashed #d1d5db;border-radius:8px;padding:12px 12px;text-align:center;-webkit-transition:all .2s;transition:all .2s;cursor:pointer;line-height:30px}.custom-dialog .upload-dropzone[data-v-3e63438a]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-3e63438a]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-3e63438a]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-3e63438a]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-3e63438a]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-3e63438a]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-3e63438a]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-3e63438a]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-3e63438a]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-3e63438a] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-3e63438a] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-3e63438a]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-3e63438a]{font-weight:600;color:#0f172a}.ota-info-card[data-v-3e63438a]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-3e63438a]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-3e63438a]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-3e63438a]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-3e63438a]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:13px;color:#d97706;background:#fef3c7;padding:10px 14px;border-radius:6px;border:1px solid #fcd34d;margin:12px 0 0 0}.ota-warning-box svg[data-v-3e63438a]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-3e63438a]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-3e63438a]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:12px;color:#2563eb;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;margin-top:12px}.assign-tip svg[data-v-3e63438a]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-3e63438a] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-3e63438a] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-3e63438a] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-3e63438a] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-3e63438a] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-3e63438a] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-3e63438a] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-3e63438a] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-3e63438a] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-3e63438a] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;font-size:13px;color:#1e40af;margin-bottom:18px}.mqtt-notice-box svg[data-v-3e63438a]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-3e63438a]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-3e63438a]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-3e63438a]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px;line-height:1.5}.mqtt-form .el-form-item .el-form-item__content[data-v-3e63438a]{line-height:1}.mqtt-form .el-input__inner[data-v-3e63438a]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-3e63438a]:focus{border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.mqtt-form .el-input__inner[data-v-3e63438a]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-3e63438a]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-3e63438a]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-3e63438a]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-3e63438a]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-3e63438a]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-3e63438a]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-3e63438a]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-3e63438a]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-3e63438a]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-3e63438a]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-3e63438a]{font-size:12px;color:#64748b;background:#f1f3f5;padding:10px 14px;border-radius:6px;margin-top:6px;line-height:1.6}.mqtt-form .mqtt-tip-block code[data-v-3e63438a]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.config-manage .list-header h2[data-v-3e63438a]{font-size:16px;font-weight:500;color:#1e293b;margin:0 0 4px 0}.config-manage .tab-nav[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px;border-bottom:1px solid #e2e8f0;margin-bottom:12px}.config-manage .tab-nav .tab-btn[data-v-3e63438a]{padding:8px 16px;font-size:14px;font-weight:500;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.config-manage .tab-nav .tab-btn[data-v-3e63438a]:hover{color:#1e293b}.config-manage .tab-nav .tab-btn.active[data-v-3e63438a]{color:#2563eb;border-bottom-color:#2563eb}.config-manage .priority-tip[data-v-3e63438a]{font-size:12px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;margin-bottom:16px}.config-manage .priority-tip strong[data-v-3e63438a]{color:#1e293b}.config-manage .config-card[data-v-3e63438a]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:16px}.config-manage .config-card .config-card-header[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:10px 16px;background:#fafbfc;border-bottom:1px solid #e2e8f0}.config-manage .config-card .config-card-header .config-icon[data-v-3e63438a]{color:#64748b;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.config-manage .config-card .config-card-header .config-title[data-v-3e63438a]{font-size:14px;font-weight:500;color:#1e293b}.config-manage .config-card .config-card-header .config-badge[data-v-3e63438a]{font-size:11px;padding:0 8px;line-height:20px;border-radius:4px;border:1px solid}.config-manage .config-card .config-card-header .config-badge.badge-amber[data-v-3e63438a]{background:#fffbeb;color:#b45309;border-color:#fde68a}.config-manage .config-card .config-card-header .config-badge.badge-blue[data-v-3e63438a]{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.config-manage .config-card .config-card-header .config-edit-btn[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;margin-left:auto;font-size:12px;color:#2563eb;background:none;border:none;cursor:pointer}.config-manage .config-card .config-card-header .config-edit-btn[data-v-3e63438a]:hover{text-decoration:underline}.config-manage .config-card .config-card-body[data-v-3e63438a]{padding:14px 16px}.config-manage .config-card .config-fields[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px 24px}.config-manage .config-card .config-fields .field-item[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px}.config-manage .config-card .config-fields .field-item .field-label[data-v-3e63438a]{color:#64748b;min-width:56px}.config-manage .config-card .config-fields .field-item .field-value[data-v-3e63438a]{color:#1e293b}.config-manage .config-card .config-fields .field-item .field-value.font-mono[data-v-3e63438a]{font-family:monospace}.config-manage .config-card .config-fields .field-item .field-value.text-muted[data-v-3e63438a]{color:#94a3b8}.config-manage .config-card .customer-config-toolbar[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;margin-bottom:12px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.config-manage .config-card .customer-config-toolbar .customer-select[data-v-3e63438a]{width:220px}.config-manage .config-card .customer-config-toolbar .customer-select[data-v-3e63438a] .el-input__inner{height:32px;font-size:13px}.config-manage .config-card .customer-config-toolbar .el-button[data-v-3e63438a]{height:32px;padding:0 16px;font-size:13px}.config-manage .config-card .customer-table .password-cell[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.config-manage .config-card .customer-table .password-cell .eye-btn[data-v-3e63438a]{background:none;border:none;color:#94a3b8;cursor:pointer;padding:2px}.config-manage .config-card .customer-table .password-cell .eye-btn[data-v-3e63438a]:hover{color:#1e293b}.config-manage .config-card .customer-table .icon-btn[data-v-3e63438a]{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;border-radius:4px}.config-manage .config-card .customer-table .icon-btn[data-v-3e63438a]:hover{background:#f1f5f9;color:#1e293b}.config-manage .config-card .customer-table .icon-btn.danger[data-v-3e63438a]:hover{color:#ef4444;background:#fef2f2}.config-manage .form-customer-display[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:8px 0;font-size:13px}.config-manage .form-customer-display .label[data-v-3e63438a]{color:#64748b;min-width:56px}.config-manage .form-customer-display .value[data-v-3e63438a]{color:#1e293b;font-weight:500}.config-manage .form-tip[data-v-3e63438a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;color:#2563eb;background:#eff6ff;border:1px solid #93c5fd;border-radius:4px;padding:8px 12px;margin-top:4px}.config-manage .delete-tip[data-v-3e63438a]{font-size:14px;color:#64748b;margin:8px 0;text-align:center}.detection-report-detail[data-v-e0fd6bc2]{padding:4px 0}.detection-report-detail .detail-nav[data-v-e0fd6bc2]{gap:6px;padding:8px 0 16px 0;border-bottom:1px solid #e2e8f0;margin-bottom:20px}.detection-report-detail .detail-nav .back-btn[data-v-e0fd6bc2],.detection-report-detail .detail-nav[data-v-e0fd6bc2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.detection-report-detail .detail-nav .back-btn[data-v-e0fd6bc2]{gap:4px;padding:0;font-size:13px;color:#64748b}.detection-report-detail .detail-nav .back-btn[data-v-e0fd6bc2]:hover{color:#1e293b}.detection-report-detail .detail-nav .back-btn svg[data-v-e0fd6bc2]{stroke:currentColor}.detection-report-detail .detail-nav .nav-divider[data-v-e0fd6bc2]{color:#94a3b8;font-size:13px}.detection-report-detail .detail-nav .page-title[data-v-e0fd6bc2]{font-size:13px;font-weight:500;color:#1e293b}.detection-report-detail .loading-wrapper[data-v-e0fd6bc2]{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;padding:60px 0;color:#94a3b8}.detection-report-detail .loading-wrapper .el-icon-loading[data-v-e0fd6bc2]{font-size:32px;margin-bottom:12px}.detection-report-detail .loading-wrapper span[data-v-e0fd6bc2]{font-size:14px}.detection-report-detail .empty-wrapper[data-v-e0fd6bc2]{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;padding:60px 0;color:#94a3b8}.detection-report-detail .empty-wrapper svg[data-v-e0fd6bc2]{margin-bottom:12px}.detection-report-detail .empty-wrapper p[data-v-e0fd6bc2]{font-size:14px;margin:0}.detection-report-detail .detail-summary[data-v-e0fd6bc2]{display:grid;grid-template-columns:1fr 1fr;gap:6px 32px;padding:16px 20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px}.detection-report-detail .detail-summary .summary-item[data-v-e0fd6bc2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;font-size:13px;line-height:32px}.detection-report-detail .detail-summary .summary-item .summary-label[data-v-e0fd6bc2]{color:#64748b;min-width:72px;white-space:nowrap}.detection-report-detail .detail-summary .summary-item .summary-value[data-v-e0fd6bc2]{color:#1e293b}.detection-report-detail .detail-summary .summary-item .summary-value.font-medium[data-v-e0fd6bc2]{font-weight:500}.detection-report-detail .detail-summary .summary-item .summary-tag[data-v-e0fd6bc2]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;font-size:12px;padding:0 12px;line-height:24px;border-radius:4px;border:1px solid}.detection-report-detail .detail-summary .summary-item .summary-tag.tag-factory[data-v-e0fd6bc2]{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.detection-report-detail .detail-summary .summary-item .summary-tag.tag-acceptance[data-v-e0fd6bc2]{background:#f3e8ff;color:#7c3aed;border-color:#d8b4fe}.detection-report-detail .detail-summary .summary-item .summary-tag.result-pass[data-v-e0fd6bc2]{background:#dcfce7;color:#16a34a;border-color:#86efac}.detection-report-detail .detail-summary .summary-item .summary-tag.result-fail[data-v-e0fd6bc2]{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.detection-report-detail .detail-summary .summary-item .summary-tag svg[data-v-e0fd6bc2]{stroke:currentColor}.detection-report-detail .phase-section[data-v-e0fd6bc2]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:20px}.detection-report-detail .phase-section .phase-title[data-v-e0fd6bc2]{font-size:14px;font-weight:500;color:#1e293b;margin:0;padding:10px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.detection-report-detail .phase-section .phase-table[data-v-e0fd6bc2] .el-table{border:none;border-radius:0}.detection-report-detail .phase-section .phase-table[data-v-e0fd6bc2] .el-table__header-wrapper th{background:#f8fafc;color:#64748b;font-weight:500;font-size:12px;border-bottom:1px solid #e2e8f0}.detection-report-detail .phase-section .phase-table[data-v-e0fd6bc2] .el-table__body-wrapper td{font-size:13px;padding:8px 0;border-bottom:1px solid #f1f5f9}.detection-report-detail .phase-section .phase-table[data-v-e0fd6bc2] .el-table--border,.detection-report-detail .phase-section .phase-table[data-v-e0fd6bc2] .el-table--border .el-table__inner-wrapper{border:none}.detection-report-detail .phase-section .phase-table[data-v-e0fd6bc2] .el-table--border td,.detection-report-detail .phase-section .phase-table[data-v-e0fd6bc2] .el-table--border th{border-right:none}.detection-report-detail .phase-section .phase-table[data-v-e0fd6bc2] .el-table__row:last-child td{border-bottom:none}.detection-report-detail .phase-section .phase-table .font-mono[data-v-e0fd6bc2]{font-family:monospace;color:#1e293b}.detection-report-detail .phase-section .phase-table .result-badge[data-v-e0fd6bc2]{display:inline-block;font-size:12px;padding:0 10px;line-height:22px;border-radius:4px}.detection-report-detail .phase-section .phase-table .result-badge.badge-pass[data-v-e0fd6bc2]{color:#16a34a;background:#dcfce7}.detection-report-detail .phase-section .phase-table .result-badge.badge-fail[data-v-e0fd6bc2]{color:#dc2626;background:#fee2e2}.detection-report-detail .phase-section .phase-table .result-badge.badge-info[data-v-e0fd6bc2]{color:#64748b;background:#f1f5f9}.detection-report-detail .phase-section .signal-grid[data-v-e0fd6bc2]{padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detection-report-detail .phase-section .signal-grid .signal-item[data-v-e0fd6bc2]{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:10px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff;-webkit-transition:all .2s;transition:all .2s}.detection-report-detail .phase-section .signal-grid .signal-item.signal-pass[data-v-e0fd6bc2]{background:#f0fdf4;border-color:#86efac}.detection-report-detail .phase-section .signal-grid .signal-item.signal-fail[data-v-e0fd6bc2]{background:#fef2f2;border-color:#fca5a5}.detection-report-detail .phase-section .signal-grid .signal-item .signal-name[data-v-e0fd6bc2]{font-weight:500;color:#1e293b}.detection-report-detail .phase-section .signal-grid .signal-item svg[data-v-e0fd6bc2]{stroke:currentColor;-ms-flex-negative:0;flex-shrink:0}@media screen and (max-width:768px){.detection-report-detail .detail-summary[data-v-e0fd6bc2]{grid-template-columns:1fr 1fr;gap:4px 16px;padding:12px 14px}.detection-report-detail .detail-summary .summary-item[data-v-e0fd6bc2]{font-size:12px;line-height:28px}.detection-report-detail .detail-summary .summary-item .summary-label[data-v-e0fd6bc2]{min-width:56px}.detection-report-detail .signal-grid[data-v-e0fd6bc2]{grid-template-columns:1fr 1fr}}@media screen and (max-width:480px){.detection-report-detail .detail-summary[data-v-e0fd6bc2],.detection-report-detail .signal-grid[data-v-e0fd6bc2]{grid-template-columns:1fr}}.text-muted[data-v-1f7ffeec]{color:#94a3b8}.tab-bar[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-1f7ffeec]{padding:8px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.tab-bar .tab-btn[data-v-1f7ffeec]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-1f7ffeec]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.list-header h2[data-v-1f7ffeec]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-1f7ffeec]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-1f7ffeec]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.search-bar .search-input[data-v-1f7ffeec]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-1f7ffeec] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-1f7ffeec]{min-width:120px}.search-bar .search-select[data-v-1f7ffeec] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:12px}.action-bar .el-button[data-v-1f7ffeec]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-1f7ffeec],.action-bar .el-button .el-icon-right[data-v-1f7ffeec],.action-bar .el-button .el-icon-thunderbolt[data-v-1f7ffeec],.action-bar .el-button .el-icon-user-plus[data-v-1f7ffeec],.action-bar .el-button .el-icon-wifi[data-v-1f7ffeec]{margin-right:2px}.general-table[data-v-1f7ffeec]{border-radius:8px;overflow:hidden}.general-table[data-v-1f7ffeec] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-1f7ffeec] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-1f7ffeec] .el-table-column--selection .cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.general-table[data-v-1f7ffeec] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-1f7ffeec]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:14px 20px;background:#fff;border:1px solid #e8ecf1;border-top:none;border-radius:0 0 8px 8px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.general-table .table-footer .footer-left[data-v-1f7ffeec],.general-table .table-footer[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.general-table .table-footer .footer-left .selected-info[data-v-1f7ffeec]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.general-table .table-footer .footer-right .total-info[data-v-1f7ffeec]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .el-pagination__sizes .el-input__inner{height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .btn-prev{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .el-pager li{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px;font-weight:400}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .el-pager li.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .el-pagination__jump .el-input__inner{width:44px;height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;text-align:center;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-1f7ffeec]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-1f7ffeec]:hover{text-decoration:underline}.status-tag[data-v-1f7ffeec]{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:2px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-tag .dot[data-v-1f7ffeec]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-1f7ffeec]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-1f7ffeec]{background:#10b981}.status-tag.offline[data-v-1f7ffeec]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-1f7ffeec]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-1f7ffeec]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:10px}.table-footer .footer-left[data-v-1f7ffeec],.table-footer .footer-right[data-v-1f7ffeec]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-1f7ffeec]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-1f7ffeec] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-1f7ffeec]{color:#94a3b8}.danger-btn[data-v-1f7ffeec]:hover{color:#ef4444}.detail-view[data-v-1f7ffeec]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left[data-v-1f7ffeec]{gap:12px}.detail-header .detail-header-left .back-btn[data-v-1f7ffeec],.detail-header .detail-header-left[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.detail-header .detail-header-left .back-btn[data-v-1f7ffeec]{gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-1f7ffeec]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-1f7ffeec]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-1f7ffeec]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-header-left .detail-device-info h3[data-v-1f7ffeec]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-1f7ffeec]{margin:0}.detail-tabs-wrapper[data-v-1f7ffeec]{padding:0 20px 20px}.detail-tabs-nav[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.detail-tabs-nav .detail-tab-btn[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.detail-tabs-nav .detail-tab-btn svg[data-v-1f7ffeec]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-1f7ffeec]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-1f7ffeec]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-1f7ffeec]{min-height:200px}.detail-info-grid[data-v-1f7ffeec]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.detail-info-grid div .label[data-v-1f7ffeec]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-1f7ffeec]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-1f7ffeec]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:14px}.mqtt-config-section .mqtt-section-title .line[data-v-1f7ffeec]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-1f7ffeec]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;color:#64748b;background:rgba(241,245,249,.3);border:1px dashed #e2e8f0;border-radius:8px;padding:12px 16px}.mqtt-config-section .mqtt-config-grid[data-v-1f7ffeec]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;background:#f8fafc;padding:18px 24px;border-radius:8px;border:1px solid #e8ecf1}.mqtt-config-section .mqtt-config-grid .mqtt-item[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.mqtt-config-section .mqtt-config-grid .mqtt-item .label[data-v-1f7ffeec]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-1f7ffeec]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .value[data-v-1f7ffeec]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-1f7ffeec]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-1f7ffeec]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-1f7ffeec]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-1f7ffeec]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-1f7ffeec]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-1f7ffeec]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-1f7ffeec],.track-container .track-placeholder[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.track-container .track-placeholder[data-v-1f7ffeec]{height:200px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#94a3b8;font-size:14px}.history-timeline[data-v-1f7ffeec]{position:relative;padding-left:24px}.history-timeline[data-v-1f7ffeec]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-1f7ffeec]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-1f7ffeec]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-1f7ffeec]{position:absolute;left:-19px;top:6px;width:4px;height:4px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;-webkit-box-shadow:0 0 0 2px #cbd5e1;box-shadow:0 0 0 2px #cbd5e1;z-index:2}.history-timeline .timeline-item .timeline-dot.current[data-v-1f7ffeec]{background:#3b82f6;-webkit-box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px #3b82f6}.history-timeline .timeline-item .timeline-content[data-v-1f7ffeec]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-1f7ffeec]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-1f7ffeec]{display:inline-block;font-size:11px;background:#ecfdf5;float:right;color:#007a55;padding:1px 10px;border-radius:5px;border:1px solid #a4f4cf;vertical-align:middle}.history-timeline .timeline-item .timeline-content .timeline-meta[data-v-1f7ffeec]{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:12px;color:#64748b}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-item[data-v-1f7ffeec]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-1f7ffeec]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-1f7ffeec]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-1f7ffeec] .el-dialog{border-radius:12px;overflow:hidden;max-height:80vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-dialog[data-v-1f7ffeec] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-1f7ffeec] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-1f7ffeec] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-1f7ffeec] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-1f7ffeec] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-1f7ffeec] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-1f7ffeec] .el-dialog__footer{padding:12px 24px 20px;border-top:1px solid #f1f3f5;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-1f7ffeec] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-1f7ffeec] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-1f7ffeec] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-1f7ffeec] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-1f7ffeec] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-1f7ffeec]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-1f7ffeec]{font-size:13px;font-weight:500;color:#1e293b;padding:0;line-height:1.4}.custom-dialog .el-form .el-form-item .el-form-item__content[data-v-1f7ffeec]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-1f7ffeec],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-1f7ffeec],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-1f7ffeec]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-1f7ffeec]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-1f7ffeec]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-1f7ffeec]:focus{border-color:#3b82f6;-webkit-box-shadow:0 0 0 3px rgba(59,130,246,.1);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-1f7ffeec]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-1f7ffeec]{width:100%}.custom-dialog .upload-dropzone[data-v-1f7ffeec]{border:2px dashed #d1d5db;border-radius:8px;padding:12px 12px;text-align:center;-webkit-transition:all .2s;transition:all .2s;cursor:pointer;line-height:30px}.custom-dialog .upload-dropzone[data-v-1f7ffeec]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-1f7ffeec]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-1f7ffeec]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-1f7ffeec]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-1f7ffeec]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-1f7ffeec]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-1f7ffeec]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-1f7ffeec]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-1f7ffeec]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-1f7ffeec] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-1f7ffeec] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-1f7ffeec]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-1f7ffeec]{font-weight:600;color:#0f172a}.ota-info-card[data-v-1f7ffeec]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-1f7ffeec]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-1f7ffeec]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-1f7ffeec]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-1f7ffeec]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:13px;color:#d97706;background:#fef3c7;padding:10px 14px;border-radius:6px;border:1px solid #fcd34d;margin:12px 0 0 0}.ota-warning-box svg[data-v-1f7ffeec]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-1f7ffeec]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-1f7ffeec]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:12px;color:#2563eb;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;margin-top:12px}.assign-tip svg[data-v-1f7ffeec]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-1f7ffeec] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-1f7ffeec] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-1f7ffeec] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-1f7ffeec] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-1f7ffeec] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-1f7ffeec] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-1f7ffeec] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-1f7ffeec] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-1f7ffeec] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-1f7ffeec] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;font-size:13px;color:#1e40af;margin-bottom:18px}.mqtt-notice-box svg[data-v-1f7ffeec]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-1f7ffeec]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-1f7ffeec]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-1f7ffeec]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px;line-height:1.5}.mqtt-form .el-form-item .el-form-item__content[data-v-1f7ffeec]{line-height:1}.mqtt-form .el-input__inner[data-v-1f7ffeec]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-1f7ffeec]:focus{border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.mqtt-form .el-input__inner[data-v-1f7ffeec]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-1f7ffeec]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-1f7ffeec]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-1f7ffeec]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-1f7ffeec]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-1f7ffeec]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-1f7ffeec]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-1f7ffeec]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-1f7ffeec]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-1f7ffeec]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-1f7ffeec]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-1f7ffeec]{font-size:12px;color:#64748b;background:#f1f3f5;padding:10px 14px;border-radius:6px;margin-top:6px;line-height:1.6}.mqtt-form .mqtt-tip-block code[data-v-1f7ffeec]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.detection-report .list-header[data-v-1f7ffeec]{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;margin-bottom:4px}.detection-report .list-header h2[data-v-1f7ffeec]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.detection-report .list-header .total-badge[data-v-1f7ffeec]{font-size:12px;color:#64748b;background:#f1f5f9;padding:2px 12px;border-radius:12px}.detection-report .tab-nav[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px;border-bottom:1px solid #e2e8f0;margin-bottom:16px}.detection-report .tab-nav .tab-btn[data-v-1f7ffeec]{padding:8px 16px;font-size:14px;font-weight:500;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.detection-report .tab-nav .tab-btn[data-v-1f7ffeec]:hover{color:#1e293b}.detection-report .tab-nav .tab-btn.active[data-v-1f7ffeec]{color:#2563eb;border-bottom-color:#2563eb}.detection-report .search-bar .date-range[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px}.detection-report .search-bar .date-range .date-label[data-v-1f7ffeec]{font-size:12px;color:#64748b;white-space:nowrap}.detection-report .search-bar .date-range .date-picker[data-v-1f7ffeec]{width:280px}.detection-report .search-bar .date-range .date-picker[data-v-1f7ffeec] .el-input__inner{height:32px;font-size:13px}.detection-report .search-bar .el-button[data-v-1f7ffeec]{height:32px;padding:0 16px;font-size:13px}.detection-report .stat-cards[data-v-1f7ffeec]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:8px}.detection-report .stat-cards .stat-card[data-v-1f7ffeec]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px 16px}.detection-report .stat-cards .stat-card.stat-pass[data-v-1f7ffeec]{border-color:#86efac}.detection-report .stat-cards .stat-card.stat-fail[data-v-1f7ffeec]{border-color:#fca5a5}.detection-report .stat-cards .stat-card .stat-label[data-v-1f7ffeec]{font-size:12px;color:#64748b;margin:0 0 4px 0}.detection-report .stat-cards .stat-card .stat-value[data-v-1f7ffeec]{font-size:24px;font-weight:600;color:#1e293b;margin:0}.detection-report .stat-cards .stat-card .text-green-600[data-v-1f7ffeec]{color:#16a34a}.detection-report .stat-cards .stat-card .text-red-500[data-v-1f7ffeec]{color:#ef4444}.detection-report .stat-cards .stat-card .rate-display[data-v-1f7ffeec]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;margin-top:6px}.detection-report .stat-cards .stat-card .rate-display .rate-bar[data-v-1f7ffeec]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.detection-report .stat-cards .stat-card .rate-display .rate-bar .rate-fill[data-v-1f7ffeec]{height:100%;background:#22c55e;border-radius:3px;-webkit-transition:width .5s;transition:width .5s}.detection-report .stat-cards .stat-card .rate-display .rate-value[data-v-1f7ffeec]{font-size:16px;font-weight:600;color:#1e293b;min-width:48px;text-align:right}.detection-report .stat-note[data-v-1f7ffeec]{font-size:11px;color:#94a3b8;margin:0 0 16px 0}.detection-report .result-badge[data-v-1f7ffeec]{font-size:12px;padding:0 8px;line-height:22px;border-radius:4px}.detection-report .result-badge.result-pass[data-v-1f7ffeec]{color:#16a34a;background:#dcfce7}.detection-report .result-badge.result-fail[data-v-1f7ffeec]{color:#dc2626;background:#fee2e2}.detection-report .result-badge.result-info[data-v-1f7ffeec]{color:#64748b;background:#f1f5f9}.text-muted[data-v-28149635]{color:#94a3b8}.tab-bar[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-28149635]{padding:8px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.tab-bar .tab-btn[data-v-28149635]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-28149635]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.list-header h2[data-v-28149635]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-28149635]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-28149635]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.search-bar .search-input[data-v-28149635]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-28149635] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-28149635]{min-width:120px}.search-bar .search-select[data-v-28149635] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:12px}.action-bar .el-button[data-v-28149635]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-28149635],.action-bar .el-button .el-icon-right[data-v-28149635],.action-bar .el-button .el-icon-thunderbolt[data-v-28149635],.action-bar .el-button .el-icon-user-plus[data-v-28149635],.action-bar .el-button .el-icon-wifi[data-v-28149635]{margin-right:2px}.general-table[data-v-28149635]{border-radius:8px;overflow:hidden}.general-table[data-v-28149635] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-28149635] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-28149635] .el-table-column--selection .cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.general-table[data-v-28149635] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-28149635]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:14px 20px;background:#fff;border:1px solid #e8ecf1;border-top:none;border-radius:0 0 8px 8px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.general-table .table-footer .footer-left[data-v-28149635],.general-table .table-footer[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.general-table .table-footer .footer-left .selected-info[data-v-28149635]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.general-table .table-footer .footer-right .total-info[data-v-28149635]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .el-pagination__sizes .el-input__inner{height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .btn-prev{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .el-pager li{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px;font-weight:400}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .el-pager li.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .el-pagination__jump .el-input__inner{width:44px;height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;text-align:center;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-28149635]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-28149635]:hover{text-decoration:underline}.status-tag[data-v-28149635]{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:2px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-tag .dot[data-v-28149635]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-28149635]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-28149635]{background:#10b981}.status-tag.offline[data-v-28149635]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-28149635]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-28149635]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:10px}.table-footer .footer-left[data-v-28149635],.table-footer .footer-right[data-v-28149635]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-28149635]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-28149635] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-28149635]{color:#94a3b8}.danger-btn[data-v-28149635]:hover{color:#ef4444}.detail-view[data-v-28149635]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left .back-btn[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-28149635]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-28149635]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-28149635]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-header-left .detail-device-info h3[data-v-28149635]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-28149635]{margin:0}.detail-tabs-wrapper[data-v-28149635]{padding:0 20px 20px}.detail-tabs-nav[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.detail-tabs-nav .detail-tab-btn[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.detail-tabs-nav .detail-tab-btn svg[data-v-28149635]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-28149635]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-28149635]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-28149635]{min-height:200px}.detail-info-grid[data-v-28149635]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.detail-info-grid div .label[data-v-28149635]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-28149635]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-28149635]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:14px}.mqtt-config-section .mqtt-section-title .line[data-v-28149635]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-28149635]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;color:#64748b;background:rgba(241,245,249,.3);border:1px dashed #e2e8f0;border-radius:8px;padding:12px 16px}.mqtt-config-section .mqtt-config-grid[data-v-28149635]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;background:#f8fafc;padding:18px 24px;border-radius:8px;border:1px solid #e8ecf1}.mqtt-config-section .mqtt-config-grid .mqtt-item[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.mqtt-config-section .mqtt-config-grid .mqtt-item .label[data-v-28149635]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-28149635]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .value[data-v-28149635]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-28149635]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-28149635]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-28149635]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-28149635]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-28149635]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-28149635]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-28149635],.track-container .track-placeholder[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.track-container .track-placeholder[data-v-28149635]{height:200px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#94a3b8;font-size:14px}.history-timeline[data-v-28149635]{position:relative;padding-left:24px}.history-timeline[data-v-28149635]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-28149635]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-28149635]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-28149635]{position:absolute;left:-19px;top:6px;width:4px;height:4px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;-webkit-box-shadow:0 0 0 2px #cbd5e1;box-shadow:0 0 0 2px #cbd5e1;z-index:2}.history-timeline .timeline-item .timeline-dot.current[data-v-28149635]{background:#3b82f6;-webkit-box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px #3b82f6}.history-timeline .timeline-item .timeline-content[data-v-28149635]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-28149635]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-28149635]{display:inline-block;font-size:11px;background:#ecfdf5;float:right;color:#007a55;padding:1px 10px;border-radius:5px;border:1px solid #a4f4cf;vertical-align:middle}.history-timeline .timeline-item .timeline-content .timeline-meta[data-v-28149635]{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:12px;color:#64748b}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-item[data-v-28149635]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-28149635]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-28149635]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-28149635] .el-dialog{border-radius:12px;overflow:hidden;max-height:80vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-dialog[data-v-28149635] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-28149635] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-28149635] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-28149635] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-28149635] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-28149635] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-28149635] .el-dialog__footer{padding:12px 24px 20px;border-top:1px solid #f1f3f5;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-28149635] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-28149635] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-28149635] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-28149635] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-28149635] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-28149635]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-28149635]{font-size:13px;font-weight:500;color:#1e293b;padding:0;line-height:1.4}.custom-dialog .el-form .el-form-item .el-form-item__content[data-v-28149635]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-28149635],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-28149635],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-28149635]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-28149635]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-28149635]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-28149635]:focus{border-color:#3b82f6;-webkit-box-shadow:0 0 0 3px rgba(59,130,246,.1);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-28149635]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-28149635]{width:100%}.custom-dialog .upload-dropzone[data-v-28149635]{border:2px dashed #d1d5db;border-radius:8px;padding:12px 12px;text-align:center;-webkit-transition:all .2s;transition:all .2s;cursor:pointer;line-height:30px}.custom-dialog .upload-dropzone[data-v-28149635]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-28149635]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-28149635]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-28149635]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-28149635]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-28149635]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-28149635]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-28149635]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-28149635]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-28149635] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-28149635] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-28149635]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-28149635]{font-weight:600;color:#0f172a}.ota-info-card[data-v-28149635]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-28149635]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-28149635]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-28149635]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-28149635]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:13px;color:#d97706;background:#fef3c7;padding:10px 14px;border-radius:6px;border:1px solid #fcd34d;margin:12px 0 0 0}.ota-warning-box svg[data-v-28149635]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-28149635]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-28149635]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:12px;color:#2563eb;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;margin-top:12px}.assign-tip svg[data-v-28149635]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-28149635] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-28149635] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-28149635] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-28149635] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-28149635] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-28149635] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-28149635] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-28149635] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-28149635] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-28149635] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;font-size:13px;color:#1e40af;margin-bottom:18px}.mqtt-notice-box svg[data-v-28149635]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-28149635]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-28149635]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-28149635]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px;line-height:1.5}.mqtt-form .el-form-item .el-form-item__content[data-v-28149635]{line-height:1}.mqtt-form .el-input__inner[data-v-28149635]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-28149635]:focus{border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.mqtt-form .el-input__inner[data-v-28149635]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-28149635]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-28149635]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-28149635]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-28149635]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-28149635]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-28149635]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-28149635]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-28149635]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-28149635]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-28149635]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-28149635]{font-size:12px;color:#64748b;background:#f1f3f5;padding:10px 14px;border-radius:6px;margin-top:6px;line-height:1.6}.mqtt-form .mqtt-tip-block code[data-v-28149635]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.detail-header[data-v-28149635]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e8ecf1}.detail-header .detail-header-left[data-v-28149635],.detail-header[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.detail-header .detail-header-left[data-v-28149635]{gap:12px}.detail-header .back-btn[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .back-btn[data-v-28149635]:hover{color:#1e293b}.detail-header .back-btn svg[data-v-28149635]{stroke:currentColor}.detail-header .back-btn span[data-v-28149635]{font-weight:400}.detail-header .detail-divider[data-v-28149635]{color:#e8ecf1}.detail-header .detail-device-info[data-v-28149635]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-device-info h3[data-v-28149635]{font-size:18px;font-weight:500;color:#1e293b;margin:0}.text-muted[data-v-41b0636e]{color:#94a3b8}.tab-bar[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-41b0636e]{padding:8px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.tab-bar .tab-btn[data-v-41b0636e]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-41b0636e]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.list-header h2[data-v-41b0636e]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-41b0636e]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-41b0636e]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.search-bar .search-input[data-v-41b0636e]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-41b0636e] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-41b0636e]{min-width:120px}.search-bar .search-select[data-v-41b0636e] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:12px}.action-bar .el-button[data-v-41b0636e]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-41b0636e],.action-bar .el-button .el-icon-right[data-v-41b0636e],.action-bar .el-button .el-icon-thunderbolt[data-v-41b0636e],.action-bar .el-button .el-icon-user-plus[data-v-41b0636e],.action-bar .el-button .el-icon-wifi[data-v-41b0636e]{margin-right:2px}.general-table[data-v-41b0636e]{border-radius:8px;overflow:hidden}.general-table[data-v-41b0636e] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-41b0636e] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-41b0636e] .el-table-column--selection .cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.general-table[data-v-41b0636e] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-41b0636e]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:14px 20px;background:#fff;border:1px solid #e8ecf1;border-top:none;border-radius:0 0 8px 8px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.general-table .table-footer .footer-left[data-v-41b0636e],.general-table .table-footer[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.general-table .table-footer .footer-left .selected-info[data-v-41b0636e]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.general-table .table-footer .footer-right .total-info[data-v-41b0636e]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .el-pagination__sizes .el-input__inner{height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .btn-prev{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .el-pager li{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px;font-weight:400}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .el-pager li.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .el-pagination__jump .el-input__inner{width:44px;height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;text-align:center;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-41b0636e]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-41b0636e]:hover{text-decoration:underline}.status-tag[data-v-41b0636e]{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:2px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-tag .dot[data-v-41b0636e]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-41b0636e]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-41b0636e]{background:#10b981}.status-tag.offline[data-v-41b0636e]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-41b0636e]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-41b0636e]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:10px}.table-footer .footer-left[data-v-41b0636e],.table-footer .footer-right[data-v-41b0636e]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-41b0636e]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-41b0636e] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-41b0636e]{color:#94a3b8}.danger-btn[data-v-41b0636e]:hover{color:#ef4444}.detail-view[data-v-41b0636e]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left .back-btn[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-41b0636e]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-41b0636e]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-41b0636e]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-header-left .detail-device-info h3[data-v-41b0636e]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-41b0636e]{margin:0}.detail-tabs-wrapper[data-v-41b0636e]{padding:0 20px 20px}.detail-tabs-nav[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.detail-tabs-nav .detail-tab-btn[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.detail-tabs-nav .detail-tab-btn svg[data-v-41b0636e]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-41b0636e]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-41b0636e]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-41b0636e]{min-height:200px}.detail-info-grid[data-v-41b0636e]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.detail-info-grid div .label[data-v-41b0636e]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-41b0636e]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-41b0636e]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:14px}.mqtt-config-section .mqtt-section-title .line[data-v-41b0636e]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-41b0636e]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;color:#64748b;background:rgba(241,245,249,.3);border:1px dashed #e2e8f0;border-radius:8px;padding:12px 16px}.mqtt-config-section .mqtt-config-grid[data-v-41b0636e]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;background:#f8fafc;padding:18px 24px;border-radius:8px;border:1px solid #e8ecf1}.mqtt-config-section .mqtt-config-grid .mqtt-item[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.mqtt-config-section .mqtt-config-grid .mqtt-item .label[data-v-41b0636e]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-41b0636e]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .value[data-v-41b0636e]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-41b0636e]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-41b0636e]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-41b0636e]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-41b0636e]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-41b0636e]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-41b0636e]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-41b0636e],.track-container .track-placeholder[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.track-container .track-placeholder[data-v-41b0636e]{height:200px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#94a3b8;font-size:14px}.history-timeline[data-v-41b0636e]{position:relative;padding-left:24px}.history-timeline[data-v-41b0636e]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-41b0636e]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-41b0636e]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-41b0636e]{position:absolute;left:-19px;top:6px;width:4px;height:4px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;-webkit-box-shadow:0 0 0 2px #cbd5e1;box-shadow:0 0 0 2px #cbd5e1;z-index:2}.history-timeline .timeline-item .timeline-dot.current[data-v-41b0636e]{background:#3b82f6;-webkit-box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px #3b82f6}.history-timeline .timeline-item .timeline-content[data-v-41b0636e]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-41b0636e]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-41b0636e]{display:inline-block;font-size:11px;background:#ecfdf5;float:right;color:#007a55;padding:1px 10px;border-radius:5px;border:1px solid #a4f4cf;vertical-align:middle}.history-timeline .timeline-item .timeline-content .timeline-meta[data-v-41b0636e]{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:12px;color:#64748b}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-item[data-v-41b0636e]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-41b0636e]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-41b0636e]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-41b0636e] .el-dialog{border-radius:12px;overflow:hidden;max-height:80vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-dialog[data-v-41b0636e] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-41b0636e] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-41b0636e] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-41b0636e] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-41b0636e] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-41b0636e] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-41b0636e] .el-dialog__footer{padding:12px 24px 20px;border-top:1px solid #f1f3f5;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-41b0636e] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-41b0636e] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-41b0636e] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-41b0636e] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-41b0636e] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-41b0636e]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-41b0636e]{font-size:13px;font-weight:500;color:#1e293b;padding:0;line-height:1.4}.custom-dialog .el-form .el-form-item .el-form-item__content[data-v-41b0636e]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-41b0636e],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-41b0636e],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-41b0636e]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-41b0636e]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-41b0636e]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-41b0636e]:focus{border-color:#3b82f6;-webkit-box-shadow:0 0 0 3px rgba(59,130,246,.1);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-41b0636e]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-41b0636e]{width:100%}.custom-dialog .upload-dropzone[data-v-41b0636e]{border:2px dashed #d1d5db;border-radius:8px;padding:12px 12px;text-align:center;-webkit-transition:all .2s;transition:all .2s;cursor:pointer;line-height:30px}.custom-dialog .upload-dropzone[data-v-41b0636e]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-41b0636e]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-41b0636e]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-41b0636e]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-41b0636e]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-41b0636e]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-41b0636e]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-41b0636e]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-41b0636e]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-41b0636e] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-41b0636e] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-41b0636e]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-41b0636e]{font-weight:600;color:#0f172a}.ota-info-card[data-v-41b0636e]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-41b0636e]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-41b0636e]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-41b0636e]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-41b0636e]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:13px;color:#d97706;background:#fef3c7;padding:10px 14px;border-radius:6px;border:1px solid #fcd34d;margin:12px 0 0 0}.ota-warning-box svg[data-v-41b0636e]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-41b0636e]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-41b0636e]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:12px;color:#2563eb;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;margin-top:12px}.assign-tip svg[data-v-41b0636e]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-41b0636e] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-41b0636e] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-41b0636e] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-41b0636e] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-41b0636e] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-41b0636e] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-41b0636e] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-41b0636e] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-41b0636e] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-41b0636e] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;font-size:13px;color:#1e40af;margin-bottom:18px}.mqtt-notice-box svg[data-v-41b0636e]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-41b0636e]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-41b0636e]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-41b0636e]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px;line-height:1.5}.mqtt-form .el-form-item .el-form-item__content[data-v-41b0636e]{line-height:1}.mqtt-form .el-input__inner[data-v-41b0636e]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-41b0636e]:focus{border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.mqtt-form .el-input__inner[data-v-41b0636e]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-41b0636e]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-41b0636e]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-41b0636e]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-41b0636e]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-41b0636e]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-41b0636e]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-41b0636e]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-41b0636e]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-41b0636e]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-41b0636e]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-41b0636e]{font-size:12px;color:#64748b;background:#f1f3f5;padding:10px 14px;border-radius:6px;margin-top:6px;line-height:1.6}.mqtt-form .mqtt-tip-block code[data-v-41b0636e]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.detail-header[data-v-41b0636e]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e8ecf1}.detail-header .detail-header-left[data-v-41b0636e],.detail-header[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.detail-header .detail-header-left[data-v-41b0636e]{gap:12px}.detail-header .back-btn[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .back-btn[data-v-41b0636e]:hover{color:#1e293b}.detail-header .back-btn svg[data-v-41b0636e]{stroke:currentColor}.detail-header .back-btn span[data-v-41b0636e]{font-weight:400}.detail-header .detail-divider[data-v-41b0636e]{color:#e8ecf1}.detail-header .detail-device-info[data-v-41b0636e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-device-info h3[data-v-41b0636e]{font-size:18px;font-weight:500;color:#1e293b;margin:0}.vcu-status-tag[data-v-41b0636e]{display:inline-block;padding:0 8px;border-radius:4px;font-size:12px;line-height:22px;font-weight:500}.vcu-status-tag.status-已验收[data-v-41b0636e]{background:#f3e8ff;color:#7c3aed;border:1px solid #d8b4fe}.vcu-status-tag.status-已分配[data-v-41b0636e]{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.vcu-status-tag.status-已检测[data-v-41b0636e]{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.vcu-status-tag.status-待检测[data-v-41b0636e]{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.network-tag[data-v-41b0636e]{display:inline-block;padding:0 8px;border-radius:12px;font-size:12px;line-height:20px}.network-tag--4g5g[data-v-41b0636e]{background:#e0f2fe;color:#0369a1;border:1px solid #7dd3fc}.network-tag--none[data-v-41b0636e]{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.center-tabs[data-v-517cd323]{width:auto}.center-tabs[data-v-517cd323] .el-tabs__item{font-weight:700;font-size:16px}.center-tabs[data-v-517cd323] .el-tabs__header{text-align:center}.center-tabs[data-v-517cd323] .el-tabs__nav{float:none;display:inline-block}.box{height:800px}.el-scrollbar{height:100%}.box .el-scrollbar__wrap{overflow:scroll}.none-border{border:0;background-color:transparent!important}.step-div{margin-top:30px}.text-muted[data-v-3527106c]{color:#94a3b8}.tab-bar[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-3527106c]{padding:8px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.tab-bar .tab-btn[data-v-3527106c]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-3527106c]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.list-header h2[data-v-3527106c]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-3527106c]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-3527106c]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.search-bar .search-input[data-v-3527106c]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-3527106c] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-3527106c]{min-width:120px}.search-bar .search-select[data-v-3527106c] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:12px}.action-bar .el-button[data-v-3527106c]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-3527106c],.action-bar .el-button .el-icon-right[data-v-3527106c],.action-bar .el-button .el-icon-thunderbolt[data-v-3527106c],.action-bar .el-button .el-icon-user-plus[data-v-3527106c],.action-bar .el-button .el-icon-wifi[data-v-3527106c]{margin-right:2px}.general-table[data-v-3527106c]{border-radius:8px;overflow:hidden}.general-table[data-v-3527106c] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-3527106c] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-3527106c] .el-table-column--selection .cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.general-table[data-v-3527106c] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-3527106c]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:14px 20px;background:#fff;border:1px solid #e8ecf1;border-top:none;border-radius:0 0 8px 8px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px}.general-table .table-footer .footer-left[data-v-3527106c],.general-table .table-footer[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.general-table .table-footer .footer-left .selected-info[data-v-3527106c]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px;-ms-flex-wrap:wrap;flex-wrap:wrap}.general-table .table-footer .footer-right .total-info[data-v-3527106c]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .el-pagination__sizes .el-input__inner{height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .btn-prev{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .el-pager li{min-width:30px;height:30px;line-height:30px;border-radius:4px;background:#f1f3f5;border:1px solid #e8ecf1;color:#64748b;font-size:13px;font-weight:400}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .el-pager li.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .el-pagination__jump .el-input__inner{width:44px;height:30px;line-height:30px;border-radius:4px;border-color:#d1d5db;text-align:center;font-size:13px}.general-table .table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-3527106c]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-3527106c]:hover{text-decoration:underline}.status-tag[data-v-3527106c]{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:2px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-tag .dot[data-v-3527106c]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-3527106c]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-3527106c]{background:#10b981}.status-tag.offline[data-v-3527106c]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-3527106c]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-3527106c]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:10px}.table-footer .footer-left[data-v-3527106c],.table-footer .footer-right[data-v-3527106c]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-3527106c]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-3527106c] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-3527106c]{color:#94a3b8}.danger-btn[data-v-3527106c]:hover{color:#ef4444}.detail-view[data-v-3527106c]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left[data-v-3527106c]{gap:12px}.detail-header .detail-header-left .back-btn[data-v-3527106c],.detail-header .detail-header-left[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.detail-header .detail-header-left .back-btn[data-v-3527106c]{gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-3527106c]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-3527106c]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-3527106c]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.detail-header .detail-header-left .detail-device-info h3[data-v-3527106c]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-3527106c]{margin:0}.detail-tabs-wrapper[data-v-3527106c]{padding:0 20px 20px}.detail-tabs-nav[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.detail-tabs-nav .detail-tab-btn[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border:none;background:transparent;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.detail-tabs-nav .detail-tab-btn svg[data-v-3527106c]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-3527106c]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-3527106c]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-3527106c]{min-height:200px}.detail-info-grid[data-v-3527106c]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.detail-info-grid div .label[data-v-3527106c]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-3527106c]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-3527106c]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:14px}.mqtt-config-section .mqtt-section-title .line[data-v-3527106c]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-3527106c]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;color:#64748b;background:rgba(241,245,249,.3);border:1px dashed #e2e8f0;border-radius:8px;padding:12px 16px}.mqtt-config-section .mqtt-config-grid[data-v-3527106c]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;background:#f8fafc;padding:18px 24px;border-radius:8px;border:1px solid #e8ecf1}.mqtt-config-section .mqtt-config-grid .mqtt-item[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.mqtt-config-section .mqtt-config-grid .mqtt-item .label[data-v-3527106c]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-3527106c]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .value[data-v-3527106c]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-3527106c]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-3527106c]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-3527106c]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-3527106c]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-3527106c]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-3527106c]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-3527106c],.track-container .track-placeholder[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.track-container .track-placeholder[data-v-3527106c]{height:200px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#94a3b8;font-size:14px}.history-timeline[data-v-3527106c]{position:relative;padding-left:24px}.history-timeline[data-v-3527106c]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-3527106c]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-3527106c]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-3527106c]{position:absolute;left:-19px;top:6px;width:4px;height:4px;border-radius:50%;background:#cbd5e1;border:2px solid #fff;-webkit-box-shadow:0 0 0 2px #cbd5e1;box-shadow:0 0 0 2px #cbd5e1;z-index:2}.history-timeline .timeline-item .timeline-dot.current[data-v-3527106c]{background:#3b82f6;-webkit-box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px #3b82f6}.history-timeline .timeline-item .timeline-content[data-v-3527106c]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-3527106c]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-3527106c]{display:inline-block;font-size:11px;background:#ecfdf5;float:right;color:#007a55;padding:1px 10px;border-radius:5px;border:1px solid #a4f4cf;vertical-align:middle}.history-timeline .timeline-item .timeline-content .timeline-meta[data-v-3527106c]{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:12px;color:#64748b}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-item[data-v-3527106c]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-3527106c]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-3527106c]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-3527106c] .el-dialog{border-radius:12px;overflow:hidden;max-height:80vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-dialog[data-v-3527106c] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-3527106c] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-3527106c] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-3527106c] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-3527106c] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-3527106c] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-3527106c] .el-dialog__footer{padding:12px 24px 20px;border-top:1px solid #f1f3f5;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-3527106c] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-3527106c] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-3527106c] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-3527106c] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-3527106c] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-3527106c]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-3527106c]{font-size:13px;font-weight:500;color:#1e293b;padding:0;line-height:1.4}.custom-dialog .el-form .el-form-item .el-form-item__content[data-v-3527106c]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-3527106c],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-3527106c],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-3527106c]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-3527106c]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-3527106c]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-3527106c]:focus{border-color:#3b82f6;-webkit-box-shadow:0 0 0 3px rgba(59,130,246,.1);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-3527106c]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-3527106c]{width:100%}.custom-dialog .upload-dropzone[data-v-3527106c]{border:2px dashed #d1d5db;border-radius:8px;padding:12px 12px;text-align:center;-webkit-transition:all .2s;transition:all .2s;cursor:pointer;line-height:30px}.custom-dialog .upload-dropzone[data-v-3527106c]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-3527106c]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-3527106c]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-3527106c]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-3527106c]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-3527106c]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-3527106c]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-3527106c]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-3527106c]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-3527106c] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-3527106c] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-3527106c]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-3527106c]{font-weight:600;color:#0f172a}.ota-info-card[data-v-3527106c]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-3527106c]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-3527106c]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-3527106c]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-3527106c]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:13px;color:#d97706;background:#fef3c7;padding:10px 14px;border-radius:6px;border:1px solid #fcd34d;margin:12px 0 0 0}.ota-warning-box svg[data-v-3527106c]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-3527106c]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-3527106c]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:12px;color:#2563eb;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;margin-top:12px}.assign-tip svg[data-v-3527106c]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-3527106c] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-3527106c] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-3527106c] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-3527106c] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-3527106c] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-3527106c] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-3527106c] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-3527106c] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-3527106c] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-3527106c] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:10px;background:#eff6ff;padding:10px 14px;border-radius:6px;border:1px solid #bfdbfe;font-size:13px;color:#1e40af;margin-bottom:18px}.mqtt-notice-box svg[data-v-3527106c]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-3527106c]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-3527106c]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-3527106c]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px;line-height:1.5}.mqtt-form .el-form-item .el-form-item__content[data-v-3527106c]{line-height:1}.mqtt-form .el-input__inner[data-v-3527106c]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-3527106c]:focus{border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.mqtt-form .el-input__inner[data-v-3527106c]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-3527106c]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-3527106c]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-3527106c]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-3527106c]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-3527106c]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-3527106c]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-3527106c]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-3527106c]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-3527106c]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-3527106c]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-3527106c]{font-size:12px;color:#64748b;background:#f1f3f5;padding:10px 14px;border-radius:6px;margin-top:6px;line-height:1.6}.mqtt-form .mqtt-tip-block code[data-v-3527106c]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.user-manage .list-header[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;margin-bottom:16px}.user-manage .list-header h2[data-v-3527106c]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.user-manage .list-header .count-badge[data-v-3527106c]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.user-manage .search-bar[data-v-3527106c]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;padding:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px}.user-manage .search-bar .search-input[data-v-3527106c]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:160px}.user-manage .search-bar .search-input[data-v-3527106c] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.user-manage .search-bar .search-select[data-v-3527106c]{width:130px}.user-manage .search-bar .search-select[data-v-3527106c] .el-input__inner{height:34px;border-radius:6px}.user-manage .disable-btn[data-v-3527106c]{color:#f59e0b}.user-manage .disable-btn[data-v-3527106c]:hover{color:#d97706}.user-manage .enable-btn[data-v-3527106c]{color:#10b981}.user-manage .enable-btn[data-v-3527106c]:hover{color:#059669}.user-manage .danger-btn[data-v-3527106c]{color:#94a3b8}.user-manage .danger-btn[data-v-3527106c]:hover{color:#ef4444}.user-dialog .user-form .form-row[data-v-3527106c]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;gap:16px!important;margin-bottom:14px!important}.user-dialog .user-form .form-row .half-item[data-v-3527106c]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.user-dialog .user-form .form-row .half-item .el-form-item[data-v-3527106c]{margin-bottom:0!important}.user-dialog .user-form .el-form-item[data-v-3527106c]{margin-bottom:14px!important}.user-dialog .user-form .el-form-item .el-form-item__label[data-v-3527106c]{font-size:13px;font-weight:500;color:#1e293b;padding:0 0 3px 0!important;line-height:1.5}.user-dialog .user-form .el-form-item .el-form-item__content[data-v-3527106c]{line-height:1}.user-dialog .user-form .el-form-item .el-input__inner[data-v-3527106c],.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-3527106c],.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-3527106c]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:38px}.user-dialog .user-form .el-form-item .el-input__inner[data-v-3527106c]:focus,.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-3527106c]:focus,.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-3527106c]:focus{border-color:#2563eb;-webkit-box-shadow:0 0 0 3px rgba(37,99,235,.1);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.user-dialog .user-form .el-form-item .el-input__inner[data-v-3527106c]::-webkit-input-placeholder,.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-3527106c]::-webkit-input-placeholder,.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-3527106c]::-webkit-input-placeholder{color:#94a3b8}.user-dialog .user-form .el-form-item .el-input__inner[data-v-3527106c]::-moz-placeholder,.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-3527106c]::-moz-placeholder,.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-3527106c]::-moz-placeholder{color:#94a3b8}.user-dialog .user-form .el-form-item .el-input__inner[data-v-3527106c]:-ms-input-placeholder,.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-3527106c]:-ms-input-placeholder,.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-3527106c]:-ms-input-placeholder{color:#94a3b8}.user-dialog .user-form .el-form-item .el-input__inner[data-v-3527106c]::-ms-input-placeholder,.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-3527106c]::-ms-input-placeholder,.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-3527106c]::-ms-input-placeholder{color:#94a3b8}.user-dialog .user-form .el-form-item .el-input__inner[data-v-3527106c]::placeholder,.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-3527106c]::placeholder,.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-3527106c]::placeholder{color:#94a3b8}.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-3527106c]{height:auto;min-height:72px;resize:vertical}.user-dialog .user-form .permission-preview[data-v-3527106c]{background:#f8fafc;border-radius:8px;padding:12px 16px;border:1px solid #e8ecf1;margin-bottom:14px}.user-dialog .user-form .permission-preview .preview-title[data-v-3527106c]{font-size:12px;font-weight:500;color:#64748b;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;margin:0 0 8px 0}.user-dialog .user-form .permission-preview .preview-title svg[data-v-3527106c]{stroke:#64748b}.user-dialog .user-form .permission-preview .permission-tags[data-v-3527106c]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px;min-height:28px}.user-dialog .user-form .permission-preview .permission-tags .permission-tag[data-v-3527106c]{display:inline-block;font-size:12px;background:#fff;border:1px solid #e8ecf1;padding:2px 10px;border-radius:4px;color:#1e293b;line-height:1.8;-webkit-transition:all .2s;transition:all .2s}.user-dialog .user-form .permission-preview .permission-tags .permission-tag[data-v-3527106c]:hover{border-color:#93c5fd;background:#f8fafc}.user-dialog .user-form .permission-preview .permission-tags .permission-tag.all-permission[data-v-3527106c]{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;font-weight:500}.user-dialog .user-form .permission-preview .permission-tags .permission-tag.all-permission[data-v-3527106c]:hover{background:#dbeafe;border-color:#60a5fa}.tag-super-admin[data-v-3527106c]{background:#1e40af!important;border-color:#1e40af!important;color:#fff!important}.tag-system-admin[data-v-3527106c]{background:#dbeafe!important;border-color:#93c5fd!important;color:#1e40af!important}.tag-operator[data-v-3527106c]{background:#fef3c7!important;border-color:#fcd34d!important;color:#92400e!important}.tag-readonly[data-v-3527106c]{background:#f1f3f5!important;border-color:#d1d5db!important;color:#6b7280!important}.affix{position:relative;background-color:#fff}.affix-affix{display:inline-block;color:#fff;padding:10px 30px;text-align:center;background:rgba(0,153,229,.9)}.affix-line{height:100px}.title{margin-bottom:10px}.box{margin-bottom:20px}.top[data-v-9b5b37d8]{padding:10px;font-size:14px;background:rgba(0,153,229,.7);color:#fff;text-align:center;border-radius:2px}