.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-1501b866]{color:#94a3b8}.tab-bar[data-v-1501b866]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-1501b866]{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-1501b866]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-1501b866]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-1501b866]{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-1501b866]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-1501b866]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-1501b866]{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-1501b866]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-1501b866] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-1501b866]{min-width:120px}.search-bar .search-select[data-v-1501b866] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-1501b866]{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-1501b866]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-1501b866],.action-bar .el-button .el-icon-right[data-v-1501b866],.action-bar .el-button .el-icon-thunderbolt[data-v-1501b866],.action-bar .el-button .el-icon-user-plus[data-v-1501b866],.action-bar .el-button .el-icon-wifi[data-v-1501b866]{margin-right:2px}.general-table[data-v-1501b866]{border-radius:8px;overflow:hidden}.general-table[data-v-1501b866] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-1501b866] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-1501b866] .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-1501b866] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-1501b866]{-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-1501b866],.general-table .table-footer[data-v-1501b866]{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-1501b866]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-1501b866]{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-1501b866]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-1501b866] .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-1501b866] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-1501b866] .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-1501b866] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-1501b866] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-1501b866] .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-1501b866] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-1501b866] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-1501b866] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-1501b866] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-1501b866] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-1501b866] .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-1501b866] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-1501b866] .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-1501b866] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-1501b866] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-1501b866] .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-1501b866] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-1501b866]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-1501b866]:hover{text-decoration:underline}.status-tag[data-v-1501b866]{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-1501b866]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-1501b866]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-1501b866]{background:#10b981}.status-tag.offline[data-v-1501b866]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-1501b866]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-1501b866]{-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-1501b866],.table-footer .footer-right[data-v-1501b866]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-1501b866]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-1501b866] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-1501b866]{color:#94a3b8}.danger-btn[data-v-1501b866]:hover{color:#ef4444}.detail-view[data-v-1501b866]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left[data-v-1501b866]{gap:12px}.detail-header .detail-header-left .back-btn[data-v-1501b866],.detail-header .detail-header-left[data-v-1501b866]{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-1501b866]{gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-1501b866]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-1501b866]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-1501b866]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-1501b866]{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-1501b866]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-1501b866]{margin:0}.detail-tabs-wrapper[data-v-1501b866]{padding:0 20px 20px}.detail-tabs-nav[data-v-1501b866]{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-1501b866]{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-1501b866]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-1501b866]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-1501b866]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-1501b866]{min-height:200px}.detail-info-grid[data-v-1501b866]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-1501b866]{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-1501b866]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-1501b866]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-1501b866]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-1501b866]{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-1501b866]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-1501b866]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-1501b866]{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-1501b866]{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-1501b866]{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-1501b866]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-1501b866]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-1501b866]{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-1501b866]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-1501b866]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-1501b866]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-1501b866]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-1501b866]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-1501b866]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-1501b866]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-1501b866],.track-container .track-placeholder[data-v-1501b866]{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-1501b866]{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-1501b866]{position:relative;padding-left:24px}.history-timeline[data-v-1501b866]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-1501b866]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-1501b866]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-1501b866]{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-1501b866]{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-1501b866]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-1501b866]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-1501b866]{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-1501b866]{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-1501b866]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-1501b866]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-1501b866]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-1501b866] .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-1501b866] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-1501b866] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-1501b866] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-1501b866] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-1501b866] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-1501b866] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-1501b866] .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-1501b866] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-1501b866] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-1501b866] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-1501b866] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-1501b866] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-1501b866]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-1501b866]{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-1501b866]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-1501b866],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-1501b866],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-1501b866]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-1501b866]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-1501b866]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-1501b866]: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-1501b866]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-1501b866]{width:100%}.custom-dialog .upload-dropzone[data-v-1501b866]{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-1501b866]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-1501b866]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-1501b866]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-1501b866]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-1501b866]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-1501b866]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-1501b866]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-1501b866]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-1501b866]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-1501b866] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-1501b866] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-1501b866]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-1501b866]{font-weight:600;color:#0f172a}.ota-info-card[data-v-1501b866]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-1501b866]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-1501b866]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-1501b866]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-1501b866]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-1501b866]{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-1501b866]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-1501b866]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-1501b866]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-1501b866]{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-1501b866]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-1501b866] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-1501b866] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-1501b866] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-1501b866] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-1501b866] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-1501b866] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-1501b866] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-1501b866] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-1501b866] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-1501b866] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-1501b866]{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-1501b866]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-1501b866]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-1501b866]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-1501b866]{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-1501b866]{line-height:1}.mqtt-form .el-input__inner[data-v-1501b866]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-1501b866]: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-1501b866]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-1501b866]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-1501b866]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-1501b866]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-1501b866]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-1501b866]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-1501b866]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-1501b866]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-1501b866]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-1501b866]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-1501b866]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-1501b866]{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-1501b866]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.firmware-manage .list-header[data-v-1501b866]{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-1501b866]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.firmware-manage .list-header .el-button[data-v-1501b866]{border-radius:6px;font-size:13px}.firmware-manage .page-desc[data-v-1501b866]{font-size:12px;color:#94a3b8;margin:0 0 20px 0}.firmware-manage .general-table .group-tag[data-v-1501b866]{font-size:12px;font-weight:700;padding:3px 5px;border-radius:4px;border:1px solid}.firmware-manage .general-table .version-cell[data-v-1501b866]{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-1501b866]{font-weight:500;color:#1e293b}.firmware-manage .general-table .action-btn[data-v-1501b866]{padding:0 4px;font-size:12px}.firmware-manage .general-table .action-btn.active-btn[data-v-1501b866]{color:#3b82f6}.firmware-manage .general-table .action-btn.active-btn[data-v-1501b866]:hover{color:#2563eb}.firmware-manage .general-table .action-btn.danger-btn[data-v-1501b866]{color:#94a3b8}.firmware-manage .general-table .action-btn.danger-btn[data-v-1501b866]:hover{color:#ef4444}.firmware-manage .general-table .text-muted[data-v-1501b866]{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-4fcd20c3]{color:#94a3b8}.tab-bar[data-v-4fcd20c3]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-4fcd20c3]{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-4fcd20c3]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-4fcd20c3]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-4fcd20c3]{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-4fcd20c3]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-4fcd20c3]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-4fcd20c3]{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-4fcd20c3]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-4fcd20c3] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-4fcd20c3]{min-width:120px}.search-bar .search-select[data-v-4fcd20c3] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-4fcd20c3]{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-4fcd20c3]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-4fcd20c3],.action-bar .el-button .el-icon-right[data-v-4fcd20c3],.action-bar .el-button .el-icon-thunderbolt[data-v-4fcd20c3],.action-bar .el-button .el-icon-user-plus[data-v-4fcd20c3],.action-bar .el-button .el-icon-wifi[data-v-4fcd20c3]{margin-right:2px}.general-table[data-v-4fcd20c3]{border-radius:8px;overflow:hidden}.general-table[data-v-4fcd20c3] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-4fcd20c3] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-4fcd20c3] .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-4fcd20c3] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-4fcd20c3]{-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-4fcd20c3],.general-table .table-footer[data-v-4fcd20c3]{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-4fcd20c3]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-4fcd20c3]{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-4fcd20c3]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .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-4fcd20c3] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .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-4fcd20c3] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .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-4fcd20c3] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .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-4fcd20c3] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .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-4fcd20c3] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .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-4fcd20c3] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-4fcd20c3]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-4fcd20c3]:hover{text-decoration:underline}.status-tag[data-v-4fcd20c3]{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-4fcd20c3]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-4fcd20c3]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-4fcd20c3]{background:#10b981}.status-tag.offline[data-v-4fcd20c3]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-4fcd20c3]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-4fcd20c3]{-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-4fcd20c3],.table-footer .footer-right[data-v-4fcd20c3]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-4fcd20c3]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-4fcd20c3] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-4fcd20c3]{color:#94a3b8}.danger-btn[data-v-4fcd20c3]:hover{color:#ef4444}.detail-view[data-v-4fcd20c3]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left[data-v-4fcd20c3]{gap:12px}.detail-header .detail-header-left .back-btn[data-v-4fcd20c3],.detail-header .detail-header-left[data-v-4fcd20c3]{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-4fcd20c3]{gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-4fcd20c3]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-4fcd20c3]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-4fcd20c3]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-4fcd20c3]{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-4fcd20c3]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-4fcd20c3]{margin:0}.detail-tabs-wrapper[data-v-4fcd20c3]{padding:0 20px 20px}.detail-tabs-nav[data-v-4fcd20c3]{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-4fcd20c3]{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-4fcd20c3]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-4fcd20c3]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-4fcd20c3]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-4fcd20c3]{min-height:200px}.detail-info-grid[data-v-4fcd20c3]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-4fcd20c3]{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-4fcd20c3]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-4fcd20c3]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-4fcd20c3]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-4fcd20c3]{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-4fcd20c3]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-4fcd20c3]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-4fcd20c3]{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-4fcd20c3]{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-4fcd20c3]{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-4fcd20c3]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-4fcd20c3]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-4fcd20c3]{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-4fcd20c3]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-4fcd20c3]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-4fcd20c3]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-4fcd20c3]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-4fcd20c3]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-4fcd20c3]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-4fcd20c3]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-4fcd20c3],.track-container .track-placeholder[data-v-4fcd20c3]{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-4fcd20c3]{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-4fcd20c3]{position:relative;padding-left:24px}.history-timeline[data-v-4fcd20c3]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-4fcd20c3]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-4fcd20c3]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-4fcd20c3]{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-4fcd20c3]{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-4fcd20c3]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-4fcd20c3]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-4fcd20c3]{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-4fcd20c3]{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-4fcd20c3]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-4fcd20c3]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-4fcd20c3]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-4fcd20c3] .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-4fcd20c3] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-4fcd20c3] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-4fcd20c3] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-4fcd20c3] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-4fcd20c3] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-4fcd20c3] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-4fcd20c3] .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-4fcd20c3] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-4fcd20c3] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-4fcd20c3] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-4fcd20c3] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-4fcd20c3] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-4fcd20c3]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-4fcd20c3]{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-4fcd20c3]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-4fcd20c3],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-4fcd20c3],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-4fcd20c3]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-4fcd20c3]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-4fcd20c3]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-4fcd20c3]: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-4fcd20c3]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-4fcd20c3]{width:100%}.custom-dialog .upload-dropzone[data-v-4fcd20c3]{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-4fcd20c3]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-4fcd20c3]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-4fcd20c3]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-4fcd20c3]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-4fcd20c3]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-4fcd20c3]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-4fcd20c3]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-4fcd20c3]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-4fcd20c3]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-4fcd20c3] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-4fcd20c3] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-4fcd20c3]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-4fcd20c3]{font-weight:600;color:#0f172a}.ota-info-card[data-v-4fcd20c3]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-4fcd20c3]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-4fcd20c3]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-4fcd20c3]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-4fcd20c3]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-4fcd20c3]{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-4fcd20c3]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-4fcd20c3]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-4fcd20c3]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-4fcd20c3]{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-4fcd20c3]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-4fcd20c3] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-4fcd20c3] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-4fcd20c3] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-4fcd20c3] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-4fcd20c3] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-4fcd20c3] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-4fcd20c3] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-4fcd20c3] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-4fcd20c3] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-4fcd20c3] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-4fcd20c3]{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-4fcd20c3]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-4fcd20c3]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-4fcd20c3]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-4fcd20c3]{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-4fcd20c3]{line-height:1}.mqtt-form .el-input__inner[data-v-4fcd20c3]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-4fcd20c3]: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-4fcd20c3]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-4fcd20c3]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-4fcd20c3]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-4fcd20c3]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-4fcd20c3]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-4fcd20c3]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-4fcd20c3]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-4fcd20c3]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-4fcd20c3]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-4fcd20c3]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-4fcd20c3]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-4fcd20c3]{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-4fcd20c3]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.customer-manage .list-header[data-v-4fcd20c3]{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-4fcd20c3]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.customer-manage .list-header .count-badge[data-v-4fcd20c3]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.customer-manage .search-bar[data-v-4fcd20c3]{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-4fcd20c3]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:180px}.customer-manage .search-bar .search-input[data-v-4fcd20c3] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.customer-manage .customer-name[data-v-4fcd20c3]{color:#3b82f6;font-weight:500;cursor:pointer}.customer-manage .customer-name[data-v-4fcd20c3]:hover{text-decoration:underline}.customer-manage .danger-btn[data-v-4fcd20c3]{color:#94a3b8}.customer-manage .danger-btn[data-v-4fcd20c3]:hover{color:#ef4444}.customer-manage[data-v-4fcd20c3] .custom-dialog .el-dialog{border-radius:12px;overflow:hidden}.customer-manage[data-v-4fcd20c3] .custom-dialog .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1}.customer-manage[data-v-4fcd20c3] .custom-dialog .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.customer-manage[data-v-4fcd20c3] .custom-dialog .el-dialog__body{padding:20px 24px 8px}.customer-manage[data-v-4fcd20c3] .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-4fcd20c3] .custom-dialog .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.customer-manage[data-v-4fcd20c3] .custom-dialog .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.customer-manage[data-v-4fcd20c3] .custom-dialog .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.customer-manage[data-v-4fcd20c3] .custom-dialog .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.customer-manage[data-v-4fcd20c3] .custom-dialog .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.text-muted[data-v-0532dd04]{color:#94a3b8}.tab-bar[data-v-0532dd04]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-0532dd04]{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-0532dd04]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-0532dd04]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-0532dd04]{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-0532dd04]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-0532dd04]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-0532dd04]{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-0532dd04]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-0532dd04] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-0532dd04]{min-width:120px}.search-bar .search-select[data-v-0532dd04] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-0532dd04]{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-0532dd04]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-0532dd04],.action-bar .el-button .el-icon-right[data-v-0532dd04],.action-bar .el-button .el-icon-thunderbolt[data-v-0532dd04],.action-bar .el-button .el-icon-user-plus[data-v-0532dd04],.action-bar .el-button .el-icon-wifi[data-v-0532dd04]{margin-right:2px}.general-table[data-v-0532dd04]{border-radius:8px;overflow:hidden}.general-table[data-v-0532dd04] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-0532dd04] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-0532dd04] .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-0532dd04] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-0532dd04]{-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-0532dd04],.general-table .table-footer[data-v-0532dd04]{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-0532dd04]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-0532dd04]{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-0532dd04]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-0532dd04] .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-0532dd04] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-0532dd04] .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-0532dd04] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-0532dd04] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-0532dd04] .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-0532dd04] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-0532dd04] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-0532dd04] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-0532dd04] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-0532dd04] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-0532dd04] .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-0532dd04] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-0532dd04] .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-0532dd04] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-0532dd04] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-0532dd04] .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-0532dd04] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-0532dd04]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-0532dd04]:hover{text-decoration:underline}.status-tag[data-v-0532dd04]{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-0532dd04]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-0532dd04]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-0532dd04]{background:#10b981}.status-tag.offline[data-v-0532dd04]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-0532dd04]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-0532dd04]{-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-0532dd04],.table-footer .footer-right[data-v-0532dd04]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-0532dd04]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-0532dd04] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-0532dd04]{color:#94a3b8}.danger-btn[data-v-0532dd04]:hover{color:#ef4444}.detail-view[data-v-0532dd04]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left[data-v-0532dd04]{gap:12px}.detail-header .detail-header-left .back-btn[data-v-0532dd04],.detail-header .detail-header-left[data-v-0532dd04]{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-0532dd04]{gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-0532dd04]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-0532dd04]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-0532dd04]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-0532dd04]{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-0532dd04]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-0532dd04]{margin:0}.detail-tabs-wrapper[data-v-0532dd04]{padding:0 20px 20px}.detail-tabs-nav[data-v-0532dd04]{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-0532dd04]{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-0532dd04]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-0532dd04]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-0532dd04]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-0532dd04]{min-height:200px}.detail-info-grid[data-v-0532dd04]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-0532dd04]{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-0532dd04]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-0532dd04]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-0532dd04]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-0532dd04]{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-0532dd04]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-0532dd04]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-0532dd04]{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-0532dd04]{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-0532dd04]{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-0532dd04]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-0532dd04]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-0532dd04]{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-0532dd04]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-0532dd04]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-0532dd04]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-0532dd04]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-0532dd04]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-0532dd04]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-0532dd04]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-0532dd04],.track-container .track-placeholder[data-v-0532dd04]{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-0532dd04]{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-0532dd04]{position:relative;padding-left:24px}.history-timeline[data-v-0532dd04]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-0532dd04]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-0532dd04]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-0532dd04]{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-0532dd04]{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-0532dd04]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-0532dd04]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-0532dd04]{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-0532dd04]{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-0532dd04]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-0532dd04]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-0532dd04]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-0532dd04] .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-0532dd04] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-0532dd04] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-0532dd04] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-0532dd04] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-0532dd04] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-0532dd04] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-0532dd04] .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-0532dd04] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-0532dd04] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-0532dd04] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-0532dd04] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-0532dd04] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-0532dd04]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-0532dd04]{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-0532dd04]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-0532dd04],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-0532dd04],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-0532dd04]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-0532dd04]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-0532dd04]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-0532dd04]: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-0532dd04]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-0532dd04]{width:100%}.custom-dialog .upload-dropzone[data-v-0532dd04]{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-0532dd04]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-0532dd04]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-0532dd04]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-0532dd04]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-0532dd04]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-0532dd04]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-0532dd04]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-0532dd04]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-0532dd04]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-0532dd04] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-0532dd04] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-0532dd04]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-0532dd04]{font-weight:600;color:#0f172a}.ota-info-card[data-v-0532dd04]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-0532dd04]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-0532dd04]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-0532dd04]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-0532dd04]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-0532dd04]{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-0532dd04]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-0532dd04]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-0532dd04]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-0532dd04]{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-0532dd04]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-0532dd04] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-0532dd04] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-0532dd04] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-0532dd04] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-0532dd04] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-0532dd04] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-0532dd04] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-0532dd04] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-0532dd04] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-0532dd04] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-0532dd04]{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-0532dd04]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-0532dd04]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-0532dd04]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-0532dd04]{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-0532dd04]{line-height:1}.mqtt-form .el-input__inner[data-v-0532dd04]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-0532dd04]: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-0532dd04]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-0532dd04]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-0532dd04]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-0532dd04]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-0532dd04]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-0532dd04]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-0532dd04]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-0532dd04]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-0532dd04]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-0532dd04]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-0532dd04]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-0532dd04]{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-0532dd04]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.audio-manage .list-header h2[data-v-0532dd04]{font-size:16px;font-weight:500;color:#1e293b;margin:0 0 4px 0}.audio-manage .tab-nav[data-v-0532dd04]{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-0532dd04]{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-0532dd04]:hover{color:#1e293b}.audio-manage .tab-nav .tab-btn.active[data-v-0532dd04]{color:#2563eb;border-bottom-color:#2563eb}.audio-manage .audio-tip[data-v-0532dd04]{font-size:12px;color:#64748b;margin-bottom:12px}.audio-manage .audio-name-cell[data-v-0532dd04]{gap:8px}.audio-manage .audio-name-cell .audio-icon[data-v-0532dd04],.audio-manage .audio-name-cell[data-v-0532dd04]{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-0532dd04]{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-0532dd04]{background:#f3e8ff;color:#7c3aed}.audio-manage .audio-name-cell span[data-v-0532dd04]{font-weight:500;color:#1e293b}.audio-manage .version-tag[data-v-0532dd04]{font-family:monospace;font-size:12px;background:#f1f5f9;padding:0 6px;border-radius:4px;color:#64748b}.audio-manage .replace-btn[data-v-0532dd04]{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-0532dd04]:hover{text-decoration:underline}.audio-manage .icon-btn[data-v-0532dd04]{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;border-radius:4px}.audio-manage .icon-btn.danger[data-v-0532dd04]:hover{color:#ef4444;background:#fef2f2}.text-muted[data-v-45626470]{color:#94a3b8}.tab-bar[data-v-45626470]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-45626470]{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-45626470]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-45626470]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-45626470]{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-45626470]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-45626470]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-45626470]{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-45626470]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-45626470] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-45626470]{min-width:120px}.search-bar .search-select[data-v-45626470] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-45626470]{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-45626470]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-45626470],.action-bar .el-button .el-icon-right[data-v-45626470],.action-bar .el-button .el-icon-thunderbolt[data-v-45626470],.action-bar .el-button .el-icon-user-plus[data-v-45626470],.action-bar .el-button .el-icon-wifi[data-v-45626470]{margin-right:2px}.general-table[data-v-45626470]{border-radius:8px;overflow:hidden}.general-table[data-v-45626470] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-45626470] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-45626470] .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-45626470] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-45626470]{-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-45626470],.general-table .table-footer[data-v-45626470]{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-45626470]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-45626470]{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-45626470]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-45626470] .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-45626470] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-45626470] .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-45626470] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-45626470] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-45626470] .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-45626470] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-45626470] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-45626470] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-45626470] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-45626470] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-45626470] .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-45626470] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-45626470] .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-45626470] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-45626470] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-45626470] .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-45626470] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-45626470]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-45626470]:hover{text-decoration:underline}.status-tag[data-v-45626470]{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-45626470]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-45626470]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-45626470]{background:#10b981}.status-tag.offline[data-v-45626470]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-45626470]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-45626470]{-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-45626470],.table-footer .footer-right[data-v-45626470]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-45626470]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-45626470] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-45626470]{color:#94a3b8}.danger-btn[data-v-45626470]:hover{color:#ef4444}.detail-view[data-v-45626470]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left .back-btn[data-v-45626470]{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-45626470]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-45626470]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-45626470]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-45626470]{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-45626470]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-45626470]{margin:0}.detail-tabs-wrapper[data-v-45626470]{padding:0 20px 20px}.detail-tabs-nav[data-v-45626470]{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-45626470]{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-45626470]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-45626470]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-45626470]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-45626470]{min-height:200px}.detail-info-grid[data-v-45626470]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-45626470]{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-45626470]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-45626470]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-45626470]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-45626470]{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-45626470]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-45626470]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-45626470]{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-45626470]{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-45626470]{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-45626470]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-45626470]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-45626470]{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-45626470]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-45626470]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-45626470]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-45626470]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-45626470]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-45626470]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-45626470]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-45626470],.track-container .track-placeholder[data-v-45626470]{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-45626470]{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-45626470]{position:relative;padding-left:24px}.history-timeline[data-v-45626470]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-45626470]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-45626470]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-45626470]{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-45626470]{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-45626470]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-45626470]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-45626470]{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-45626470]{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-45626470]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-45626470]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-45626470]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-45626470] .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-45626470] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-45626470] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-45626470] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-45626470] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-45626470] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-45626470] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-45626470] .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-45626470] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-45626470] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-45626470] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-45626470] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-45626470] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-45626470]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-45626470]{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-45626470]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-45626470],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-45626470],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-45626470]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-45626470]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-45626470]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-45626470]: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-45626470]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-45626470]{width:100%}.custom-dialog .upload-dropzone[data-v-45626470]{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-45626470]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-45626470]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-45626470]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-45626470]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-45626470]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-45626470]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-45626470]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-45626470]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-45626470]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-45626470] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-45626470] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-45626470]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-45626470]{font-weight:600;color:#0f172a}.ota-info-card[data-v-45626470]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-45626470]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-45626470]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-45626470]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-45626470]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-45626470]{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-45626470]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-45626470]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-45626470]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-45626470]{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-45626470]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-45626470] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-45626470] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-45626470] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-45626470] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-45626470] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-45626470] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-45626470] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-45626470] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-45626470] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-45626470] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-45626470]{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-45626470]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-45626470]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-45626470]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-45626470]{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-45626470]{line-height:1}.mqtt-form .el-input__inner[data-v-45626470]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-45626470]: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-45626470]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-45626470]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-45626470]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-45626470]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-45626470]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-45626470]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-45626470]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-45626470]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-45626470]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-45626470]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-45626470]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-45626470]{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-45626470]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.detail-header[data-v-45626470]{-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-45626470],.detail-header[data-v-45626470]{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-45626470]{gap:12px}.detail-header .back-btn[data-v-45626470]{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-45626470]:hover{color:#1e293b}.detail-header .back-btn svg[data-v-45626470]{stroke:currentColor}.detail-header .back-btn span[data-v-45626470]{font-weight:400}.detail-header .detail-divider[data-v-45626470]{color:#e8ecf1}.detail-header .detail-device-info[data-v-45626470]{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-45626470]{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-f7abf194]{color:#94a3b8}.tab-bar[data-v-f7abf194]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-f7abf194]{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-f7abf194]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-f7abf194]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-f7abf194]{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-f7abf194]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-f7abf194]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-f7abf194]{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-f7abf194]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-f7abf194] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-f7abf194]{min-width:120px}.search-bar .search-select[data-v-f7abf194] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-f7abf194]{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-f7abf194]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-f7abf194],.action-bar .el-button .el-icon-right[data-v-f7abf194],.action-bar .el-button .el-icon-thunderbolt[data-v-f7abf194],.action-bar .el-button .el-icon-user-plus[data-v-f7abf194],.action-bar .el-button .el-icon-wifi[data-v-f7abf194]{margin-right:2px}.general-table[data-v-f7abf194]{border-radius:8px;overflow:hidden}.general-table[data-v-f7abf194] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-f7abf194] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-f7abf194] .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-f7abf194] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-f7abf194]{-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-f7abf194],.general-table .table-footer[data-v-f7abf194]{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-f7abf194]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-f7abf194]{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-f7abf194]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-f7abf194] .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-f7abf194] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-f7abf194] .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-f7abf194] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-f7abf194] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-f7abf194] .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-f7abf194] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-f7abf194] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-f7abf194] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-f7abf194] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-f7abf194] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-f7abf194] .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-f7abf194] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-f7abf194] .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-f7abf194] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-f7abf194] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-f7abf194] .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-f7abf194] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-f7abf194]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-f7abf194]:hover{text-decoration:underline}.status-tag[data-v-f7abf194]{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-f7abf194]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-f7abf194]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-f7abf194]{background:#10b981}.status-tag.offline[data-v-f7abf194]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-f7abf194]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-f7abf194]{-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-f7abf194],.table-footer .footer-right[data-v-f7abf194]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-f7abf194]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-f7abf194] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-f7abf194]{color:#94a3b8}.danger-btn[data-v-f7abf194]:hover{color:#ef4444}.detail-view[data-v-f7abf194]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left .back-btn[data-v-f7abf194]{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-f7abf194]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-f7abf194]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-f7abf194]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-f7abf194]{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-f7abf194]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-f7abf194]{margin:0}.detail-tabs-wrapper[data-v-f7abf194]{padding:0 20px 20px}.detail-tabs-nav[data-v-f7abf194]{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-f7abf194]{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-f7abf194]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-f7abf194]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-f7abf194]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-f7abf194]{min-height:200px}.detail-info-grid[data-v-f7abf194]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-f7abf194]{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-f7abf194]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-f7abf194]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-f7abf194]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-f7abf194]{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-f7abf194]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-f7abf194]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-f7abf194]{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-f7abf194]{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-f7abf194]{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-f7abf194]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-f7abf194]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-f7abf194]{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-f7abf194]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-f7abf194]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-f7abf194]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-f7abf194]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-f7abf194]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-f7abf194]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-f7abf194]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-f7abf194],.track-container .track-placeholder[data-v-f7abf194]{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-f7abf194]{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-f7abf194]{position:relative;padding-left:24px}.history-timeline[data-v-f7abf194]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-f7abf194]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-f7abf194]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-f7abf194]{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-f7abf194]{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-f7abf194]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-f7abf194]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-f7abf194]{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-f7abf194]{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-f7abf194]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-f7abf194]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-f7abf194]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-f7abf194] .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-f7abf194] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-f7abf194] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-f7abf194] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-f7abf194] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-f7abf194] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-f7abf194] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-f7abf194] .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-f7abf194] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-f7abf194] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-f7abf194] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-f7abf194] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-f7abf194] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-f7abf194]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-f7abf194]{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-f7abf194]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-f7abf194],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-f7abf194],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-f7abf194]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-f7abf194]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-f7abf194]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-f7abf194]: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-f7abf194]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-f7abf194]{width:100%}.custom-dialog .upload-dropzone[data-v-f7abf194]{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-f7abf194]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-f7abf194]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-f7abf194]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-f7abf194]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-f7abf194]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-f7abf194]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-f7abf194]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-f7abf194]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-f7abf194]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-f7abf194] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-f7abf194] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-f7abf194]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-f7abf194]{font-weight:600;color:#0f172a}.ota-info-card[data-v-f7abf194]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-f7abf194]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-f7abf194]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-f7abf194]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-f7abf194]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-f7abf194]{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-f7abf194]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-f7abf194]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-f7abf194]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-f7abf194]{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-f7abf194]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-f7abf194] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-f7abf194] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-f7abf194] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-f7abf194] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-f7abf194] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-f7abf194] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-f7abf194] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-f7abf194] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-f7abf194] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-f7abf194] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-f7abf194]{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-f7abf194]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-f7abf194]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-f7abf194]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-f7abf194]{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-f7abf194]{line-height:1}.mqtt-form .el-input__inner[data-v-f7abf194]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-f7abf194]: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-f7abf194]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-f7abf194]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-f7abf194]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-f7abf194]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-f7abf194]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-f7abf194]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-f7abf194]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-f7abf194]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-f7abf194]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-f7abf194]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-f7abf194]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-f7abf194]{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-f7abf194]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.detail-header[data-v-f7abf194]{-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-f7abf194],.detail-header[data-v-f7abf194]{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-f7abf194]{gap:12px}.detail-header .back-btn[data-v-f7abf194]{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-f7abf194]:hover{color:#1e293b}.detail-header .back-btn svg[data-v-f7abf194]{stroke:currentColor}.detail-header .back-btn span[data-v-f7abf194]{font-weight:400}.detail-header .detail-divider[data-v-f7abf194]{color:#e8ecf1}.detail-header .detail-device-info[data-v-f7abf194]{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-f7abf194]{font-size:18px;font-weight:500;color:#1e293b;margin:0}.vcu-status-tag[data-v-f7abf194]{display:inline-block;padding:0 8px;border-radius:4px;font-size:12px;line-height:22px;font-weight:500}.vcu-status-tag.status-已验收[data-v-f7abf194]{background:#f3e8ff;color:#7c3aed;border:1px solid #d8b4fe}.vcu-status-tag.status-已分配[data-v-f7abf194]{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.vcu-status-tag.status-已检测[data-v-f7abf194]{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.vcu-status-tag.status-待检测[data-v-f7abf194]{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.network-tag[data-v-f7abf194]{display:inline-block;padding:0 8px;border-radius:12px;font-size:12px;line-height:20px}.network-tag--4g5g[data-v-f7abf194]{background:#e0f2fe;color:#0369a1;border:1px solid #7dd3fc}.network-tag--none[data-v-f7abf194]{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-623bcfc1]{color:#94a3b8}.tab-bar[data-v-623bcfc1]{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #e8ecf1;margin-bottom:16px}.tab-bar .tab-btn[data-v-623bcfc1]{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-623bcfc1]:hover{color:#1e293b}.tab-bar .tab-btn.active[data-v-623bcfc1]{color:#1e293b;border-bottom-color:#3b82f6}.list-header[data-v-623bcfc1]{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-623bcfc1]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.list-header .count-badge[data-v-623bcfc1]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.search-bar[data-v-623bcfc1]{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-623bcfc1]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.search-bar .search-input[data-v-623bcfc1] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.search-bar .search-select[data-v-623bcfc1]{min-width:120px}.search-bar .search-select[data-v-623bcfc1] .el-input__inner{height:34px;border-radius:6px}.action-bar[data-v-623bcfc1]{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-623bcfc1]{border-radius:6px;font-size:13px}.action-bar .el-button .el-icon-delete[data-v-623bcfc1],.action-bar .el-button .el-icon-right[data-v-623bcfc1],.action-bar .el-button .el-icon-thunderbolt[data-v-623bcfc1],.action-bar .el-button .el-icon-user-plus[data-v-623bcfc1],.action-bar .el-button .el-icon-wifi[data-v-623bcfc1]{margin-right:2px}.general-table[data-v-623bcfc1]{border-radius:8px;overflow:hidden}.general-table[data-v-623bcfc1] .el-table__header-wrapper th{background:#f8fafc!important;color:#64748b;font-weight:500;font-size:12px;padding:10px 0}.general-table[data-v-623bcfc1] .el-table__body-wrapper td{font-size:13px}.general-table[data-v-623bcfc1] .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-623bcfc1] .el-table__row td{height:60px!important;padding:0!important;vertical-align:middle!important}.general-table .table-footer[data-v-623bcfc1]{-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-623bcfc1],.general-table .table-footer[data-v-623bcfc1]{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-623bcfc1]{font-size:13px;color:#94a3b8;font-weight:400}.general-table .table-footer .footer-right[data-v-623bcfc1]{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-623bcfc1]{font-size:13px;color:#606266;font-weight:400;white-space:nowrap}.general-table .table-footer .footer-right .custom-pagination[data-v-623bcfc1] .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-623bcfc1] .el-pagination .el-pagination__sizes{margin:0 8px 0 0}.general-table .table-footer .footer-right .custom-pagination[data-v-623bcfc1] .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-623bcfc1] .el-pagination .el-pagination__sizes .el-input__inner:focus{border-color:#3b82f6}.general-table .table-footer .footer-right .custom-pagination[data-v-623bcfc1] .el-pagination .btn-next,.general-table .table-footer .footer-right .custom-pagination[data-v-623bcfc1] .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-623bcfc1] .el-pagination .btn-next:hover:not(:disabled),.general-table .table-footer .footer-right .custom-pagination[data-v-623bcfc1] .el-pagination .btn-prev:hover:not(:disabled){background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-623bcfc1] .el-pagination .btn-next:disabled,.general-table .table-footer .footer-right .custom-pagination[data-v-623bcfc1] .el-pagination .btn-prev:disabled{opacity:.4;cursor:not-allowed}.general-table .table-footer .footer-right .custom-pagination[data-v-623bcfc1] .el-pagination .el-pager{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.general-table .table-footer .footer-right .custom-pagination[data-v-623bcfc1] .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-623bcfc1] .el-pagination .el-pager li:hover{background:#e8ecf1;color:#1e293b}.general-table .table-footer .footer-right .custom-pagination[data-v-623bcfc1] .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-623bcfc1] .el-pagination .el-pager li.active:hover{background:#2563eb;border-color:#2563eb}.general-table .table-footer .footer-right .custom-pagination[data-v-623bcfc1] .el-pagination .el-pagination__jump{margin-left:8px;font-size:13px;color:#64748b}.general-table .table-footer .footer-right .custom-pagination[data-v-623bcfc1] .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-623bcfc1] .el-pagination .el-pagination__jump .el-input__inner:focus{border-color:#3b82f6}.device-id[data-v-623bcfc1]{color:#3b82f6;font-weight:500;cursor:pointer}.device-id[data-v-623bcfc1]:hover{text-decoration:underline}.status-tag[data-v-623bcfc1]{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-623bcfc1]{width:6px;height:6px;border-radius:50%;display:inline-block}.status-tag.online[data-v-623bcfc1]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-tag.online .dot[data-v-623bcfc1]{background:#10b981}.status-tag.offline[data-v-623bcfc1]{background:#f1f3f5;color:#6b7280;border:1px solid #d1d5db}.status-tag.offline .dot[data-v-623bcfc1]{background:#9ca3af}@media(max-width:768px){.table-footer[data-v-623bcfc1]{-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-623bcfc1],.table-footer .footer-right[data-v-623bcfc1]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.table-footer .footer-right[data-v-623bcfc1]{gap:10px}.table-footer .footer-right .custom-pagination[data-v-623bcfc1] .el-pagination{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.danger-btn[data-v-623bcfc1]{color:#94a3b8}.danger-btn[data-v-623bcfc1]:hover{color:#ef4444}.detail-view[data-v-623bcfc1]{background:#fff;border-radius:8px;border:1px solid #e8ecf1;overflow:hidden}.detail-header .detail-header-left[data-v-623bcfc1]{gap:12px}.detail-header .detail-header-left .back-btn[data-v-623bcfc1],.detail-header .detail-header-left[data-v-623bcfc1]{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-623bcfc1]{gap:4px;padding:0;font-size:14px;color:#94a3b8}.detail-header .detail-header-left .back-btn svg[data-v-623bcfc1]{width:16px;height:16px;stroke:currentColor}.detail-header .detail-header-left .back-btn[data-v-623bcfc1]:hover{color:#1e293b}.detail-header .detail-header-left .detail-divider[data-v-623bcfc1]{color:#e8ecf1;font-size:18px;line-height:1}.detail-header .detail-header-left .detail-device-info[data-v-623bcfc1]{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-623bcfc1]{margin:0;font-size:18px;font-weight:500;color:#1e293b}.detail-header .detail-header-left .detail-device-info .status-tag[data-v-623bcfc1]{margin:0}.detail-tabs-wrapper[data-v-623bcfc1]{padding:0 20px 20px}.detail-tabs-nav[data-v-623bcfc1]{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-623bcfc1]{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-623bcfc1]{-ms-flex-negative:0;flex-shrink:0}.detail-tabs-nav .detail-tab-btn[data-v-623bcfc1]:hover{color:#1e293b}.detail-tabs-nav .detail-tab-btn.active[data-v-623bcfc1]{color:#1e293b;border-bottom-color:#3b82f6}.detail-tabs-content[data-v-623bcfc1]{min-height:200px}.detail-info-grid[data-v-623bcfc1]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px}.detail-info-grid div[data-v-623bcfc1]{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-623bcfc1]{font-size:12px;color:#94a3b8;margin-bottom:2px}.detail-info-grid div .value[data-v-623bcfc1]{font-size:14px;color:#1e293b;font-weight:400}.mqtt-config-section[data-v-623bcfc1]{margin-top:24px;padding-top:16px;border-top:1px solid #e8ecf1}.mqtt-config-section .mqtt-section-title[data-v-623bcfc1]{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-623bcfc1]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:1px;background:#e8ecf1}.mqtt-config-section .mqtt-section-title .title-text[data-v-623bcfc1]{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;letter-spacing:.3px}.mqtt-config-section .mqtt-empty-tip[data-v-623bcfc1]{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-623bcfc1]{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-623bcfc1]{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-623bcfc1]{font-size:12px;color:#94a3b8;font-weight:400}.mqtt-config-section .mqtt-config-grid .mqtt-item .value[data-v-623bcfc1]{font-size:14px;color:#1e293b;font-weight:500;word-break:break-all}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper[data-v-623bcfc1]{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-623bcfc1]{font-family:Courier New,monospace;letter-spacing:.5px}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-623bcfc1]{padding:0;min-height:auto;height:auto;color:#94a3b8}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn[data-v-623bcfc1]:hover{color:#475569}.mqtt-config-section .mqtt-config-grid .password-item .password-wrapper .eye-btn svg[data-v-623bcfc1]{display:block}@media(max-width:768px){.mqtt-config-section .mqtt-config-grid[data-v-623bcfc1]{grid-template-columns:repeat(2,1fr);gap:12px 20px;padding:14px 16px}}@media(max-width:480px){.mqtt-config-section .mqtt-config-grid[data-v-623bcfc1]{grid-template-columns:1fr;gap:10px}}.track-container .track-control[data-v-623bcfc1]{gap:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:16px}.track-container .track-control[data-v-623bcfc1],.track-container .track-placeholder[data-v-623bcfc1]{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-623bcfc1]{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-623bcfc1]{position:relative;padding-left:24px}.history-timeline[data-v-623bcfc1]:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#e8ecf1}.history-timeline .timeline-item[data-v-623bcfc1]{position:relative;padding-bottom:20px}.history-timeline .timeline-item[data-v-623bcfc1]:last-child{padding-bottom:0}.history-timeline .timeline-item .timeline-dot[data-v-623bcfc1]{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-623bcfc1]{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-623bcfc1]{background:#f8fafc;padding:12px 16px;border-radius:6px;border:1px solid #e8ecf1;position:relative}.history-timeline .timeline-item .timeline-content .timeline-title[data-v-623bcfc1]{font-weight:500;color:#1e293b;font-size:14px;display:inline-block;margin-right:8px}.history-timeline .timeline-item .timeline-content .current-badge[data-v-623bcfc1]{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-623bcfc1]{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-623bcfc1]{padding:2px 0}.history-timeline .timeline-item .timeline-content .timeline-meta .meta-reason[data-v-623bcfc1]{grid-column:1/-1;color:#94a3b8;padding-top:2px;border-top:1px dashed #e8ecf1;margin-top:2px}.history-timeline .empty-timeline[data-v-623bcfc1]{color:#94a3b8;text-align:center;padding:40px 0}.custom-dialog[data-v-623bcfc1] .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-623bcfc1] .el-dialog__header{padding:16px 24px 12px;border-bottom:1px solid #e8ecf1;-ms-flex-negative:0;flex-shrink:0}.custom-dialog[data-v-623bcfc1] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:500;color:#1e293b}.custom-dialog[data-v-623bcfc1] .el-dialog__body{padding:20px 24px 8px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.custom-dialog[data-v-623bcfc1] .el-dialog__body::-webkit-scrollbar{width:4px}.custom-dialog[data-v-623bcfc1] .el-dialog__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.custom-dialog[data-v-623bcfc1] .el-dialog__body::-webkit-scrollbar-track{background:transparent}.custom-dialog[data-v-623bcfc1] .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-623bcfc1] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px}.custom-dialog[data-v-623bcfc1] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.custom-dialog[data-v-623bcfc1] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.custom-dialog[data-v-623bcfc1] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.custom-dialog[data-v-623bcfc1] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.custom-dialog .el-form .el-form-item[data-v-623bcfc1]{margin-bottom:12px}.custom-dialog .el-form .el-form-item .el-form-item__label[data-v-623bcfc1]{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-623bcfc1]{line-height:1}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-623bcfc1],.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-623bcfc1],.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-623bcfc1]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:36px}.custom-dialog .el-form .el-form-item .el-input__inner[data-v-623bcfc1]:focus,.custom-dialog .el-form .el-form-item .el-select .el-input__inner[data-v-623bcfc1]:focus,.custom-dialog .el-form .el-form-item .el-textarea__inner[data-v-623bcfc1]: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-623bcfc1]{height:auto;min-height:72px;resize:vertical}.custom-dialog .el-form .el-form-item .el-date-editor.el-input[data-v-623bcfc1]{width:100%}.custom-dialog .upload-dropzone[data-v-623bcfc1]{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-623bcfc1]:hover{border-color:#93c5fd;background:#f8fafc}.custom-dialog .upload-dropzone.is-dragover[data-v-623bcfc1]{border-color:#2563eb;background:#eff6ff}.custom-dialog .upload-dropzone .upload-icon[data-v-623bcfc1]{color:#94a3b8;margin-bottom:2px;stroke:currentColor;width:32px;height:32px}.custom-dialog .upload-dropzone .upload-text[data-v-623bcfc1]{font-size:14px;color:#64748b;margin:0 0 2px 0}.custom-dialog .upload-dropzone .upload-btn[data-v-623bcfc1]{display:inline-block;font-size:14px;color:#2563eb;cursor:pointer;font-weight:500}.custom-dialog .upload-dropzone .upload-btn[data-v-623bcfc1]:hover{text-decoration:underline}.custom-dialog .upload-dropzone .upload-btn .hidden[data-v-623bcfc1]{display:none}.custom-dialog .upload-dropzone .upload-hint[data-v-623bcfc1]{font-size:12px;color:#94a3b8;margin:2px 0 0 0}.custom-dialog .upload-dropzone .upload-file-name[data-v-623bcfc1]{font-size:13px;color:#1e293b;margin:2px 0 0 0;font-weight:500;word-break:break-all}.form-compact-dialog[data-v-623bcfc1] .el-form-item__label{padding:0!important;line-height:26px!important}.form-compact-dialog[data-v-623bcfc1] .el-form-item{margin-bottom:15px!important}.dialog-body .dialog-desc[data-v-623bcfc1]{font-size:14px;color:#1e293b;margin:0 0 16px 0}.dialog-body .dialog-desc strong[data-v-623bcfc1]{font-weight:600;color:#0f172a}.ota-info-card[data-v-623bcfc1]{background:#f8fafc;border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid #e8ecf1}.ota-info-card .ota-label[data-v-623bcfc1]{font-size:12px;color:#94a3b8;margin:0 0 4px 0}.ota-info-card .ota-version[data-v-623bcfc1]{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ota-info-card .ota-detail[data-v-623bcfc1]{font-size:13px;color:#64748b;margin:2px 0}.ota-info-card .ota-desc[data-v-623bcfc1]{font-size:13px;color:#475569;margin:4px 0 0 0}.ota-warning-box[data-v-623bcfc1]{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-623bcfc1]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-notice-box[data-v-623bcfc1]{padding:12px 16px;margin-bottom:16px}.mqtt-tip[data-v-623bcfc1]{font-size:12px;color:#94a3b8;margin-top:4px;line-height:1.5;padding:4px 0 0 0}.assign-tip[data-v-623bcfc1]{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-623bcfc1]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.mqtt-dialog[data-v-623bcfc1] .el-dialog{border-radius:12px;overflow:hidden}.mqtt-dialog[data-v-623bcfc1] .el-dialog__header{padding:18px 24px 14px;border-bottom:1px solid #e8ecf1}.mqtt-dialog[data-v-623bcfc1] .el-dialog__header .el-dialog__title{font-size:16px;font-weight:600;color:#0f172a}.mqtt-dialog[data-v-623bcfc1] .el-dialog__body{padding:20px 24px 8px}.mqtt-dialog[data-v-623bcfc1] .el-dialog__footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e8ecf1;border-radius:0 0 12px 12px}.mqtt-dialog[data-v-623bcfc1] .el-dialog__footer .el-button{border-radius:6px;height:36px;padding:0 20px;font-size:14px;font-weight:500}.mqtt-dialog[data-v-623bcfc1] .el-dialog__footer .el-button:first-child{border-color:#d1d5db;color:#64748b}.mqtt-dialog[data-v-623bcfc1] .el-dialog__footer .el-button:first-child:hover{background:#f1f3f5;border-color:#cbd5e1}.mqtt-dialog[data-v-623bcfc1] .el-dialog__footer .el-button:last-child{background:#2563eb;border-color:#2563eb;color:#fff}.mqtt-dialog[data-v-623bcfc1] .el-dialog__footer .el-button:last-child:hover{background:#1d4ed8;border-color:#1d4ed8}.mqtt-notice-box[data-v-623bcfc1]{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-623bcfc1]{-ms-flex-negative:0;flex-shrink:0;margin-top:1px;stroke:#2563eb}.mqtt-notice-box strong[data-v-623bcfc1]{font-weight:600;color:#1e3a8a}.mqtt-form .el-form-item[data-v-623bcfc1]{margin-bottom:16px}.mqtt-form .el-form-item .el-form-item__label[data-v-623bcfc1]{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-623bcfc1]{line-height:1}.mqtt-form .el-input__inner[data-v-623bcfc1]{height:38px;border-radius:6px;border-color:#d1d5db;font-size:13px}.mqtt-form .el-input__inner[data-v-623bcfc1]: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-623bcfc1]::-webkit-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-623bcfc1]::-moz-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-623bcfc1]:-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-623bcfc1]::-ms-input-placeholder{color:#94a3b8}.mqtt-form .el-input__inner[data-v-623bcfc1]::placeholder{color:#94a3b8}.mqtt-form .el-input-group__append[data-v-623bcfc1]{background:transparent;border:none;padding:0 8px 0 0}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-623bcfc1]{padding:0 8px;height:36px;font-size:13px;color:#64748b;border-radius:4px}.mqtt-form .el-input-group__append .show-pwd-btn[data-v-623bcfc1]:hover{color:#2563eb;background:#f1f5f9}.mqtt-form .mqtt-rows[data-v-623bcfc1]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mqtt-form .mqtt-rows .half-item[data-v-623bcfc1]{margin-bottom:0}.mqtt-form .mqtt-rows .half-item .el-form-item__label[data-v-623bcfc1]{font-size:13px;font-weight:500;color:#1e293b;padding-bottom:4px}.mqtt-form .mqtt-tip-block[data-v-623bcfc1]{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-623bcfc1]{background:#e2e8f0;padding:1px 6px;border-radius:3px;font-size:12px;color:#0f172a}.user-manage .list-header[data-v-623bcfc1]{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-623bcfc1]{font-size:16px;font-weight:500;color:#1e293b;margin:0}.user-manage .list-header .count-badge[data-v-623bcfc1]{font-size:12px;color:#94a3b8;background:#f1f3f5;padding:2px 10px;border-radius:4px}.user-manage .search-bar[data-v-623bcfc1]{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-623bcfc1]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:160px}.user-manage .search-bar .search-input[data-v-623bcfc1] .el-input__inner{height:34px;border-radius:6px;padding-left:32px}.user-manage .search-bar .search-select[data-v-623bcfc1]{width:130px}.user-manage .search-bar .search-select[data-v-623bcfc1] .el-input__inner{height:34px;border-radius:6px}.user-manage .disable-btn[data-v-623bcfc1]{color:#f59e0b}.user-manage .disable-btn[data-v-623bcfc1]:hover{color:#d97706}.user-manage .enable-btn[data-v-623bcfc1]{color:#10b981}.user-manage .enable-btn[data-v-623bcfc1]:hover{color:#059669}.user-manage .danger-btn[data-v-623bcfc1]{color:#94a3b8}.user-manage .danger-btn[data-v-623bcfc1]:hover{color:#ef4444}.user-dialog .user-form .form-row[data-v-623bcfc1]{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-623bcfc1]{-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-623bcfc1]{margin-bottom:0!important}.user-dialog .user-form .el-form-item[data-v-623bcfc1]{margin-bottom:14px!important}.user-dialog .user-form .el-form-item .el-form-item__label[data-v-623bcfc1]{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-623bcfc1]{line-height:1}.user-dialog .user-form .el-form-item .el-input__inner[data-v-623bcfc1],.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-623bcfc1],.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-623bcfc1]{border-radius:6px;border-color:#d1d5db;font-size:13px;height:38px}.user-dialog .user-form .el-form-item .el-input__inner[data-v-623bcfc1]:focus,.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-623bcfc1]:focus,.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-623bcfc1]: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-623bcfc1]::-webkit-input-placeholder,.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-623bcfc1]::-webkit-input-placeholder,.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-623bcfc1]::-webkit-input-placeholder{color:#94a3b8}.user-dialog .user-form .el-form-item .el-input__inner[data-v-623bcfc1]::-moz-placeholder,.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-623bcfc1]::-moz-placeholder,.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-623bcfc1]::-moz-placeholder{color:#94a3b8}.user-dialog .user-form .el-form-item .el-input__inner[data-v-623bcfc1]:-ms-input-placeholder,.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-623bcfc1]:-ms-input-placeholder,.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-623bcfc1]:-ms-input-placeholder{color:#94a3b8}.user-dialog .user-form .el-form-item .el-input__inner[data-v-623bcfc1]::-ms-input-placeholder,.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-623bcfc1]::-ms-input-placeholder,.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-623bcfc1]::-ms-input-placeholder{color:#94a3b8}.user-dialog .user-form .el-form-item .el-input__inner[data-v-623bcfc1]::placeholder,.user-dialog .user-form .el-form-item .el-select .el-input__inner[data-v-623bcfc1]::placeholder,.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-623bcfc1]::placeholder{color:#94a3b8}.user-dialog .user-form .el-form-item .el-textarea__inner[data-v-623bcfc1]{height:auto;min-height:72px;resize:vertical}.user-dialog .user-form .permission-preview[data-v-623bcfc1]{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-623bcfc1]{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-623bcfc1]{stroke:#64748b}.user-dialog .user-form .permission-preview .permission-tags[data-v-623bcfc1]{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-623bcfc1]{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-623bcfc1]:hover{border-color:#93c5fd;background:#f8fafc}.user-dialog .user-form .permission-preview .permission-tags .permission-tag.all-permission[data-v-623bcfc1]{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;font-weight:500}.user-dialog .user-form .permission-preview .permission-tags .permission-tag.all-permission[data-v-623bcfc1]:hover{background:#dbeafe;border-color:#60a5fa}.tag-super-admin[data-v-623bcfc1]{background:#1e40af!important;border-color:#1e40af!important;color:#fff!important}.tag-system-admin[data-v-623bcfc1]{background:#dbeafe!important;border-color:#93c5fd!important;color:#1e40af!important}.tag-operator[data-v-623bcfc1]{background:#fef3c7!important;border-color:#fcd34d!important;color:#92400e!important}.tag-readonly[data-v-623bcfc1]{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}