/* ============================================================================
   theme-v2.css —— 数联网 V2.0 视觉覆盖层
   ----------------------------------------------------------------------------
   作用域：全平台（目录内所有 HTML 均显式 link 本文件）
           平台侧页 → :root 映射层生效（--dg-* 全量换到 V2 色）
           连接器内嵌页 → .embed-connector 段同步 --cn-* 主色，表格规范生效
           引擎内嵌页 → .embed-engine 段同步 --eg-primary 到 V2 主色（§5.9 决议一并套 V2），
                       顶栏保留品牌深蓝 #0a38ab（V2 无顶栏令牌，不臆造）
   基准：Figma「数联网V2.0」node 4261-2407「数联网平台设计规范」V2.0
         数据经 REST API 读取节点真实属性，非目测。
   原则：① 只覆盖 Figma 有明确原值的令牌，不臆造派生色阶；
         ② 未覆盖的令牌继续沿用 tokens.css（源系统实测值）；
         ③ 回滚 = 删掉页面里的那一行 <link>，无其它副作用。
   说明：根目录 design-tokens.css 为同一套令牌的完整版（86 项），
         本文件是其在本工程内的精简副本 + 变量映射层。
   ============================================================================ */

:root {
  /* ---------- 1. V2 品牌色 ---------- */
  --c-primary:          #1C64EA;
  --c-primary-solid:    #165DFF;
  --c-primary-active:   #0043DB;
  --c-primary-tint:     #D7E6FF;
  --c-primary-bg:       #F4F7FF;
  --c-primary-gradient: linear-gradient(90deg, #328EFF 0%, #1C64EA 100%);

  /* ---------- 2. V2 功能色 ---------- */
  --c-danger:  #FF1B32;
  --c-warning: #FF9816;
  --c-success: #009848;

  /* ---------- 3. V2 文字色 ---------- */
  --c-text-primary:     #081D4E;
  --c-text-regular:     #304168;
  --c-text-secondary:   #8695A7;
  --c-text-placeholder: #D3D6DC;
  --c-text-inverse:     #FFFFFF;

  /* ---------- 4. V2 背景 / 边框 ---------- */
  --c-bg-3: #FAFCFE;
  --c-bg-2: #F9FBFE;
  --c-bg-1: #EDF0F7;
  --c-border:        #EDF0F7;
  --c-border-strong: #D3D6DC;
  --c-border-focus:  #1C64EA;

  /* ---------- 5. V2 字号阶梯（行高 = 字号 × 1.4） ---------- */
  --c-fs-display: 24px;  --c-lh-display: 33.6px;
  --c-fs-title:   16px;  --c-lh-title:   22.4px;
  --c-fs-body:    14px;  --c-lh-body:    19.6px;
  --c-fs-caption: 12px;  --c-lh-caption: 16.8px;

  /* ---------- 6. V2 间距 / 圆角 ---------- */
  --c-sp-1: 4px;
  --c-sp-2: 8px;
  --c-sp-3: 12px;
  --c-sp-4: 16px;
  --c-sp-5: 20px;
  --c-sp-6: 24px;
  --c-radius-sm:   4px;
  --c-radius-md:   8px;
  --c-radius-pill: 100px;

  /* ---------- 7. V2 控件尺寸 ---------- */
  --c-h-btn-lg: 40px;
  --c-h-btn-md: 36px;
  --c-h-btn-sm: 24px;

  /* ==========================================================================
     映射层：把 V2 令牌接到工程现有变量名上
     现有 68 处 CSS 全部引用 --dg-*，因此只改这一段即可全页生效
     ========================================================================== */
  --dg-color-primary:         var(--c-primary);
  --dg-color-primary-dark-1:  var(--c-primary-active);
  --dg-color-primary-light-2: var(--c-primary-solid);   /* 主按钮 hover */
  --dg-color-primary-lighter: var(--c-primary-bg);
  --dg-color-primary-light-9: var(--c-primary-bg);      /* 菜单选中底 / hover 底 */

  --dg-color-text-primary:   var(--c-text-primary);
  --dg-color-text-regular:   var(--c-text-regular);
  --dg-color-text-secondary: var(--c-text-secondary);
  --dg-color-text-placeholder: var(--c-text-placeholder);

  --dg-border-color-base: var(--c-border);
  --dg-color-fill-disabled: var(--c-border-strong);
}

/* ============================================================================
   内嵌页（被嵌系统① 接入连接器）
   源系统本色为 #357cfc / 页签 #007aff（connector.css 内定义在 .embed-connector）。
   这里同步到 V2 主色，使两页视觉一致；若要还原被嵌系统原貌，删除本段即可。
   ============================================================================ */
.embed-connector {
  --cn-primary:    var(--c-primary);
  --cn-tab-active: var(--c-primary);
}

/* ============================================================================
   内嵌页（被嵌系统② 组件管控中心）
   源系统本色为 antd（--eg-primary #1677ff / 顶栏 #0a38ab）。
   §5.9 决议：引擎页一并套用 V2 —— 交互主色映射到 V2 主色，
   顶栏深蓝保留品牌识别（V2 无顶栏色令牌，不臆造），文字/边框沿用源系统。
   ============================================================================ */
.embed-engine {
  --eg-primary: var(--c-primary);
}

/* ============================================================================
   表格（含「列表信息过多的表格操作区展示」规范）
   依据 Figma 4248-3311 同名区块实测：
     · 表头 高 55，背景 #F9FBFE，文字 #999DA6 14/400，底部分割线 rgba(153,157,166,.09)
     · 数据行 高 55，背景 #FFFFFF，文字 #081D4E 14/400，底部分割线 rgba(8,29,78,.09)
     · 操作列宽 150，行内为文字按钮（编辑 / 删除 / …）
   仅作用于主表，不影响详情页内嵌小表（.cn-mini）。
   ============================================================================ */
.embed-connector table.cn-table:not(.cn-mini) th {
  height: 55px;
  padding: 10px 0;
  background: var(--c-bg-2);
  color: #999DA6;   /* 该区块实测为 #999DA6，与全局次要文字 #8695A7 不同，按区块取值 */
  font-size: 14px;
  font-weight: 400;
  border-bottom: 1px solid rgba(153, 157, 166, .09);
}
.embed-connector table.cn-table:not(.cn-mini) td {
  height: 55px;
  padding: 10px 0;
  color: var(--c-text-primary);
  font-size: 14px;
  border-bottom: 1px solid rgba(8, 29, 78, .09);
}
.embed-connector table.cn-table:not(.cn-mini) td .cell,
.embed-connector table.cn-table:not(.cn-mini) th .cell {
  padding: 0 12px;   /* 沿用原内边距：Figma 侧边距为 16，但本工程列宽较窄，16 会导致「序号」列文字换行 */
  /* 规范为单行展示：超长内容省略号截断，保证行高稳定在 55px */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 操作列：文字按钮间距与颜色对齐规范 */
.embed-connector .cn-op { gap: 12px; flex-wrap: nowrap; }
.embed-connector .cn-btn-text { color: var(--c-primary); }

/* ----------------------------------------------------------------------------
   操作列固定在右侧可见区
   规范：列表左右滚动时，只有其它列滑动，操作列始终贴在最右侧不动。
   实现：position: sticky + right: 0，进入页面即吸附（允许覆盖右侧数据列），
        带左侧分隔阴影提示可横向滚动。
   ---------------------------------------------------------------------------- */
.embed-connector table.cn-table:not(.cn-mini):has(tbody .cn-op) th:last-child,
.embed-connector table.cn-table:not(.cn-mini):has(tbody .cn-op) td:last-child {
  position: sticky;
  right: 0;
  z-index: 2;
  box-shadow: -4px 0 8px -4px rgba(8, 29, 78, .18);
}
.embed-connector table.cn-table:not(.cn-mini):has(tbody .cn-op) th:last-child {
  background: var(--c-bg-2);
}
.embed-connector table.cn-table:not(.cn-mini):has(tbody .cn-op) td:last-child {
  background: #fff;
}
.embed-connector table.cn-table:not(.cn-mini):has(tbody .cn-op) tbody tr:hover td:last-child {
  background: #f5f7fa;
}
/* 「更多」下拉展开时：提升所在行操作列层级，避免被下方行白底操作列盖住 */
.embed-connector table.cn-table:not(.cn-mini):has(tbody .cn-op) tbody tr:has(.cn-more.open) td:last-child {
  z-index: 5;
  background: #fff;
}

/* ============================================================================
   平台侧主表格（.dn-table__grid）对齐 V2 表格规范（§5.9 决议）
   行高 55/55 已通过 tokens.css 的 --comp-table-th/td-height 对齐；
   此处补齐表头底色 #F9FBFE、表头文字 #999DA6 14/400、分割线，与连接器内嵌页同源。
   ============================================================================ */
table.dn-table__grid th {
  background: var(--c-bg-2);
  color: #999DA6;
  font-weight: 400;
}
table.dn-table__grid th .cell, table.dn-table__grid td .cell { line-height: 24px; }
/* 单行省略：内容超出列宽截断为单行，保证行高稳定 55（操作按钮列除外，按钮需换行/不裁剪） */
table.dn-table__grid th .cell,
table.dn-table__grid td .cell:not(:has(.dn-action-list)) {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
table.dn-table__grid th { border-bottom: 1px solid rgba(153, 157, 166, .09); }
table.dn-table__grid td { border-bottom: 1px solid rgba(8, 29, 78, .09); }
/* 列宽总和超出容器时按内容宽展开（容器内横向滚动），
   避免 table-layout:fixed 等比压缩导致操作列收窄、按钮竖排、行高被撑高（已 Chrome 实测验证） */
table.dn-table__grid { width: max-content; min-width: 100% !important; }
