@charset "UTF-8";
.page[data-v-bd279362] {
  background-color: #061220;
  width: 100%;
  height: 100vh;
  color: #ffffff;
  font-family: PingFangSC, sans-serif;
}
.header[data-v-bd279362] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.2rem 0.2rem 0px 0.2rem;
}
.header .header-left .back-button[data-v-bd279362] {
    display: flex;
    align-items: center;
    cursor: pointer;
}
.header .header-left .back-button img[data-v-bd279362] {
      width: 0.5rem;
      height: 0.5rem;
      margin-right: 0.1rem;
}
.header .header-left .back-button span[data-v-bd279362] {
      font-size: 0.2rem;
      font-weight: 500;
}
.header .header-right .site-name[data-v-bd279362] {
    font-size: 0.23rem;
    font-weight: 500;
}
.content[data-v-bd279362] {
  display: flex;
  height: calc(100vh - 0.7rem);
  background-color: #132033;
  margin: 0.25rem;
}
.content .sidebar[data-v-bd279362] {
    width: 1rem;
    border-right: 0.01rem solid rgba(255, 255, 255, 0.1);
}
.content .sidebar .sidebar-menu[data-v-bd279362] {
      background-color: transparent;
      border-right: none;
}
.content .sidebar .sidebar-menu .el-menu-item[data-v-bd279362] {
        height: 0.5rem;
        line-height: 0.5rem;
        text-align: center;
        color: #a2b9e2;
        font-size: 0.16rem;
        margin: 0;
        border-radius: 0;
}
.content .sidebar .sidebar-menu .el-menu-item[data-v-bd279362]:hover {
          background-color: #243344;
          color: white;
}
.content .sidebar .sidebar-menu .el-menu-item.is-active[data-v-bd279362] {
          background-color: #243344;
          color: white;
          border-right: 0.03rem solid #0084ff;
}
.content .main-content[data-v-bd279362] {
    flex: 1;
    padding: 0.2rem 0.2rem 1.5rem 0.2rem;
    overflow-y: auto;
}
.content .main-content .action-bar[data-v-bd279362] {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 0.2rem;
}
.content .main-content .action-bar .action-left .el-checkbox__label[data-v-bd279362] {
        color: #ffffff;
}
.content .main-content .action-bar .action-right[data-v-bd279362] {
        display: flex;
        gap: 0.1rem;
}
.content .main-content .action-bar .action-right .batch-update[data-v-bd279362] {
          background-color: #0084ff;
          border-color: #0084ff;
}
.content .main-content .action-bar .action-right .export[data-v-bd279362] {
          background-color: #00c48c;
          border-color: #00c48c;
}
.content .main-content .device-group[data-v-bd279362] {
      padding: 0.16rem;
      border-radius: 0.08rem;
}
.content .main-content .project-title[data-v-bd279362] {
      font-size: 0.18rem;
      font-weight: 600;
      margin-bottom: 0.16rem;
}
.content .main-content .version-grid[data-v-bd279362] {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0.2rem;
}
.content .main-content .version-grid .version-card[data-v-bd279362] {
        background-color: rgba(255, 255, 255, 0.05);
        border-radius: 0.08rem;
        padding: 0.15rem;
        border: 1px solid rgba(255, 255, 255, 0.1);
}
.content .main-content .version-grid .version-card .card-header[data-v-bd279362] {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-bottom: 0.15rem;
}
.content .main-content .version-grid .version-card .card-header .card-title[data-v-bd279362] {
            font-size: 0.14rem;
            color: rgba(255, 255, 255, 0.8);
}
.content .main-content .version-grid .version-card .card-content[data-v-bd279362] {
          margin-bottom: 0.15rem;
}
.content .main-content .version-grid .version-card .card-content .version-number[data-v-bd279362] {
            font-size: 0.18rem;
            font-weight: 600;
            margin-bottom: 0.08rem;
}
.content .main-content .version-grid .version-card .card-content .version-date[data-v-bd279362] {
            font-size: 0.12rem;
            color: rgba(255, 255, 255, 0.5);
            margin-bottom: 0.08rem;
}
.content .main-content .version-grid .version-card .card-content .version-desc[data-v-bd279362] {
            font-size: 0.14rem;
            color: rgba(255, 255, 255, 0.8);
            line-height: 1.4;
}
.content .main-content .version-grid .version-card .card-footer[data-v-bd279362] {
          display: flex;
          justify-content: space-between;
          align-items: center;
}
.content .main-content .version-grid .version-card .card-footer .history-link[data-v-bd279362] {
            font-size: 0.12rem;
            color: #0084ff;
            text-decoration: none;
}
.content .main-content .version-grid .version-card .card-footer .card-buttons[data-v-bd279362] {
            display: flex;
            gap: 0.1rem;
}
.content .main-content .version-grid .version-card .card-footer .card-buttons .rollback-btn[data-v-bd279362] {
              background-color: transparent;
              border: 1px solid rgba(255, 255, 255, 0.3);
              color: #ffffff;
              font-size: 0.12rem;
              padding: 0.04rem 0.12rem;
}
.content .main-content .version-grid .version-card .card-footer .card-buttons .update-btn[data-v-bd279362] {
              background-color: #00c48c;
              border-color: #00c48c;
              font-size: 0.12rem;
              padding: 0.04rem 0.12rem;
}
.content .main-content .version-empty[data-v-bd279362] {
      min-height: 3rem;
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(255, 255, 255, 0.5);
      font-size: 0.14rem;
      border: 1px dashed rgba(255, 255, 255, 0.2);
      border-radius: 0.08rem;
      background: rgba(255, 255, 255, 0.03);
}

/* 滚动条样式 */
.main-content[data-v-bd279362]::-webkit-scrollbar {
  width: 0.08rem;
}
.main-content[data-v-bd279362]::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 0.04rem;
}
.main-content[data-v-bd279362]::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 0.04rem;
}
.main-content[data-v-bd279362]::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* 历史版本弹窗样式 */
.history-dialog .el-dialog__header[data-v-bd279362] {
  background-color: #1a2a3a;
  border-bottom: 0.01rem solid rgba(255, 255, 255, 0.1);
}
.history-dialog .el-dialog__header .el-dialog__title[data-v-bd279362] {
    color: #ffffff;
    font-size: 0.16rem;
    font-weight: 600;
}
.history-dialog .el-dialog__header .el-dialog__headerbtn .el-dialog__close[data-v-bd279362] {
    color: rgba(255, 255, 255, 0.6);
}
.history-dialog .el-dialog__header .el-dialog__headerbtn .el-dialog__close[data-v-bd279362]:hover {
      color: #ffffff;
}
.history-dialog .el-dialog__body[data-v-bd279362] {
  background-color: #1a2a3a;
  padding: 0.2rem;
}
.history-title[data-v-bd279362] {
  color: #ffffff;
  font-size: 0.16rem;
  font-weight: 600;
  margin-bottom: 0.2rem;
}
.el-timeline .el-timeline-item[data-v-bd279362] {
  padding-bottom: 0.2rem;
}
.el-timeline .el-timeline-item .el-timeline-item__node[data-v-bd279362] {
    background-color: rgba(255, 255, 255, 0.3);
    border: 2px solid rgba(255, 255, 255, 0.5);
}
.el-timeline .el-timeline-item .el-timeline-item__node.el-timeline-item__node--primary[data-v-bd279362] {
      background-color: #0084ff;
      border-color: #0084ff;
}
.el-timeline .el-timeline-item .el-timeline-item__line[data-v-bd279362] {
    background-color: rgba(255, 255, 255, 0.1);
}
.el-timeline .el-timeline-item .el-timeline-item__content[data-v-bd279362] {
    margin-left: 0.2rem;
}
.version-info .version-number[data-v-bd279362] {
  color: #ffffff;
  font-size: 0.14rem;
  font-weight: 600;
  margin-bottom: 0.04rem;
}
.version-info .version-date[data-v-bd279362] {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.12rem;
  margin-bottom: 0.04rem;
}
.version-info .version-desc[data-v-bd279362] {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.12rem;
  margin-bottom: 0.04rem;
}
.version-info .version-state[data-v-bd279362] {
  color: #0084ff;
  margin-left: 0.2rem;
}
.sidebarTitle[data-v-bd279362] {
  font-size: 0.16rem;
  font-weight: bold;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0.2rem 0.1rem 0.1rem 0.1rem;
}

