/* ==========================================================================
   列表页 UI 优化层 (v2.1)
   目标：精修对齐、统一尺寸、提升整体整洁度
   作为全局样式导入，避免 scoped CSS 的处理问题
   使用 --ref-* 变量体系，与现有 ref 主题层保持一致
   ========================================================================== */

/* --- 1. 卡片面板：圆角、阴影、边框层次 --- */

.table-panel {
  border-radius: 1.2rem !important;
  border-color: var(--ref-border) !important;
  box-shadow:
    0 1px 3px rgba(15, 23, 42, 0.04),
    0 8px 24px rgba(15, 23, 42, 0.06) !important;
  overflow: hidden;
}

:root[data-theme="dark"] .table-panel {
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.18),
    0 8px 24px rgba(0, 0, 0, 0.24) !important;
}

/* --- 2. 表头区域：标题行（含右侧工具栏）+ 筛选行，层次更清晰 --- */

.table-header {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
  background: transparent !important;
  flex-wrap: nowrap !important; /* 覆盖原始 flex-wrap: wrap */
  display: flex !important;
}

/* 标题行：左侧标题 + 右侧工具栏（加载状态 / 批量深挖 / 按地区分组） */
.table-header-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 16px 22px 14px !important;
  border-bottom: 1px solid var(--ref-border);
  background: var(--ref-bg-header);
}

.table-header-top h2 {
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  color: var(--ref-text) !important;
  margin: 0 !important;
}

.table-header-top p {
  font-size: 12px !important;
  color: var(--ref-text-muted) !important;
  margin: 2px 0 0 0 !important;
}

/* 标题行右侧工具栏：常规文档流，无绝对定位 */
.table-header-toolbar {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
  min-width: 0 !important;
}

.table-header-toolbar .ghost-button,
.table-header-toolbar .toolbar-switch {
  height: 36px !important;
  min-height: 36px !important;
  line-height: 34px !important;
  padding: 0 16px !important;
  border-radius: 9999px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

/* --- 3. 筛选操作行：6 列严格网格，所有控件列列对齐 --- */

.table-header-actions {
  display: block !important;
  flex: none !important; /* 覆盖原始 flex:1 1 760px，避免在 column 布局下被撑高 */
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 14px 22px !important;
  background: var(--ref-bg-surface) !important;
  border-bottom: 1px solid var(--ref-border);
}

/* 筛选栏容器：固定 6 列网格，跨行跨列严格对齐 */
.asset-table-filters {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 12px 10px !important;
}

/* 单个筛选器：纵向排列，label + input */
.compact-filter {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
  height: auto !important; /* 覆盖原始 height:32px，纵向布局需要自适应高度 */
  grid-template-columns: none !important; /* 覆盖原始 grid 布局 */
}

/* 宽输入（关键词 / 案号）跨 2 列 */
.compact-filter--wide {
  grid-column: span 2 !important;
}

.compact-filter span {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: var(--ref-text-muted) !important;
  line-height: 1 !important;
  height: 14px !important;
  display: flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

/* 统一 input 和 select 的高度与样式 */
.compact-filter input,
.compact-filter select {
  height: 36px !important;
  line-height: 36px !important;
  border-radius: 9999px !important;
  border: 1px solid var(--ref-border) !important;
  background: var(--ref-bg-input) !important;
  color: var(--ref-text) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
  width: 100% !important;
  transition:
    border-color var(--duration-fast) var(--ease-out),
    box-shadow var(--duration-fast) var(--ease-out),
    background var(--duration-fast) var(--ease-out);
}

.compact-filter select {
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235f7086' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 10px 6px !important;
  padding-right: 32px !important;
  cursor: pointer !important;
}

.compact-filter input:hover,
.compact-filter select:hover {
  border-color: color-mix(in srgb, var(--ref-primary) 50%, var(--ref-border)) !important;
}

.compact-filter input:focus,
.compact-filter select:focus {
  border-color: var(--ref-primary) !important;
  background: var(--ref-bg-surface) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px var(--ref-primary-soft) !important;
}

.compact-filter input::placeholder {
  color: var(--ref-text-soft) !important;
  font-weight: 500 !important;
}

/* 筛选按钮组：独占网格最后一行，左对齐，与输入框同高 */
.compact-filter-actions {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 36px !important;
  flex: none !important;
}

.compact-filter-actions .primary-button,
.compact-filter-actions .ghost-button {
  min-height: 36px !important;
  height: 36px !important;
  line-height: 36px !important;
  padding: 0 18px !important;
  font-size: 12.5px !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.compact-filter-actions .primary-button {
  box-shadow: 0 1px 3px color-mix(in srgb, var(--ref-primary-strong) 30%, transparent);
}

.compact-filter-actions .primary-button:hover:not(:disabled) {
  box-shadow: 0 2px 8px color-mix(in srgb, var(--ref-primary-strong) 40%, transparent);
}

/* 筛选动作与批量操作之间的分隔线 */
.compact-filter-actions-divider {
  width: 1px !important;
  height: 18px !important;
  margin: 0 6px !important;
  background: var(--ref-border) !important;
  flex: none !important;
}

/* --- 4. 表格：表头、行间距、斑马纹、hover --- */

.table-wrap {
  border-radius: 0 !important;
  background: var(--ref-bg-surface) !important;
}

table {
  /* 2026-10-03：新增 44px 勾选列后由 1100px 提至 1144px，保证资产列回到 260px+ */
  min-width: 1144px !important;
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}

th {
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 14px !important;
  background: var(--ref-bg-table-head) !important;
  color: var(--ref-text-muted) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border-bottom: 2px solid var(--ref-border) !important;
  white-space: nowrap !important;
  text-align: left !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

/* table-layout: fixed 下列宽由 th 决定，给关键列设置合理比例
   2026-10-03：新增首列深挖队列勾选列后整体 +1 顺移；首列是勾选框（44px 居中），
   之前 first-child 的 28%/260px 是给"资产"列的（当时它是第一列），错位会把勾选列撑到 275px。 */
th:first-child {
  width: 44px !important;
  min-width: 44px !important;
}

/* 表头勾选列居中（th 的全局 text-align:left !important 会把全选框压贴左） */
th.asset-queue-cell {
  text-align: center !important;
}

th:nth-child(2) {
  width: 28% !important;
  min-width: 260px !important;
}

th:nth-child(3) {
  width: 90px !important;
}

th:nth-child(4) {
  width: 110px !important;
}

th:nth-child(5) {
  width: 80px !important;
}

th:nth-child(6) {
  width: 130px !important;
}

th:nth-child(7) {
  width: 115px !important;
}

th:nth-child(8) {
  width: 90px !important;
}

th:nth-child(9) {
  width: 100px !important;
}

th:nth-child(10) {
  width: 110px !important;
}

:root[data-theme="dark"] th {
  border-bottom-color: color-mix(in srgb, var(--ref-border) 80%, var(--ref-primary) 20%) !important;
}

.sort-header {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  gap: 3px !important;
  height: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
}

.sort-header.active {
  color: var(--ref-primary-strong) !important;
}

.sort-header span {
  font-size: 10px !important;
  color: var(--ref-primary) !important;
}

td {
  padding: 10px 14px !important;
  font-size: 13px !important;
  vertical-align: top !important;
  border-bottom: 1px solid color-mix(in srgb, var(--ref-border) 60%, transparent) !important;
  box-sizing: border-box !important;
  line-height: 1.5 !important;
}

/* 行高增加，留白更舒适 */
tbody tr {
  transition:
    background var(--duration-fast) var(--ease-out),
    box-shadow var(--duration-fast) var(--ease-out) !important;
}

tbody tr:nth-child(even) {
  background: color-mix(in srgb, var(--ref-bg-surface) 94%, var(--ref-text-soft) 6%) !important;
}

:root[data-theme="dark"] tbody tr:nth-child(even) {
  background: color-mix(in srgb, var(--ref-bg-surface) 92%, var(--ref-text-soft) 8%) !important;
}

tbody tr:hover {
  background: var(--ref-bg-hover) !important;
  box-shadow: inset 3px 0 0 var(--ref-primary) !important;
}

tbody tr.selected {
  background: var(--ref-bg-selected) !important;
  box-shadow: inset 3px 0 0 var(--ref-primary-strong) !important;
}

tbody tr.selected:hover {
  background: color-mix(in srgb, var(--ref-bg-selected) 85%, var(--ref-bg-hover)) !important;
}

.empty-cell {
  padding: 48px 16px !important;
  font-size: 13px !important;
  color: var(--ref-text-muted) !important;
  text-align: center !important;
}

/* --- 5. 资产标题单元格：标题/按钮/标签层次 --- */

.asset-title-cell {
  min-width: 260px !important;
  width: 28% !important; /* table-layout: fixed 下需要明确宽度，否则会被均分 */
  padding: 10px 14px !important;
}

.asset-title-line {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 6px !important;
  padding-left: 16px !important;
  min-height: 24px !important;
  position: relative !important;
}

.asset-new-dot {
  position: absolute !important;
  left: 0 !important;
  top: 8px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--ref-success, #16a34a) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ref-success, #16a34a) 18%, transparent) !important;
}

.asset-new-dot-spacer {
  display: none !important;
}

.asset-detail-trigger {
  display: block !important;
  text-align: left !important;
  width: 100% !important;
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: inherit !important;
  cursor: pointer !important;
  min-width: 0 !important; /* grid 子项需要这个来正确截断文本 */
}

.asset-detail-trigger strong {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--ref-text) !important;
  line-height: 1.4 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  display: block !important;
  transition: color var(--duration-fast) var(--ease-out);
}

.asset-detail-trigger:hover strong {
  color: var(--ref-primary-strong) !important;
}

.asset-detail-subline {
  margin-top: 2px !important;
  padding-left: 16px !important;
}

.asset-detail-subline span {
  font-size: 11.5px !important;
  color: var(--ref-text-soft) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

.asset-favorite-button {
  width: 64px !important;
  flex: 0 0 64px !important;
  min-width: 64px !important;
  height: 26px !important;
  line-height: 24px !important;
  border-radius: 9999px !important;
  font-size: 11.5px !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  font-weight: 700 !important;
  background: var(--ref-bg-surface) !important;
  border-color: var(--ref-border) !important;
  color: var(--ref-text-soft) !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition:
    border-color var(--duration-fast) var(--ease-out),
    color var(--duration-fast) var(--ease-out),
    background var(--duration-fast) var(--ease-out);
}

.asset-favorite-button:hover {
  border-color: #f59e0b !important;
  color: #b45309 !important;
  background: #fffbeb !important;
}

.asset-favorite-button.active {
  border-color: #f59e0b !important;
  background: #fffbeb !important;
  color: #92400e !important;
}

.asset-hide-button {
  width: 72px !important;
  min-width: 72px !important;
  flex: 0 0 72px !important;
  height: 26px !important;
  line-height: 24px !important;
  border-radius: 9999px !important;
  font-size: 11.5px !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  border: 1px solid var(--ref-border) !important;
  background: var(--ref-bg-surface) !important;
  color: var(--ref-text-soft) !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition:
    border-color var(--duration-fast) var(--ease-out),
    color var(--duration-fast) var(--ease-out),
    background var(--duration-fast) var(--ease-out);
}

.asset-favorite-time {
  color: var(--ref-text-soft) !important;
  font-size: 11px !important;
  white-space: nowrap !important;
  margin-left: 2px !important;
}

.asset-hide-button:hover {
  border-color: var(--ref-primary) !important;
  color: var(--ref-primary-strong) !important;
  background: var(--ref-primary-soft) !important;
}

/* 标签药丸：统一尺寸和间距 */
.creditor-flag-pill {
  margin-top: 6px !important;
  margin-left: 16px !important;
  padding: 2px 8px !important;
  border-radius: 9999px !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  border-width: 1px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  line-height: 1.4 !important;
  height: 20px !important;
  box-sizing: border-box !important;
}

.identity-flag-pill {
  margin-top: 4px !important;
  margin-left: 16px !important;
  padding: 2px 8px !important;
  border-radius: 9999px !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1.4 !important;
  height: 20px !important;
  box-sizing: border-box !important;
}

/* --- 6. 价格/热度/线索列：数字格式与层次 --- */

td strong {
  font-size: 13.5px !important;
  font-weight: 800 !important;
  color: var(--ref-text) !important;
  letter-spacing: -0.01em !important;
  font-feature-settings: "tnum" !important;
  line-height: 1.4 !important;
  display: block !important;
}

td .muted {
  font-size: 11.5px !important;
  color: var(--ref-text-soft) !important;
  font-weight: 500 !important;
  margin-top: 2px !important;
  line-height: 1.4 !important;
  display: block !important;
}

/* --- 7. 状态标签与工作流节点 --- */

.status-pill {
  padding: 2px 10px !important;
  border-radius: 9999px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  display: inline-block !important;
  line-height: 1.4 !important;
  height: 20px !important;
  box-sizing: border-box !important;
}

.status-cell .muted {
  margin-top: 3px !important;
  font-size: 11px !important;
}

/* 竞拍列：拍卖状态 pill + 围观/出价报名 垂直堆叠 */
.status-cell .status-pill {
  margin-bottom: 4px !important;
}

.status-cell > span:not(.status-pill) {
  display: block !important;
}

/* 工作流容器：紧凑整齐 */
.wf {
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 0 !important;
  margin-top: 8px !important;
  padding: 0 !important;
}

.wf-node {
  position: relative !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 3px !important;
  padding: 4px 8px !important;
  border: 1px solid transparent !important;
  border-radius: 5px !important;
  background: transparent !important;
  cursor: pointer !important;
  font-family: inherit !important;
  min-width: 40px !important;
  box-sizing: border-box !important;
  transition: opacity 0.15s, border-color 0.15s, background 0.15s !important;
}

/* 节点之间的连接线 */
.wf-node.is-not-first::before {
  content: "" !important;
  position: absolute !important;
  left: -8px !important;
  top: 9px !important;
  width: 16px !important;
  height: 1.5px !important;
  background: var(--ref-border) !important;
  z-index: 0 !important;
}

.wf-dot {
  position: relative !important;
  z-index: 1 !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  border: 1.5px solid var(--ref-border) !important;
  background: var(--ref-bg-input) !important;
  box-sizing: border-box !important;
  transition: background 0.15s, border-color 0.15s, transform 0.15s !important;
}

.wf-label {
  font-size: 9.5px !important;
  font-weight: 700 !important;
  color: var(--ref-text-muted) !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  transition: color 0.15s !important;
}

/* 状态映射 - ref 主题色 */
.wf-node--success {
  border-color: var(--ref-success) !important;
  background: var(--ref-success-soft) !important;
}
.wf-node--success .wf-dot {
  background: var(--ref-success) !important;
  border-color: var(--ref-success) !important;
}
.wf-node--success .wf-label {
  color: var(--ref-success-strong) !important;
}

.wf-node--failed {
  border-color: var(--ref-danger) !important;
  background: var(--ref-danger-soft) !important;
}
.wf-node--failed .wf-dot {
  background: var(--ref-danger) !important;
  border-color: var(--ref-danger) !important;
}
.wf-node--failed .wf-label {
  color: var(--ref-danger-strong) !important;
}

.wf-node--pending {
  border-color: var(--ref-warning) !important;
  background: var(--ref-warning-soft) !important;
}
.wf-node--pending .wf-dot {
  background: var(--ref-warning) !important;
  border-color: var(--ref-warning) !important;
}
.wf-node--pending .wf-label {
  color: var(--ref-warning-strong) !important;
}

.wf-node--loading {
  border-color: var(--ref-border) !important;
  background: var(--ref-bg-muted) !important;
}
.wf-node--loading .wf-dot {
  border-color: var(--ref-border) !important;
  background: linear-gradient(90deg, var(--ref-bg-muted) 25%, var(--ref-bg-surface) 50%, var(--ref-bg-muted) 75%) !important;
  background-size: 200% 100% !important;
  animation: wf-node-skeleton-shimmer 1.5s ease-in-out infinite !important;
}
.wf-node--loading .wf-label {
  color: var(--ref-text-muted) !important;
}

/* ===== 未开始 / 可「加入队列」（missing）=====
   ⚠️ 原先这里**没有** missing 变体，它会落到上面 .wf-node 的
   `background: transparent !important` —— 于是「加入队列」在深色界面上退化成
   一串裸白字，完全看不出是个状态按钮（2026-10-03 修）。
   中性描边 + 空心虚线点表示"还没开始"，hover 才点亮成主题色。
   ⚠️ 底色用「主色 × 表面实色」混合而不是 × transparent：透明混色在浅色主题下
   会淡到接近白色（用户反馈"白色的不好看"），混表面色则两套主题都有足够对比。 */
.wf-node--missing {
  border-color: color-mix(in srgb, var(--ref-text-muted) 45%, var(--ref-bg-surface)) !important;
  background: color-mix(in srgb, var(--ref-text-muted) 14%, var(--ref-bg-surface)) !important;
}
.wf-node--missing .wf-dot {
  background: transparent !important;
  border-color: var(--ref-text-muted) !important;
  border-style: dashed !important;
}
.wf-node--missing .wf-label {
  color: var(--ref-text-secondary) !important;
}
.wf-node--missing:not(:disabled):hover {
  border-color: var(--ref-primary) !important;
  background: var(--ref-primary-soft) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28) !important;
}
.wf-node--missing:not(:disabled):hover .wf-dot {
  background: var(--ref-primary) !important;
  border-color: var(--ref-primary) !important;
  border-style: solid !important;
}
.wf-node--missing:not(:disabled):hover .wf-label {
  color: var(--ref-primary-strong) !important;
}

/* 深挖中 / 在队列中：指示灯持续脉冲，"在动"一眼可见 */
.wf-node--pending .wf-dot {
  animation: wf-node-pulse 1.4s ease-in-out infinite !important;
}
@keyframes wf-node-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--ref-warning) 30%, transparent);
  }
  50% {
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--ref-warning) 30%, transparent);
  }
}

/* 各状态加一层柔和阴影 + 饱和一点的底色，和背景拉开层次（强对比但不糊）。
   pending 原用 --ref-warning-soft：浅色主题下是 #fff4dc，几乎白底，辨识度差。 */
.wf-node--pending {
  border-color: var(--ref-warning) !important;
  background: color-mix(in srgb, var(--ref-warning) 20%, var(--ref-bg-surface)) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--ref-warning) 26%, transparent),
    0 2px 8px rgba(0, 0, 0, 0.18) !important;
}
.wf-node--success {
  border-color: var(--ref-success) !important;
  background: color-mix(in srgb, var(--ref-success) 16%, var(--ref-bg-surface)) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--ref-success) 24%, transparent),
    0 2px 8px rgba(0, 0, 0, 0.16) !important;
}
.wf-node--failed {
  border-color: var(--ref-danger) !important;
  background: color-mix(in srgb, var(--ref-danger) 16%, var(--ref-bg-surface)) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--ref-danger) 24%, transparent),
    0 2px 8px rgba(0, 0, 0, 0.16) !important;
}

/* 禁用态：「深挖中 / 在队列中」本身就是 disabled，太淡会看不清状态 */
.wf-node:disabled {
  opacity: 0.82 !important;
  cursor: not-allowed !important;
}

@keyframes wf-node-skeleton-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.wf-pipeline {
  border-color: var(--ref-border-blue) !important;
  background: var(--ref-primary-soft) !important;
  color: var(--ref-primary-strong) !important;
}

.wf-pipeline:hover:not(:disabled) {
  background: var(--ref-primary-strong) !important;
  color: var(--ref-fg-inverse, #fff) !important;
}

/* 地区分组行 */
.asset-region-group td {
  padding: 8px 14px !important;
  background: color-mix(in srgb, var(--ref-primary-soft) 60%, var(--ref-bg-surface)) !important;
  border-top: 2px solid var(--ref-primary) !important;
  border-bottom: 2px solid var(--ref-primary) !important;
  font-size: 12px !important;
}

.asset-region-group strong {
  font-size: 13px !important;
  color: var(--ref-primary-strong) !important;
  font-weight: 800 !important;
  margin-right: 6px !important;
  display: inline !important;
}

.asset-region-group .muted {
  font-size: 11.5px !important;
  color: var(--ref-text-muted) !important;
  display: inline !important;
}

/* --- 8. 分页栏 --- */

.pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  padding: 12px 22px !important;
  background: var(--ref-bg-header) !important;
  border-top: 1px solid var(--ref-border) !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
}

.pagination button {
  min-height: 32px !important;
  height: 32px !important;
  line-height: 30px !important;
  padding: 0 14px !important;
  border-radius: 7px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  border: 1px solid var(--ref-border) !important;
  background: var(--ref-bg-surface) !important;
  color: var(--ref-text-secondary) !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition:
    border-color var(--duration-fast) var(--ease-out),
    background var(--duration-fast) var(--ease-out),
    color var(--duration-fast) var(--ease-out),
    transform var(--duration-fast) var(--ease-out);
}

.pagination button:hover:not(:disabled) {
  border-color: var(--ref-primary) !important;
  background: var(--ref-primary-soft) !important;
  color: var(--ref-primary-strong) !important;
  transform: translateY(-1px);
}

.pagination button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.pagination > span {
  padding: 4px 12px !important;
  border-radius: 6px !important;
  background: var(--ref-bg-muted) !important;
  color: var(--ref-text-secondary) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  height: 32px !important;
  line-height: 24px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.pagination-jump {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 12px !important;
  color: var(--ref-text-muted) !important;
  height: 32px !important;
}

.pagination-jump input {
  width: 64px !important;
  height: 32px !important;
  min-height: 32px !important;
  line-height: 30px !important;
  border-radius: 7px !important;
  border: 1px solid var(--ref-border) !important;
  background: var(--ref-bg-surface) !important;
  color: var(--ref-text) !important;
  font-weight: 700 !important;
  font-size: 12.5px !important;
  text-align: center !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
  transition:
    border-color var(--duration-fast) var(--ease-out),
    box-shadow var(--duration-fast) var(--ease-out);
}

.pagination-jump input:focus {
  border-color: var(--ref-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px var(--ref-primary-soft) !important;
}

/* --- 9. 汇总条优化 --- */

.summary-strip {
  margin-bottom: 16px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid var(--ref-border) !important;
  background: var(--ref-bg-surface) !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(100px, 1fr)) !important;
  gap: 1px !important;
  box-shadow:
    0 1px 3px rgba(15, 23, 42, 0.04),
    0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

.summary-strip div {
  padding: 14px 18px !important;
  border-right: 1px solid var(--ref-border) !important;
}

.summary-strip div:last-child {
  border-right: none !important;
}

.summary-strip span {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--ref-text-muted) !important;
  display: block !important;
  line-height: 1.4 !important;
}

.summary-strip strong {
  font-size: 19px !important;
  font-weight: 800 !important;
  color: var(--ref-text) !important;
  margin-top: 2px !important;
  font-feature-settings: "tnum" !important;
  display: block !important;
  line-height: 1.3 !important;
}

/* --- 10. 加载状态 --- */

.loading-text {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: var(--ref-primary) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.loading-text::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 2px solid var(--ref-primary-soft);
  border-top-color: var(--ref-primary);
  border-radius: 50%;
  animation: list-spin-anim 0.6s linear infinite;
}

@keyframes list-spin-anim {
  to { transform: rotate(360deg); }
}

/* --- 11. 响应式微调 --- */

@media (max-width: 1120px) {
  .table-header-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  /* 窄屏下取消固定列数与跨列，改为自适应网格自然换行 */
  .asset-table-filters {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  }

  .compact-filter--wide {
    grid-column: auto !important;
  }
}

@media (max-width: 760px) {
  .table-header-top {
    padding: 14px 16px 10px !important;
  }

  .table-header-toolbar {
    flex-wrap: wrap !important;
  }

  .table-header-actions {
    padding: 12px 16px !important;
  }

  .asset-table-filters {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
    gap: 10px 8px !important;
  }

  .asset-title-cell {
    min-width: 200px !important;
    padding: 10px 12px !important;
  }

  .asset-title-line {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 4px !important;
    padding-left: 14px !important;
  }

  .asset-favorite-button,
  .asset-hide-button {
    justify-self: start !important;
  }

  th,
  td {
    padding: 10px 12px !important;
  }

  .pagination {
    padding: 10px 16px !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .pagination > span {
    order: -1 !important;
    width: 100% !important;
    text-align: center !important;
  }

  .summary-strip div {
    padding: 12px 14px !important;
  }

  .summary-strip strong {
    font-size: 17px !important;
  }
}

/* --- 13. Tab 数量徽章 --- */
.app-tab-badge--count {
  animation: none !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  min-width: 18px !important;
  height: 18px !important;
  line-height: 18px !important;
  padding: 0 5px !important;
  border-radius: 9px !important;
  background: var(--ref-accent) !important;
  color: #fff !important;
  text-align: center !important;
  opacity: 1 !important;
  vertical-align: middle !important;
  margin-left: 6px !important;
  font-feature-settings: "tnum" !important;
}

/* --- 14. 详情页隐藏按钮 --- */
.detail-hide-button {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 0 !important;
  border: 1px solid var(--ref-border) !important;
  background: var(--ref-bg-surface) !important;
  color: var(--ref-text-soft) !important;
  transition:
    background var(--duration-fast) var(--ease-out),
    border-color var(--duration-fast) var(--ease-out),
    color var(--duration-fast) var(--ease-out),
    transform var(--duration-fast) var(--ease-out) !important;
}

.detail-hide-button:hover {
  border-color: var(--ref-accent) !important;
  color: var(--ref-accent) !important;
  transform: translateY(-1px) !important;
}

.detail-hide-button[aria-pressed="true"] {
  border-color: var(--ref-accent) !important;
  background: var(--ref-primary-soft) !important;
  color: var(--ref-accent) !important;
}

.detail-favorite-button {
  width: 64px !important;
  min-width: 64px !important;
  height: 26px !important;
  flex: 0 0 64px !important;
  border-radius: 6px !important;
  font-size: 11.5px !important;
  white-space: nowrap !important;
  padding: 0 8px !important;
}

.detail-hide-button {
  width: 72px !important;
  min-width: 72px !important;
  height: 26px !important;
  flex: 0 0 72px !important;
  border-radius: 6px !important;
  font-size: 11.5px !important;
  white-space: nowrap !important;
  padding: 0 8px !important;
}

/* ==== 豁免：详情页深挖面板的字段表（label 列 265px）====
   2026-10-03：上面两条全局规则（th 高度 44px、th:first-child 宽 44px）是为资产列表
   勾选列设计的，但裸选择器会命中全站表格——详情页 .dm-execution-fixed-table 的
   标签列（拍卖房产/执行案号/所有权人…）被压成 44px 竖排，整块错位。
   这里按原设计（DeepMiningPanel.styles.css）恢复，并用 ref 变量兼容双主题。 */
.dm-execution-fixed-table th,
.dm-execution-fixed-table td {
  height: auto !important;
  line-height: 1.55 !important;
  padding: 8px 12px !important;
  white-space: normal !important;
  font-size: 12.5px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  border-bottom: 1px solid var(--ref-border) !important;
}
.dm-execution-fixed-table th {
  width: 265px !important;
  min-width: 265px !important;
  background: var(--ref-bg-muted) !important;
  color: var(--ref-text-secondary) !important;
  font-weight: 700 !important;
  text-align: left !important;
}
.dm-execution-fixed-table td {
  background: var(--ref-bg-surface) !important;
  color: var(--ref-text) !important;
}
