/* ==========================================================
   ICS-合规智能体 · 全局 Design Token（后台通用 UI 设计规范 v1.0）
   适用：PC 桌面端（Chrome / Edge），最小可视宽度 1200px
   定位：B 端财税/内控管理系统 —— 简洁高效、专业严谨、低视觉干扰、操作一致性
   说明：本文件为**唯一**主题变量来源，所有页面共用；禁止页面内私自定义色值。
   ========================================================== */
:root {
  /* ---------- 语义色（仅表达状态，不做装饰；页面禁止大面积彩色）---------- */
  --color-primary: #1677ff;          /* 主色：主按钮、激活 Tab、链接高亮 */
  --color-primary-hover: #4096ff;    /* 主色 hover */
  --color-primary-active: #0958d9;   /* 主色 active */
  --color-success: #52c41a;          /* 成功：完成标记、提醒绿点 */
  --color-warning: #faad14;          /* 警告：待审核、预警 */
  --color-danger: #ff4d4f;           /* 危险：删除、作废、错误 */
  --color-danger-hover: #ff7875;

  /* ---------- 中性色 ---------- */
  --color-text-main: #333333;        /* 正文/表格/表单标签 */
  --color-text-sec: #595959;         /* 次级正文 */
  --color-text-aux: #8c8c8c;         /* 辅助：空态、占位、分页说明 */
  --color-text-disabled: #bfbfbf;    /* 禁用文字 */
  --color-text-white: #ffffff;

  --color-bg-page: #ffffff;          /* 页面背景（全部业务页白底） */
  --color-bg-table-header: #fafafa;  /* 表头背景 */
  --color-bg-hover: #f5f5f5;         /* 行/选项 hover */
  --color-bg-disabled: #f5f5f5;      /* 禁用底色 */

  --color-border: #d9d9d9;           /* 常规边框 */
  --color-border-light: #f0f0f0;     /* 分隔线（表格行） */
  --color-border-focus: #1677ff;     /* 输入框激活边框 */

  /* ---------- 圆角（统一 4px，禁止大圆角卡片）---------- */
  --radius-sm: 4px;

  /* ---------- 间距（8px 基础单位）---------- */
  --space-base: 8px;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 24px;
  --space-xxl: 32px;

  /* ---------- 字体 ---------- */
  --font-family: "PingFang SC", "Microsoft YaHei", SimSun, sans-serif;
  --font-size-base: 14px;            /* 表格/按钮/表单标签（最常用） */
  --font-size-title: 16px;           /* 页面/弹窗标题 */
  --font-size-aux: 14px;             /* 提示、空态 */
  --line-height-base: 1.5;
  --line-height-table: 1.4;

  /* ---------- 组件高度 ---------- */
  --height-btn: 32px;
  --height-btn-sm: 28px;
  --height-input: 32px;

  /* ---------- 阴影（弱阴影，禁止重阴影）---------- */
  --shadow-card: 0 1px 2px rgba(0, 0, 0, .04);
  --shadow-dropdown: 0 2px 8px rgba(0, 0, 0, .08);

  /* ==========================================================
     兼容别名：指向新 token，避免存量页面（style.css 等）失效
     ========================================================== */
  --primary: var(--color-primary);
  --primary-h: var(--color-primary-hover);
  --primary-l: #e6f4ff;              /* 主色浅底（激活 Tab / 选中行） */
  --primary-xl: #f0f5ff;
  --success: var(--color-success);
  --success-l: #f6ffed;
  --warn: var(--color-warning);
  --warn-l: #fffbe6;
  --danger: var(--color-danger);
  --danger-l: #fff2f0;
  --text: var(--color-text-main);
  --text-sec: var(--color-text-sec);
  --text-aux: var(--color-text-aux);
  --text-disabled: var(--color-text-disabled);
  --bg: var(--color-bg-page);
  --bg-hover: var(--color-bg-hover);
  --card: #ffffff;
  --border: var(--color-border);
  --border-l: var(--color-border-light);
  --radius: var(--radius-sm);
  --shadow: var(--shadow-card);
  --shadow-sm: var(--shadow-card);
  --font: var(--font-family);
}

/* ==========================================================
   全局基础
   ========================================================== */
body {
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  color: var(--color-text-main);
  background: var(--color-bg-page);
  line-height: var(--line-height-base);
}

/* PC 端最小宽度：低于 1200px 出现横向滚动条，不做移动端响应式 */
.page-min-width { min-width: 1200px; }

/* ---------- 页面/弹窗标题 ---------- */
.page-title { font-size: var(--font-size-title); font-weight: 400; color: var(--color-text-main); }
.dialog-title { font-size: var(--font-size-title); font-weight: 400; color: var(--color-text-main); text-align: left; }

/* ---------- 空状态（统一文案：暂无数据）---------- */
.empty-tip, .table-empty {
  padding: var(--space-xl);
  text-align: center;
  color: var(--color-text-aux);
  font-size: var(--font-size-aux);
}

/* ---------- 工具栏：左筛选 / 右业务按钮 ---------- */
.toolbar {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: var(--space-md); padding: var(--space-md) 0;
}
.toolbar-left, .toolbar-right { display: flex; align-items: center; gap: var(--space-md); }

/* ---------- 批量操作栏（表格上方）---------- */
.batch-bar { display: flex; align-items: center; gap: var(--space-md); padding: var(--space-sm) 0; }
.batch-count { color: var(--color-text-main); }

/* ---------- 表格 ---------- */
.table-wrap { width: 100%; }
.table-wrap table { width: 100%; border-collapse: collapse; }
.table-wrap th {
  background: var(--color-bg-table-header); color: var(--color-text-main);
  font-weight: 400; font-size: var(--font-size-base); text-align: left;
  padding: var(--space-sm); border-bottom: 1px solid var(--color-border);
}
.table-wrap td {
  padding: var(--space-sm); font-size: var(--font-size-base);
  border-bottom: 1px solid var(--color-border-light); line-height: var(--line-height-table);
}
.table-wrap tbody tr:hover { background: var(--color-bg-hover); }
/* 财务数字（金额/税额/单价）右对齐 */
.table-num { text-align: right; }

/* ---------- 分页（底部靠右，总量在左）---------- */
.pagination { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-xs); }
.pagination-total { margin-right: auto; color: var(--color-text-aux); }

/* ---------- 表单 ---------- */
.input, .select {
  height: var(--height-input); padding: 0 var(--space-sm);
  border: 1px solid var(--color-border); border-radius: var(--radius-sm);
  font-size: var(--font-size-base); color: var(--color-text-main);
  background: #fff; outline: none;
}
.input:focus, .select:focus { border-color: var(--color-border-focus); }
.input::placeholder { color: var(--color-text-aux); }
/* 必填字段：标签后红色 * */
.form-required::after { content: " *"; color: var(--color-danger); }
