.camera-config[data-v-b6e291c2]{padding:20px}.flv-player[data-v-480a56e2]{position:relative;width:100%;height:100%;background:#000;overflow:hidden}.video-element[data-v-480a56e2]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.player-placeholder[data-v-480a56e2]{position:absolute;top:0;left:0;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:#606266;background:#1a1a2e}.player-placeholder i[data-v-480a56e2]{font-size:36px;margin-bottom:8px;opacity:.5}.player-placeholder span[data-v-480a56e2]{font-size:12px;opacity:.5}.player-error[data-v-480a56e2]{position:absolute;top:0;left:0;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:#f56c6c;background:#1a1a2e}.player-error i[data-v-480a56e2]{font-size:28px;margin-bottom:8px}.player-error span[data-v-480a56e2]{font-size:12px;margin-bottom:4px}.player-error .el-button[data-v-480a56e2]{color:#409eff}.player-loading[data-v-480a56e2]{position:absolute;top:0;left:0;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:#409eff;background:rgba(0,0,0,.7)}.player-loading i[data-v-480a56e2]{font-size:28px;margin-bottom:8px;-webkit-animation:rotating-data-v-480a56e2 2s linear infinite;animation:rotating-data-v-480a56e2 2s linear infinite}.player-loading span[data-v-480a56e2]{font-size:12px}.player-overlay[data-v-480a56e2]{position:absolute;bottom:0;left:0;right:0;padding:4px 8px;background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.6)));background:linear-gradient(transparent,rgba(0,0,0,.6))}.player-overlay .camera-name[data-v-480a56e2]{color:#fff;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.8)}@-webkit-keyframes rotating-data-v-480a56e2{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotating-data-v-480a56e2{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.camera-preview[data-v-14b52cb4]{height:calc(100vh - 100px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:10px;-webkit-box-sizing:border-box;box-sizing:border-box}.toolbar[data-v-14b52cb4]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:8px 12px;background:#fff;border-bottom:1px solid #ebeef5;-ms-flex-negative:0;flex-shrink:0;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}.toolbar .toolbar-left[data-v-14b52cb4],.toolbar .toolbar-right[data-v-14b52cb4],.toolbar[data-v-14b52cb4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.main-content[data-v-14b52cb4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden}.camera-list[data-v-14b52cb4]{width:260px;background:#fff;border-right:1px solid #ebeef5;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:width .3s;transition:width .3s}.camera-list.collapsed[data-v-14b52cb4]{width:40px}.camera-list.collapsed .list-body[data-v-14b52cb4]{display:none}.camera-list .list-header[data-v-14b52cb4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 12px;border-bottom:1px solid #ebeef5}.camera-list .list-header .list-title[data-v-14b52cb4]{font-size:13px;font-weight:600;color:#303133}.camera-list .list-body[data-v-14b52cb4]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;padding:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.camera-list .camera-items[data-v-14b52cb4]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.camera-list .camera-item[data-v-14b52cb4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:6px 10px;margin-bottom:2px;border-radius:4px;cursor:pointer;font-size:12px;-webkit-transition:background .2s;transition:background .2s}.camera-list .camera-item[data-v-14b52cb4]:hover{background:#f0f7ff}.camera-list .camera-item.active[data-v-14b52cb4]{background:#ecf5ff;-webkit-box-shadow:inset 0 0 0 1px #409eff;box-shadow:inset 0 0 0 1px #409eff}.camera-list .camera-item.playing .item-name[data-v-14b52cb4]{color:#409eff;font-weight:600}.camera-list .camera-item.offline[data-v-14b52cb4]{opacity:.45;cursor:not-allowed}.camera-list .camera-item .item-status[data-v-14b52cb4]{width:6px;height:6px;border-radius:50%;margin-right:8px;-ms-flex-negative:0;flex-shrink:0}.camera-list .camera-item .item-status.online[data-v-14b52cb4]{background:#67c23a;-webkit-box-shadow:0 0 4px #67c23a;box-shadow:0 0 4px #67c23a}.camera-list .camera-item .item-status.offline[data-v-14b52cb4]{background:#909399}.camera-list .camera-item .item-name[data-v-14b52cb4]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#303133}.camera-list .camera-item .item-type[data-v-14b52cb4]{margin-left:4px;color:#909399;font-size:11px;-ms-flex-negative:0;flex-shrink:0}.player-grid[data-v-14b52cb4]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:grid;gap:2px;padding:2px;overflow:hidden;margin-left:10px;color:#fff}.player-grid.grid-1[data-v-14b52cb4]{grid-template-columns:1fr;grid-template-rows:1fr}.player-grid.grid-2[data-v-14b52cb4]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.player-grid.grid-3[data-v-14b52cb4]{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr}.player-grid.grid-4[data-v-14b52cb4]{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr 1fr}.grid-slot[data-v-14b52cb4]{position:relative;background:#0d0d1a;overflow:hidden;cursor:pointer;min-height:0}.grid-slot.active[data-v-14b52cb4]{-webkit-box-shadow:inset 0 0 0 2px #409eff;box-shadow:inset 0 0 0 2px #409eff}.slot-placeholder[data-v-14b52cb4]{position:absolute;top:0;left:0;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:#fff}.slot-placeholder .slot-index[data-v-14b52cb4]{font-size:24px;font-weight:600;opacity:.25}.slot-placeholder .slot-hint[data-v-14b52cb4]{font-size:11px;margin-top:4px;opacity:.35}.slot-close[data-v-14b52cb4]{position:absolute;top:2px;right:2px;width:20px;height:20px;background:rgba(0,0,0,.6);border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;font-size:12px;opacity:0;-webkit-transition:opacity .2s;transition:opacity .2s;z-index:10}.slot-close[data-v-14b52cb4]:hover{background:#f56c6c}.grid-slot:hover .slot-close[data-v-14b52cb4]{opacity:1}.context-menu[data-v-14b52cb4]{position:fixed;background:#fff;border:1px solid #ebeef5;border-radius:4px;-webkit-box-shadow:0 2px 12px rgba(0,0,0,.15);box-shadow:0 2px 12px rgba(0,0,0,.15);z-index:9999;min-width:120px}.context-menu-item[data-v-14b52cb4]{padding:8px 16px;font-size:13px;color:#303133;cursor:pointer}.context-menu-item[data-v-14b52cb4]:hover{background:#ecf5ff;color:#409eff}.context-menu-divider[data-v-14b52cb4]{height:1px;background:#ebeef5;margin:2px 0}