:root {
  /* 主色 - 清新绿(#16a34a),AI 经营系统风格 */
  --color-primary: #16a34a;
  --color-primary-hover: #15803d;
  --color-primary-active: #166534;
  --color-primary-soft: #dcfce7;
  --color-primary-mid: #86efac;

  --color-success: #16a34a;
  --color-warning: #d97706;
  --color-danger: #dc2626;
  --color-info: #2563eb;

  --color-text: #1f2937;
  --color-text-secondary: #4b5563;
  --color-text-tertiary: #6b7280;
  --color-text-disabled: #9ca3af;
  --color-text-inverse: #ffffff;

  --color-bg: #f7f8fa;
  --color-bg-container: #ffffff;
  --color-bg-header: #ffffff;
  --color-bg-sider: #ffffff;
  --color-bg-sider-item-hover: #f0fdf4;
  --color-bg-sider-item-active: #dcfce7;
  --color-bg-hover: #f0fdf4;
  --color-bg-stripe: #fafbfc;

  --color-border: #e5e7eb;
  --color-border-light: #f0f1f2;

  --font-size-xs: 11px;
  --font-size-sm: 12px;
  --font-size-base: 13px;
  --font-size-md: 14px;
  --font-size-lg: 16px;
  --font-size-xl: 20px;

  --line-height-base: 1.5;

  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 24px;
  --space-2xl: 32px;

  --radius-sm: 4px;
  --radius-base: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;

  --header-height: 52px;
  --sider-width: 220px;
  --sider-width-collapsed: 56px;

  --shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.04);
  --shadow-base: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.06), 0 2px 4px -1px rgba(0,0,0,0.04);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.04);
}

* { box-sizing: border-box; }

html, body {
  margin: 0; padding: 0; height: 100%;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC',
               'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-text);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ============================================================
   字体大小档位(第十八轮)
   通过 html[data-font-size="X"] 切换,默认 standard
   覆盖范围:6 个 font-size 变量 + 老板台数据大字 + 控件高度
   ============================================================ */

/* 默认(standard)= :root 已定义的 13/14/16/20 */
/* 小档(small)*/
html[data-font-size="small"] {
  --font-size-xs:   10px;
  --font-size-sm:   11px;
  --font-size-base: 12px;
  --font-size-md:   13px;
  --font-size-lg:   14px;
  --font-size-xl:   18px;
  --boss-stat-fs:   22px;   /* 老板台数据大字 */
  --header-height:  48px;
  --sider-width:    200px;
}
html[data-font-size="standard"] {
  --font-size-xs:   11px;
  --font-size-sm:   12px;
  --font-size-base: 13px;
  --font-size-md:   14px;
  --font-size-lg:   16px;
  --font-size-xl:   20px;
  --boss-stat-fs:   24px;
  --header-height:  52px;
  --sider-width:    220px;
}
html[data-font-size="large"] {
  --font-size-xs:   13px;
  --font-size-sm:   14px;
  --font-size-base: 15px;
  --font-size-md:   16px;
  --font-size-lg:   18px;
  --font-size-xl:   22px;
  --boss-stat-fs:   28px;
  --header-height:  56px;
  --sider-width:    240px;
}
html[data-font-size="xlarge"] {
  --font-size-xs:   14px;
  --font-size-sm:   15px;
  --font-size-base: 16px;
  --font-size-md:   18px;
  --font-size-lg:   20px;
  --font-size-xl:   24px;
  --boss-stat-fs:   32px;
  --header-height:  60px;
  --sider-width:    260px;
}

/* 大档/超大档:控件随字体放大 */
html[data-font-size="large"] .erp-btn,
html[data-font-size="xlarge"] .erp-btn {
  height: auto;
  min-height: 36px;
  padding: 8px 16px;
}
html[data-font-size="xlarge"] .erp-btn {
  min-height: 40px;
  padding: 10px 18px;
}
html[data-font-size="large"] .erp-input,
html[data-font-size="xlarge"] .erp-input,
html[data-font-size="large"] .erp-select,
html[data-font-size="xlarge"] .erp-select {
  height: auto;
  min-height: 36px;
}
html[data-font-size="xlarge"] .erp-input,
html[data-font-size="xlarge"] .erp-select {
  min-height: 40px;
}

/* 表格在大档时增加单元格内边距,避免拥挤 */
html[data-font-size="large"] .erp-table td,
html[data-font-size="large"] .erp-table th {
  padding: 10px 12px;
}
html[data-font-size="xlarge"] .erp-table td,
html[data-font-size="xlarge"] .erp-table th {
  padding: 12px 14px;
}

a { color: var(--color-primary); text-decoration: none; }
a:hover { color: var(--color-primary-hover); }
