/* ============================================================
   craft.css — 商业工艺层 v5.10.0（token 收口 / 表格工艺 / 徽章 / 三态）
   哲学：不动 app.js 渲染逻辑，用 CSS 反选收口存量内联样式；
   后续触碰驱动迁移时，把内联样式换成对应类即可逐步删除本文件的反选规则。
   ============================================================ */

:root{
  --r-card:12px; --r-ctl:8px;
}

/* ---------- 全局：等宽数字（商业感第一来源） ---------- */
body, table, .stat-value, .stat-label, td, th, .ctrl, .count{
  font-variant-numeric: tabular-nums;
}

/* ---------- 01 KPI：数字去橙化，橙色收窄为强调/动作 ---------- */
.stat-value{
  color:var(--ink) !important;
  letter-spacing:-.02em;
  font-weight:700;
}
.stats-row .stat-card{
  border:1px solid var(--line) !important;
  border-radius:var(--r-card) !important;
  box-shadow:var(--sh) !important;
  text-align:left !important;
  padding:18px 20px !important;
}
.stat-label{
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--ink-4) !important;
  margin-top:0 !important;
  margin-bottom:4px !important;
}
.stat-value{margin-top:2px}

/* ---------- 02 表格：格子纸 → 水平条带 ----------
   真实系统 th/td 多为内联样式，用属性反选 + !important 收口 */
th{
  background:transparent !important;
  color:var(--ink-4) !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:10px 12px !important;
  border:none !important;
  border-bottom:1px solid var(--line-strong) !important;
  white-space:nowrap;
}
/* 橙底表头 → 弱化 */
th[style*="#FF6900"], th[style*="background:#FF6900"]{
  background:transparent !important;
  color:var(--ink-4) !important;
}
td{
  border:none !important;
  border-bottom:1px solid var(--line-soft) !important;
  padding:12px 12px !important;
  color:var(--ink-2) !important;
  font-size:13px !important;
}
td[style*="#e8e8e8"], td[style*="#ddd"], td[style*="#eee"]{
  border:none !important;
  border-bottom:1px solid var(--line-soft) !important;
}
th[style*="text-align:right"] + td, td[style*="text-align:right"]{
  text-align:right;
}
table{
  border-collapse:separate !important;
  border-spacing:0 !important;
  font-size:13px !important;
}
table[style*="#e8e8e8"], .report-table, .detail-table{
  border:none !important;
}
.report-table th, .detail-table th{
  background:transparent !important;
}
.report-table td, .detail-table td{
  border:none !important;
  border-bottom:1px solid var(--line-soft) !important;
}
tr:hover td{ background:var(--surface-2) !important; }
.group-header, .group-header-green{
  background:var(--surface-2) !important;
  color:var(--ink-3) !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.05em;
}

/* ---------- 03 图表卡片与区块标题 ---------- */
.chart-card{
  background:var(--surface) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--r-card) !important;
}
.chart-card h3{
  font-size:13px !important;
  font-weight:650 !important;
  color:var(--ink) !important;
}
.section-title{
  color:var(--ink) !important;
  font-size:15px !important;
  letter-spacing:-.01em;
}
.section-title::before{
  content:"";
  display:inline-block;
  width:4px; height:14px;
  background:var(--accent);
  border-radius:2px;
  margin-right:8px;
  vertical-align:-2px;
}

/* ---------- 04 徽章：语义色 pill（弃 emoji 质感） ---------- */
.sigma-great, .sigma-good, .sigma-warn, .sigma-bad{
  font-size:11.5px !important;
  font-weight:600 !important;
  padding:2px 10px !important;
  border-radius:999px !important;
  border:none !important;
}
.sigma-great{ background:var(--info-tint) !important; color:var(--info) !important; }
.sigma-good{ background:var(--ok-tint) !important; color:var(--ok) !important; }
.sigma-warn{ background:var(--warn-tint) !important; color:var(--warn) !important; }
.sigma-bad{ background:var(--bad-tint) !important; color:var(--bad) !important; }
/* 大号过程能力徽章（28px 内联）保持尺寸，仅统一质感 */
.sigma-great[style*="font-size:28px"], .sigma-good[style*="font-size:28px"],
.sigma-warn[style*="font-size:28px"], .sigma-bad[style*="font-size:28px"]{
  font-size:24px !important;
  padding:4px 14px !important;
  border-radius:10px !important;
  font-variant-numeric:tabular-nums;
}

/* ---------- 05 按钮与控件 ---------- */
.btn, .cb-btn, .ea-tb-btn, .filter-btn{
  border-radius:var(--r-ctl) !important;
  font-size:12.5px !important;
  font-weight:600 !important;
  transition:.15s;
}
.btn-primary{
  background:var(--accent) !important;
  border:none !important;
  color:#fff !important;
  box-shadow:0 1px 2px rgba(194,65,12,.22) !important;
}
.btn-primary:hover{ background:var(--accent-deep) !important; }

/* ---------- 06 页头/全局字阶收敛 ---------- */
.header{
  border-radius:var(--r-card) !important;
}
.header h1{
  font-size:26px !important;
  letter-spacing:-.02em !important;
}

/* ---------- 07 导航 Tab：大橙块 → 低调激活态 ---------- */
.tab{
  border-radius:var(--r-ctl) !important;
  font-size:12.5px !important;
  font-weight:500 !important;
}
.tab.active{
  background:var(--surface-2) !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  font-weight:650 !important;
  position:relative;
}
.tab.active::after{
  content:"";
  position:absolute; left:22%; right:22%; bottom:4px;
  height:3px; border-radius:2px;
  background:var(--accent);
}
.tab.active .dmaic-tag{ color:var(--ink-3) !important; opacity:1 !important; }
.dmaic-tag{ font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; }

/* ---------- 08 内联 hex 反选（存量 1,988 处收口，触碰迁移后逐条退役） ---------- */
[style*="color:#64748B"],[style*="color:#64748b"]{ color:var(--ink-3) !important; }
[style*="color:#94a3b8"],[style*="color:#94A3B8"]{ color:var(--ink-4) !important; }
[style*="color:#333"],[style*="color:#222"],[style*="color:#111"]{ color:var(--ink) !important; }
[style*="color:#c62828"],[style*="color:#C2410C"],[style*="color:#c2410c"]{ color:var(--bad) !important; }
[style*="color:#e65100"],[style*="color:#E65100"]{ color:var(--warn) !important; }
[style*="color:#2e7d32"],[style*="color:#2E7D32"]{ color:var(--ok) !important; }
[style*="background:#e8e8e8"],[style*="background:#eee"],[style*="background:#f5f5f5"],
[style*="background:#f8f9fa"],[style*="background:#fafafa"]{ background:var(--surface-2) !important; }
[style*="border:1px solid #ddd"],[style*="border:1px solid #e0e0e0"],
[style*="border:1px solid #e8e8e8"],[style*="border:1px solid #ccc"]{
  border-color:var(--line) !important;
}
[style*="background:#fff;box-shadow"]{
  border:1px solid var(--line) !important;
  box-shadow:var(--sh) !important;
}
[style*="font-size:10px"],[style*="font-size:9px"]{
  font-size:11px !important;
  letter-spacing:.03em;
}

/* ---------- 09 三态：空态 / 加载 / 错误 ---------- */
.craft-empty{
  text-align:center;
  padding:56px 24px;
  color:var(--ink-3);
}
.craft-empty .ce-title{
  font-size:15px; font-weight:650; color:var(--ink-2);
  margin-bottom:6px;
}
.craft-empty .ce-desc{
  font-size:12.5px; color:var(--ink-4);
}
.craft-loading{
  display:flex; align-items:center; gap:10px;
  padding:18px 20px;
  color:var(--ink-3); font-size:13px;
}
.craft-loading::before{
  content:"";
  width:16px; height:16px;
  border:2px solid var(--line-strong);
  border-top-color:var(--accent);
  border-radius:50%;
  animation:craftSpin .7s linear infinite;
}
@keyframes craftSpin{ to{ transform:rotate(360deg); } }
.craft-error{
  border:1px solid var(--bad-line) !important;
  background:var(--bad-tint) !important;
  color:var(--bad) !important;
  border-radius:var(--r-ctl);
  padding:12px 16px;
  font-size:12.5px;
}
.craft-warn-bar{
  border:1px solid var(--warn-line, #F59E0B33);
  background:var(--warn-tint);
  color:var(--warn);
  border-radius:var(--r-ctl);
  padding:10px 14px;
  font-size:12.5px;
}
