diff --git a/static/index.html b/static/index.html
index db4ff580..248cd2e6 100644
--- a/static/index.html
+++ b/static/index.html
@@ -2541,9 +2541,20 @@ function renderStrategyTable(strategies) {
const ddV = rwPf ? rwPf.portfolio_max_dd_pct : null;
const univ = rw.universality ? rw.universality.score : null;
const univM = rw.universality ? (rw.universality.months + '/' + (rw.universality.regime_total_months || '?')) : null;
- const isActive = s.current === true;
- return '
' +
- '| ' + s.version + (isActive ? ' 激活' : '') + ((s.market && s.market !== 'all') ? ' ' + (s.market === 'hk' ? '港' : 'A') + '' : '') + ' | ' +
+ // ── 2026-08-16 行状态按【该表温区 rg】独立判定(老莫反复强调:每温区表显示该温区下的资格状态)──
+ const qg = (s.qualification || {})[rg];
+ const rLong = qg && qg.long_ok, rMid = qg && qg.mid_ok, rShort = qg && qg.short_ok;
+ const r3 = rLong && rMid && rShort; // 三项全过
+ const r2 = rLong && rMid; // 长期+近期
+ const rManual = s.manual_available !== false;
+ let rState, rStateCls, rStateBadge, rRowBg;
+ if (!rManual) { rState = 'manual_off'; rStateCls = 'text-slate-500'; rStateBadge = '手动停用'; rRowBg = 'opacity-50'; }
+ else if (r3) { rState = 'ok3'; rStateCls = 'text-emerald-400'; rStateBadge = '可激活'; rRowBg = 'bg-emerald-900/10'; }
+ else if (r2) { rState = 'ok2'; rStateCls = 'text-blue-400'; rStateBadge = '可用'; rRowBg = ''; }
+ else { rState = 'bad'; rStateCls = 'text-red-400/80'; rStateBadge = '不合格'; rRowBg = 'opacity-60'; }
+ const isActive = rState === 'ok3';
+ return '
' +
+ '| ' + s.version + ' ' + rStateBadge + ((s.market && s.market !== 'all') ? ' ' + (s.market === 'hk' ? '港' : 'A') + '' : '') + ' | ' +
'' + (s.name || '') + (smallSample ? ' ⚠️' : '') + ' | ' +
// 2026-08-16 资格列:长期/近期/当下 三项达标徽章
'' + (s.qualification && s.qualification[rg] ? (
|