.detail-card {
  background: linear-gradient(220deg, #35373F, #050505);
  border-radius: 16px;
  padding: 16px 12px;
  margin-top: 16px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  position: relative;
}

.detail-card-header {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 12px;
}

.detail-card-content {}
.image-hover-preview-trigger {
  display: inline-flex;
  flex-shrink: 0;
  line-height: 0;
}

.image-hover-preview-popover .ant-popover-inner {
  padding: 0;
  background: #2a2a2d;
  border-radius: 12px;
  overflow: hidden;
}

.image-hover-preview-popover .ant-popover-inner-content {
  padding: 0;
  line-height: 0;
}

.image-hover-preview-popover .ant-popover-arrow {
  display: none;
}

.image-hover-preview {
  box-sizing: border-box;
  width: 136px;
  height: 136px;
  padding: 8px;
  background: #2a2a2d;
}

.image-hover-preview-image {
  display: block;
  width: 120px;
  height: 120px;
  box-sizing: border-box;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.metric-card {
  min-width: 150px;
  max-width: 300px;
  padding: 8px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  cursor: default;
  transition: all 0.3s;
  background: #242424;
  opacity: 0.8;
}

.metric-card.clickable {
  cursor: pointer;
}

.metric-card.bg_pink {
  background: #301A2A;
  opacity: 0.8;
  border: 1px solid #E54A94;
}

.metric-card.no-cover .metric-content {
  width: 100%;
}

.metric-cover img {
  width: 60px;
  height: 60px;
  border-radius: 4px;
  object-fit: cover;
}

.metric-content {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  justify-content: space-between;
}

.metric-header {
  display: flex;
  height: 20px;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 20px;
  color: #666;
  white-space: nowrap;

  > :nth-child(1) {
    margin-top: 2px;
  }
}

.metric-label {
  font-size: 14px;
  color: #A9A9A9;
}

.metric-value {
  min-height: 54px;
  font-size: 18px;
  color: #fff;
  white-space: nowrap;
}

.metric-value-today {
  display: flex;
  height: 36px;
  color: #fff;
  font-size: 18px;
  line-height: 36px;
  align-items: center;
  gap: 4px;
}

.metric-value-total {
  display: flex;
  height: 18px;
  color: #E54A94;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
  align-items: center;
  gap: 4px;
}

.metric-tip-content {
  min-width: 280px;
  max-width: 360px;
}

.metric-tip-line-two {
  margin-top: 8px;
}

.metric-tip-title {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: #333;
}

.metric-tip-text {
  font-size: 12px;
  line-height: 16px;
  color: #333;
}

.metric-tip-text:last-child {
  margin-bottom: 0;
}

.detail-filter-row {
  margin-bottom: 0;
  margin-right: 8px;
}

.top-filter-bar.detail-top-filter-bar {
  border: none;
  flex-wrap: wrap;
  gap: 12px;
  border: 1px solid #53565b80;
  padding: 12px;
}

.detail-top-filter-bar .top-filter-item {
  display: flex;
  align-items: center;
  position: relative;
}

.detail-top-filter-bar .category-date-picker {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}

.detail-date-presets-buttons {
  border-radius: 8px;
  background: rgba(245, 251, 255, 0.06);
  box-sizing: border-box;
  border: 1px solid rgba(245, 251, 255, 0.08);
  box-shadow: 0px 2px 30px 0px rgba(0, 0, 0, 0.1);
}
/* 详情页表格：antd 皮肤 + 信息列语义 class，业务页不要再写一套封面/标题尺寸 */

.detail-table {
  .ant-table,
  .ant-table-thead th {
    background: transparent !important;
    color: #fff !important;
    border: 0 !important;
  }

  .ant-table-thead th::before {
    width: 0 !important;
  }

  .ant-table-thead > tr > th {
    height: 24px;
    padding: 4px 8px !important;
    font-size: 14px;
    line-height: 24px;
    font-weight: 400 !important;
    color: #fff !important;
  }

  .ant-table-tbody td {
    border: 0 !important;
    background: transparent !important;
    padding: 10px 8px !important;
    color: #fff;
  }

  td.ant-table-cell.ant-table-cell-fix-left {
    background: #35373F !important;
  }

  --table-hover-bg: rgba(245, 251, 255, 0.08);

  .ant-table-tbody>tr:hover>td,
  .ant-table-tbody>tr.ant-table-row:hover>td,
  .ant-table-tbody>tr.ant-table-row-hover>td {
    background: var(--table-hover-bg) !important;
  }

  .ant-table-tbody>tr:hover>td.ant-table-cell-fix-left,
  .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-left,
  .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-cell-fix-left,
  .ant-table-tbody td.ant-table-cell.ant-table-cell-fix-left.ant-table-cell-row:hover,
  .ant-table-tbody td.ant-table-cell.ant-table-cell-fix-left.ant-table-cell-row-hover {
    background:
      linear-gradient(var(--table-hover-bg), var(--table-hover-bg)),
      #35373F !important;
  }

  .ant-table-column-sorters {
    background: transparent !important;
    color: #fff !important;
  }

  .ant-table-column-sorter,
  .ant-table-column-sorter-up,
  .ant-table-column-sorter-down,
  .ant-table-column-sorter .anticon {
    color: #fff !important;
  }

  .ant-table-column-sorter-up.active,
  .ant-table-column-sorter-down.active {
    color: #fff !important;
  }

  .ant-table-tbody > tr.ant-table-row,
  .ant-table-tbody > tr.ant-table-row > td {
    cursor: pointer;
  }

  .ant-table-thead {
    background: #3c3c3c;
  }

  thead>tr:first-child>*:first-child {
    border-end-start-radius: 8px;
  }

  thead>tr:first-child>*:last-child {
    border-end-end-radius: 8px;
  }

  .ant-pagination {
    color: #fff !important;
  }

  .ant-pagination .ant-pagination-item a {
    color: #fff !important;
  }

  .ant-pagination .ant-pagination-item-container .ant-pagination-item-ellipsis {
    color: #fff !important;
  }

  .ant-pagination-options-quick-jumper input {
    background: transparent !important;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.3);

    &:focus {
      background: transparent !important;
      color: #fff !important;
      border-color: #E54A94;
    }

    &::placeholder {
      color: rgba(255, 255, 255, 0.5);
    }
  }

  .ant-pagination .ant-pagination-prev button,
  .ant-pagination .ant-pagination-next button,
  .ant-pagination .ant-pagination-prev a,
  .ant-pagination .ant-pagination-next a {
    color: #fff;
  }

  .ant-pagination .ant-pagination-disabled:hover button {
    color: #fff;
  }

  .ant-table-tbody {
    background: transparent !important;
  }

  .ant-table-tbody>tr.ant-table-placeholder {
    background: transparent !important;
  }

  .ant-empty-description {
    color: #fff !important;
  }

  .ant-table-measure-row {
    visibility: collapse;
  }
}

.detail-table .ant-table-tbody > tr.ant-table-row,
.detail-table .ant-table-tbody > tr.ant-table-row > td,
.detail-table .detail-table-row-clickable,
.detail-table .detail-table-row-clickable > td {
  cursor: pointer;
}

.detail-table-info {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.detail-table-meta {
  width: 200px;
  max-width: 200px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.detail-table .detail-table-name {
  width: 200px;
  max-width: 200px;
  flex: none;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  color: #fff;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.15s ease;
}

.detail-table .ant-table-tbody>tr:hover .detail-table-name,
.detail-table .detail-table-name:hover {
  color: var(--color-primary, #e549a2);
}

.detail-table-extra {
  font-size: 12px;
  line-height: 20px;
  color: #9ca3af;
}

.detail-table-thumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  flex: none;
  line-height: 0;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
}

.detail-table-thumb img,
.detail-table-thumb .ant-avatar,
.detail-table-thumb .ant-avatar img {
  width: 56px !important;
  height: 56px !important;
  border-radius: 4px !important;
  object-fit: cover;
  display: block;
}

.detail-table-cover {
  width: 56px;
  height: 76px;
  border-radius: 4px;
  overflow: hidden;
  flex: none;
  position: relative;
  padding: 0;
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: top;
  cursor: pointer;
}

.detail-table-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.detail-table .product-preview-popover-trigger {
  flex: none;
  line-height: 0;
}

.detail-table .video-preview-thumb-button {
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: top;
}

.detail-table-ad-badge {
  position: absolute;
  top: 4px;
  left: 4px;
  z-index: 1;
  padding: 0 4px;
  border-radius: 4px;
  background: rgba(22, 119, 255, 0.9);
  color: #fff;
  font-size: 10px;
  line-height: 16px;
}

.detail-table-time {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.detail-table-time-main {
  font-size: 14px;
  line-height: 20px;
  color: #fff;
}

.detail-table-time-sub {
  font-size: 12px;
  line-height: 20px;
  color: #9ca3af;
}

/* 视频详情通用面包屑 */
.page-breadcrumb {
  padding: 12px 0;
  color: #808080;
}

.page-breadcrumb .ant-breadcrumb-separator {
  color: #fff;
}

.page-breadcrumb .ant-breadcrumb-item:last-child {
  color: #fff;
}

/* Date Filter Bar */
.date-filter-bar {
  background: transparent;
  padding: 12px 0;
  margin-top: 12px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.date-presets {
  display: flex;
  gap: 16px;
  align-items: center;

  .ant-picker {
    background: #302C2C;
    border: 1px solid #302C2C;
    border-radius: 8px;

    input {
      color: #fff;
      font-size: 14px;
    }

    .ant-picker-suffix {
      color: #fff;
    }
  }

  .ant-picker-separator {
    color: #fff;
  }

  .ant-btn {
    font-size: 14px;
    color: #fff;
    background: #302C2C;
    border: 1px solid #302C2C;
    border-radius: 8px;
    height: auto;
    line-height: 32px;

    &:hover {
      color: #E54A94;
      border-color: #E54A94;
      background: #302C2C !important;
    }

    &.ant-btn-primary {
      color: #E54A94;
      background: #000;
      border: 2px solid #E54A94;

      &:hover {
        color: #E54A94;
        background: #000 !important;
        border-color: #E54A94;
      }
    }
  }
}

/* Filter Upgrade Tooltip */
.filter-upgrade-tooltip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 2px 0;
}

.filter-upgrade-tooltip .upgrade-btn {
  color: #e54a94;
  padding: 0;
  height: auto;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 2px;
}

.filter-upgrade-tooltip .upgrade-btn:hover {
  color: #ff69b4;
}

.filter-upgrade-tooltip-overlay .ant-tooltip-inner {
  background-color: #1f1f1f;
  border: 1px solid #333;
  color: #fff;
  padding: 8px 12px;
}

.filter-upgrade-tooltip-overlay .ant-tooltip-arrow::before {
  background-color: #1f1f1f;
}

/* Disabled Styles for Filter Bar */
.date-filter-bar .ant-select-disabled .ant-select-selector,
.date-filter-bar .ant-picker-disabled {
  background-color: rgba(255, 255, 255, 0.04) !important;
  border-color: #333 !important;
  opacity: 0.6;
}

.date-filter-bar .ant-select-disabled .ant-select-selection-item,
.date-filter-bar .ant-select-disabled .ant-select-selection-placeholder,
.date-filter-bar .ant-picker-disabled input,
.date-filter-bar .ant-picker-disabled .ant-picker-separator {
  color: rgba(255, 255, 255, 0.25) !important;
}

.date-filter-bar .ant-btn-default[disabled] {
  background-color: rgba(255, 255, 255, 0.04) !important;
  border-color: #333 !important;
  color: rgba(255, 255, 255, 0.2) !important;
  opacity: 0.5;
}

.date-filter-bar .category-select-trigger.disabled {
  background-color: rgba(255, 255, 255, 0.04);
  border-color: #333;
  color: rgba(255, 255, 255, 0.25);
  cursor: not-allowed;
  opacity: 0.6;
}

/* 核心指标头部通用样式 */
.section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.header-title {
  font-size: 16px;
  color: #fff;
  font-weight: 500;
}

.section-header :nth-child(1) {
  font-size: 16px;
  margin: 0;
}

.ant-segmented {
  background: rgba(255, 255, 255, 0.2);
  padding: 4px;
  border-radius: 8px;

  .ant-segmented-item {
    font-size: 14px;
    color: #fff;

    &:hover {
      color: #fff !important;
    }
  }

  .ant-segmented-item-selected {
    background: #E54A94;
    color: #fff;
    border-radius: 8px;
  }
}

/* 详情类目选择器通用样式 */
.category-select-trigger {
  min-width: 140px;
  max-width: 260px;
  height: 32px;
  margin-right: 6px;
  padding: 0 10px;
  border: 1px solid #ffffff26;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.category-select-trigger:hover {
  border-color: #e54a94;
}

.category-select-text {
  flex: 1;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.category-select-arrow {
  margin-left: 8px;
  color: #ffffff;
  font-size: 14px;
}

.creator-category-popover .category-selector-popover {
  width: 560px;
}

/* 详情卡片通用样式 */
.detail-card .ant-btn-variant-outlined:disabled {
  background: transparent !important;
  border-color: #E54A94;
  color: #ffffff80;
}

/* 详情模块 loading：只转圈、撑高度，不展示业务文案 */
.detail-loading-block {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 有数据后高度跟行数走，不要按 10 行占位。
   首次 loading 高度由 DetailLoadingBlock 负责，避免下方模块提前进可视区。
   不要把 min-height/flex 传到 ant-table 内部：视频表有横向滚动+固定列时，
   antd 会克隆表头表，被撑开后同一份数据会再画一套。 */
.detail-table-shell {
  position: relative;
}

/* 空数据只保留表头 + 空状态 */
.detail-table-shell.is-empty {
  min-height: 220px;
}

.detail-table-shell.is-empty .ant-table-placeholder > .ant-table-cell {
  height: auto;
  padding: 40px 16px;
}

.detail-table-shell .ant-table-header {
  flex-shrink: 0;
  overflow: hidden !important;
}

.detail-table-shell .ant-table-header tbody {
  display: none;
}

.detail-table-shell .ant-spin-nested-loading > div > .ant-spin {
  max-height: none;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.list-name-tooltip .ant-tooltip-inner,
.product-name-tooltip .ant-tooltip-inner {
  max-width: 384px;
  padding: 6px 12px;
  border-radius: 8px;
  background: #e5e5e5;
  color: #171717;
  font-size: 14px;
  line-height: 22px;
  font-weight: 400;
  white-space: normal;
  word-break: break-word;
}

.list-name-tooltip .ant-tooltip-arrow::before,
.list-name-tooltip .ant-tooltip-arrow-content,
.product-name-tooltip .ant-tooltip-arrow::before,
.product-name-tooltip .ant-tooltip-arrow-content {
  background: #e5e5e5 !important;
}

.quota-mask-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(8px);
  background: rgba(26, 26, 26, 0.4);
  border-radius: 8px;
}

.quota-mask-content {
  text-align: center;
  color: #fff;
  padding: 24px;
}

.quota-mask-content .lock-icon {
  font-size: 32px;
  margin-bottom: 16px;
  color: #fff;
}

.quota-mask-content .mask-title {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 24px;
  color: #fff;
}

.quota-mask-content .mask-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.quota-mask-content .action-btn {
  height: 32px;
  padding: 0 24px;
  border-radius: 4px;
  font-size: 14px;
  color: #fff;
}
.detail-sidebar-container {
  display: flex;
  justify-content: center;
  position: sticky;
  top: var(--layout-header-height);
  z-index: 40;
  padding: 8px 0;
}

.detail-sidebar {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  padding: 8px;
  display: flex;
}

.sidebar-menu-item {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  border-radius: 8px;
  padding: 8px 20px;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;

  .menu-content {
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
  }

  .menu-icon {
    width: 20px;
    height: 20px;
    background-size: cover;
  }

  .menu-label {
    color: #fff;
    transition: color 0.2s ease;
  }

  .menu-tag {
    position: absolute;
    top: -6px;
    right: -24px;
    font-size: 8px;
    margin: 0;
    padding: 0 4px;
    border: 0;
    background: #E54A94;
    color: #fff;
    border-radius: 4px;
    padding: 0px 4px;
    height: 14px;
    line-height: 14px;
  }
}

.sidebar-menu-item:hover {
  color: #E54A94;

  .menu-label {
    color: #E54A94;
  }
}

.sidebar-menu-item.active {
  background: #E54A94;

  .menu-label {
    color: #fff;
  }
}

.detail-sidebar-container + * [id] {
  scroll-margin-top: calc(var(--layout-header-height) + 64px);
}
.video-preview-thumb-button {
  padding: 0;
  border: none;
  cursor: pointer;
  background: var(--color-fill-muted);
  position: relative;
}

.video-preview-thumb-button--disabled {
  cursor: default;
}

.video-preview-play-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  pointer-events: none;
}

.video-preview-popover-root .ant-popover-inner {
  padding: 0;
  background: #2a2a2d;
  border-radius: 12px;
  overflow: hidden;
}

.video-preview-popover-root .ant-popover-inner-content {
  padding: 0;
}

.video-preview-popover-root .ant-popover-arrow {
  display: none;
}

.video-preview-popover {
  box-sizing: border-box;
  width: 212px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: #2a2a2d;
}

.video-preview-modal .ant-modal-content {
  padding: 0 !important;
  overflow: hidden;
  border-radius: 12px;
  background: #2a2a2d;
}

.video-preview-modal .ant-modal-body {
  padding: 0 !important;
}

.video-preview-media {
  position: relative;
  flex-shrink: 0;
  width: 180px;
  height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 8px;
  background: #000;
}

.video-preview-player-wrap {
  position: relative;
  width: 100%;
  height: 100%;
}

.video-preview-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.video-preview-player {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  background: transparent;
  opacity: 0;
}

.video-preview-player.is-ready {
  opacity: 1;
}

.video-preview-enable-audio-btn {
  position: absolute;
  left: 50%;
  bottom: 12px;
  z-index: 3;
  transform: translateX(-50%);
  height: 28px;
  padding: 0 10px;
  border: none;
  border-radius: 14px;
  background: rgba(17, 24, 39, 0.9);
  color: #fff;
  font-size: 12px;
  line-height: 28px;
  white-space: nowrap;
  cursor: pointer;
}

.video-preview-loading-mask {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: rgba(0, 0, 0, 0.36);
  color: rgba(255, 255, 255, 0.88);
  font-size: 12px;
  line-height: 16px;
  pointer-events: none;
}

.video-preview-loading,
.video-preview-empty {
  width: 180px;
  height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.78);
}

.video-preview-empty {
  position: relative;
  flex-direction: column;
  gap: 12px;
}

.video-preview-empty img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

.video-preview-empty span {
  position: relative;
  width: 140px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  font-size: 16px;
  background-color: #111827;
  opacity: 0.9;
  border-radius: 4px;
  z-index: 1;
}

.video-preview-footer {
  width: 180px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.video-preview-script-btn {
  width: 180px;
  height: 32px;
  padding: 5px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 8px;
  background: var(--color-gradient-brand);
  box-shadow: 0 2px 0 0 rgba(5, 145, 255, 0.01);
  color: #0f0f12;
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
  cursor: not-allowed;
}

.video-preview-actions {
  display: flex;
  width: 180px;
  height: 16px;
}

.video-preview-download-btn,
.video-preview-more-btn {
  flex: 1;
  width: 90px;
  height: 16px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  text-align: center;
  cursor: pointer;
}

.video-preview-download-btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.video-preview-more-btn {
  cursor: not-allowed;
}

