/* ════════════════════════════════════════════════════════════════════════════
 *  V3 设计精修层 — 加载在 v2.css 之后, 全站组件统一收敛
 *  目标: 去掉 glow/杂色, 统一按钮层级·卡片·表格·徽标·表单·标题, 提升一致性与质感
 *  只做视觉层覆盖, 不改 DOM 结构约定 (class 名向后兼容)
 * ════════════════════════════════════════════════════════════════════════════ */

/* ─── 1. 排版与页头 ─────────────────────────────────────────── */
body.theme-v2 h2.text-2xl {
  font-size: 21px !important;
  font-weight: 650 !important;
  letter-spacing: -0.015em;
  line-height: 1.3;
}
/* 统一页头: 标题+副标题在左, 动作在右 */
body.theme-v2 .page-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px; margin-bottom: 22px;
}
body.theme-v2 .page-head .page-sub {
  font-size: 13px; color: var(--v2-text-3); margin-top: 4px; max-width: 720px;
}
body.theme-v2 .page-head .page-actions { display: flex; gap: 8px; flex-shrink: 0; align-items: center; }

/* ─── 2. 按钮体系收敛 (四级: 主/次/幽灵/危险) ───────────────── */
/* 主按钮: 扁平实色, 去 glow 阴影 */
body.theme-v2 .btn-primary,
body.theme-v2 .btn-accent-glow,
body.theme-v2 .btn-primary-glow {
  box-shadow: none !important;
}
body.theme-v2 .btn-primary:active,
body.theme-v2 .btn-accent-glow:active { transform: translateY(0.5px); }
/* 次按钮(outline)与幽灵区分开: outline 有边框, ghost 完全透明无边框 */
body.theme-v2 .btn-ghost {
  background: transparent !important;
  border-color: transparent !important;
}
body.theme-v2 .btn-ghost:hover {
  background: var(--v2-surface-2) !important;
  border-color: transparent !important;
}
/* 成功/危险的 outline 变体 → 柔和 tinted, 不再撞色 */
body.theme-v2 .btn-success.btn-outline {
  background: var(--v2-success-soft) !important;
  border: 1px solid transparent !important;
  color: var(--v2-success) !important;
}
body.theme-v2 .btn-success.btn-outline:hover { border-color: var(--v2-success) !important; }
body.theme-v2 .btn-error.btn-outline {
  background: var(--v2-danger-soft) !important;
  border: 1px solid transparent !important;
  color: var(--v2-danger) !important;
}
body.theme-v2 .btn-error.btn-outline:hover { border-color: var(--v2-danger) !important; }
/* 文本级危险按钮 */
body.theme-v2 .btn-ghost.text-error { color: var(--v2-danger) !important; }
body.theme-v2 .btn-ghost.text-error:hover { background: var(--v2-danger-soft) !important; }
/* 统一 focus ring */
body.theme-v2 .btn:focus-visible,
body.theme-v2 .input:focus-visible,
body.theme-v2 .select:focus-visible {
  outline: 2px solid var(--v2-accent-soft) !important;
  outline-offset: 1px;
}

/* ─── 3. 卡片统一 ───────────────────────────────────────────── */
body.theme-v2 .card,
body.theme-v2 .qt-card {
  border-radius: 14px !important;
  border: 1px solid var(--v2-border) !important;
  box-shadow: 0 1px 2px rgba(15,23,41,0.04) !important;
}
body.theme-v2:not(.light-theme) .card,
body.theme-v2:not(.light-theme) .qt-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.25) !important;
}
body.theme-v2 .card.shadow { box-shadow: 0 1px 2px rgba(15,23,41,0.04) !important; }

/* ─── 4. 表格精修 ───────────────────────────────────────────── */
body.theme-v2 table thead th, body.theme-v2 .table thead th {
  font-size: 11px !important;
  letter-spacing: 0.07em !important;
  color: var(--v2-text-3) !important;
  font-weight: 600 !important;
  padding-top: 10px !important; padding-bottom: 10px !important;
}
body.theme-v2 table tbody tr { transition: background 0.1s; }
body.theme-v2 table tbody tr:hover, body.theme-v2 .table tbody tr:hover {
  background: var(--v2-surface-2) !important;
}

/* ─── 5. 徽标/状态 pill 统一 ────────────────────────────────── */
body.theme-v2 .badge {
  border: none !important;
  font-weight: 500 !important;
  height: 22px !important; min-height: 22px !important;
  padding: 0 9px !important;
  font-size: 11.5px !important;
  letter-spacing: 0;
}
body.theme-v2 .badge-outline { box-shadow: inset 0 0 0 1px var(--v2-border) !important; background: transparent !important; }

/* ─── 6. 表单与提示 ─────────────────────────────────────────── */
body.theme-v2 .label-text { font-size: 13px; font-weight: 600; color: var(--v2-text-2); }
/* alert 扁平化: 去边框线, 柔色底 */
body.theme-v2 .alert {
  border: none !important;
  border-radius: 10px !important;
  font-size: 12.5px !important;
}
body.theme-v2 .alert-info    { background: var(--v2-info-soft) !important;    color: var(--v2-text-2) !important; }
body.theme-v2 .alert-success { background: var(--v2-success-soft) !important; color: var(--v2-text-2) !important; }
body.theme-v2 .alert-warning { background: var(--v2-warn-soft) !important;    color: var(--v2-text-2) !important; }
body.theme-v2 .alert-error   { background: var(--v2-danger-soft) !important;  color: var(--v2-danger) !important; }

/* ─── 7. Lab 模式选卡: 旧绿色描边 → 主色, 与全站一致 ───────── */
body.theme-v2 .lab-mode-switch label { border-radius: 12px; }
body.theme-v2 .lab-mode-switch label:hover { border-color: var(--v2-accent) !important; }
body.theme-v2 .lab-mode-switch label.active {
  border-color: var(--v2-accent) !important;
  background: var(--v2-accent-soft) !important;
  box-shadow: none !important;
}
body.theme-v2 .lab-mode-switch label.active .lab-mode-ic { color: var(--v2-accent); }
body.theme-v2 .lab-mode-ic {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 9px;
  background: var(--v2-surface-2); color: var(--v2-text-3); flex-shrink: 0;
}
body.theme-v2 .lab-mode-ic svg { width: 17px; height: 17px; }

/* ─── 8. 模态与空状态 ───────────────────────────────────────── */
body.theme-v2 .modal-box { border-radius: 16px !important; }
body.theme-v2 .v3-empty {
  text-align: center; padding: 48px 16px; color: var(--v2-text-3); font-size: 13.5px;
}

/* ─── 9. 杂项噪声清理 ───────────────────────────────────────── */
/* 状态下拉 pill 与菜单跟随主题 */
body.theme-v2 .status-dd-menu {
  background: var(--v2-surface) !important;
  border: 1px solid var(--v2-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 28px rgba(15,23,41,0.14) !important;
}
body.theme-v2:not(.light-theme) .status-dd-menu { box-shadow: 0 10px 28px rgba(0,0,0,0.5) !important; }
body.theme-v2 .status-dd-item { color: var(--v2-text-2); }
body.theme-v2 .status-dd-item:hover { background: var(--v2-surface-2); color: var(--v2-text); }
/* route chip 统一 */
body.theme-v2 .route-chip {
  background: var(--v2-info-soft) !important; color: var(--v2-info) !important;
  border: none !important; border-radius: 8px !important;
  font-size: 12px !important; padding: 4px 10px !important;
}
