:root {
  --primary: #1a56db;
  --primary-dark: #1245b0;
  --primary-light: #e8f0fd;
  --accent: #06b6d4;
  --accent2: #818cf8;
  --success: #10b981;
  --warning: #f59e0b;
  --danger: #ef4444;
  --gray-50: #f8fafc;
  --gray-100: #f1f5f9;
  --gray-200: #e2e8f0;
  --gray-300: #cbd5e1;
  --gray-400: #94a3b8;
  --gray-500: #64748b;
  --gray-600: #475569;
  --gray-700: #334155;
  --gray-800: #1e293b;
  --gray-900: #0f172a;
  --sidebar-bg: #0a1628;
  --sidebar-width: 224px;
  --radius: 10px;
  --shadow: 0 2px 8px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.06);
  --shadow-lg: 0 8px 32px rgba(0,0,0,.14);
  --shadow-card: 0 1px 3px rgba(0,0,0,.04), 0 4px 20px rgba(26,86,219,.07);
  --border-card: rgba(226,232,240,.9);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', 'Segoe UI', sans-serif; background: #eef2f9; color: var(--gray-800); font-size: 14px; line-height: 1.6; }

/* ── 全局 SVG 线性图标（替代 emoji，颜色随文字 currentColor） ───────────── */
.ico {
  width: 14px; height: 14px; display: inline-block; vertical-align: -2px; flex-shrink: 0;
  fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.upload-icon .ico { width: 34px; height: 34px; }
.result-empty-icon .ico { width: 42px; height: 42px; }
.history-empty-icon .ico { width: 40px; height: 40px; }
.status-card-icon .ico { width: 26px; height: 26px; }
.nav-icon .ico { width: 22px; height: 22px; }
.push-item-icon .ico { width: 16px; height: 16px; }
.kb-item-icon .ico, .file-icon .ico { width: 15px; height: 15px; }
/* 模块页标题图标：渐变底色小方块 + 白色线性图标（替代原 PNG） */
.module-title-icon {
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--primary), var(--accent)); color: #fff;
}
.module-title-icon .ico { width: 17px; height: 17px; stroke-width: 2; }

