/* ==========================================================================
   沉思波统一控制台 · 浅色 / 深色主题（2026-10-08 老板令）
   —— 独立文件交付：**不改 console.js / console.css**（那两个由并行会话维护）。
   加载顺序：index.html 里 console.css 之后引本文件（同选择器靠后即覆盖）。
   主题由 theme.js 在 <html> 上打 data-theme="light"；首屏防闪见 index.html 的内联脚本。
   做法：① 覆盖 :root 调色板变量；② 覆盖少数硬编码色（徽章/胶囊**文字**、顶栏/条带底色、hover、阴影）——
   半透明的徽章底/边在浅底上照样成立，只把文字从「浅色系」换成「深色系」保对比度。
   ========================================================================== */
:root[data-theme='light'] {
  --bg: #f4f6fb;
  --bg-2: #eaeef6;
  --panel: #ffffff;
  --panel-2: #f0f3f9;
  --line: #e4e8f0;
  --line-2: #d2dae6;
  --text: #18202c;
  --muted: #59657a;
  --muted-2: #7b8698;
  --brand: #1677ff;
  --brand-2: #1465d8;
  --ok: #1a7f37;
  --warn: #8a5a00;
  --danger: #cf222e;
}

/* 顶栏 / 条带 / 头像 / 悬浮 / 阴影 */
:root[data-theme='light'] .topbar { background: rgba(255, 255, 255, 0.88); }
:root[data-theme='light'] .nav-strip { background: rgba(255, 255, 255, 0.94); }
:root[data-theme='light'] .who .ava { background: #e2eaf8; color: #1d4ed8; }
:root[data-theme='light'] .btn:hover { background: #e9eef7; }
:root[data-theme='light'] .tbl tbody tr:hover { background: rgba(16, 24, 40, 0.03); }
:root[data-theme='light'] .plat:hover { border-color: #c6d0de; }
:root[data-theme='light'] .auth-card { box-shadow: 0 18px 50px rgba(16, 24, 40, 0.12); }
:root[data-theme='light'] .toast { box-shadow: 0 10px 30px rgba(16, 24, 40, 0.18); }
:root[data-theme='light'] .mtab-more-body { box-shadow: 0 -12px 34px rgba(16, 24, 40, 0.18); }

/* 徽章 / 胶囊：半透明底照旧，文字换深色系 */
:root[data-theme='light'] .chip { color: #1d4ed8; }
:root[data-theme='light'] .chip.role-student { color: #1a7f37; }
:root[data-theme='light'] .chip.role-teacher { color: #8a5a00; }
:root[data-theme='light'] .chip.role-admin { color: #c9252d; }
:root[data-theme='light'] .chip[data-sgroup].active,
:root[data-theme='light'] .chip[data-sonly].active { color: #1d4ed8; }
:root[data-theme='light'] .badge.on,
:root[data-theme='light'] .sso-same,
:root[data-theme='light'] .sso-ticket,
:root[data-theme='light'] .st-ok { color: #1a7f37; }
:root[data-theme='light'] .badge.off,
:root[data-theme='light'] .sso-pending,
:root[data-theme='light'] .st-warn { color: #8a5a00; }
:root[data-theme='light'] .badge.danger,
:root[data-theme='light'] .st-down { color: #c9252d; }
:root[data-theme='light'] .badge.plan,
:root[data-theme='light'] .st-gate { color: #1d4ed8; }
:root[data-theme='light'] .badge.beta { color: #5b4bd6; }
:root[data-theme='light'] .nav a.active { background: rgba(22, 119, 255, 0.1); color: #1d4ed8; }
:root[data-theme='light'] .btn-danger { color: #cf222e; }
/* 批3.1（2026-10-08）：旧覆盖 `color:#1d4ed8` 是给「淡蓝底 + 浅蓝字」的老按钮的；
   新 hero 主按钮是品牌蓝渐变底 + 白字（两套主题同款），浅色下保持白字，只把描边压淡一点。 */
:root[data-theme='light'] .pk-hero { border-color: rgba(22, 119, 255, 0.26); }
:root[data-theme='light'] .pk-hero.is-err { border-color: rgba(207, 34, 46, 0.4); }
:root[data-theme='light'] .btn-passkey,
:root[data-theme='light'] .btn-passkey:hover { color: #fff; }
/* 悬停：`.btn:hover` 在浅色主题里优先级更高（:root[data-theme] + .btn = 3 级），
   会把 hero 主按钮的渐变压成 #e9eef7（白字压浅底＝看不见）——这里按更高优先级补回渐变。 */
:root[data-theme='light'] .pk-hero .btn-passkey:hover {
  background: linear-gradient(135deg, #1069ec 0%, #3f92ff 100%);
}
:root[data-theme='light'] .pk-hero.is-off .btn-passkey { color: var(--muted); }
:root[data-theme='light'] .is-passkey-ok .auth-card {
  box-shadow: 0 0 0 1px rgba(26, 127, 55, 0.22), 0 18px 50px rgba(16, 24, 40, 0.12);
}

/* 顶栏「浅色 / 深色」切换按钮（由 theme.js 注入） */
.theme-toggle { display: inline-flex; align-items: center; gap: 6px; }
.theme-toggle svg { width: 14px; height: 14px; }
/* 登录页：无顶栏，挂右上角悬浮 */
.theme-toggle-floating { position: fixed; top: 16px; right: 16px; z-index: 5; }

/* ==========================================================================
   浅色补齐（第二批 · 2026-10-08）——首轮漏掉的「浅色文字写在深底上 / 深底写死」
   清点方式：grep console.css 里全部 `color: #xxxxxx` 与写死深色底，逐条对照本文件覆盖面；
   只补文字色与底色的两处，不动布局、不动半透明底/边（浅色下它们照样成立）。
   覆盖清单（其余硬编码色首轮已覆盖：.chip / .badge / .sso-* / .st-* / .btn-danger /
   .nav a.active / .who .ava / .topbar / .tbl hover / .btn hover；.btn-passkey 已于批3.1
   改为「品牌蓝渐变底 + 白字」并保留浅色覆盖，见上方 58–66 行）。
   ========================================================================== */
:root[data-theme='light'] .auth-error { color: #b3261e; }
:root[data-theme='light'] .srv-err { color: #b3261e; }
/* 软提示（琥珀系）：浅底上 #9a6700 只有 4.12:1，压深到 #8a5a00 才过 4.5 */
:root[data-theme='light'] .srv-err.soft { color: #8a5a00; }
/* 平台总览卡左上角字形块：底是品牌蓝淡渐变，字写死 #cfe4ff（浅色下几乎看不见） */
:root[data-theme='light'] .plat-glyph { color: #1d4ed8; }
/* 窄屏（≤860px）横滑页签的选中态，同样写死 #cfe4ff */
:root[data-theme='light'] .nav-strip a.active { color: #1d4ed8; }
/* 移动端底栏（≤768px）：console.css 写死 rgba(14,18,24,.92) → 浅色下是黑条 + 深灰图标不可读 */
:root[data-theme='light'] .mtab-bar { background: rgba(255, 255, 255, 0.92); }

/* 窄屏：console.css 把 .topbar-r 整个收掉了；这里放行并只留切换按钮（外链在「更多」面板里都有） */
@media (max-width: 620px) {
  .topbar-r { display: flex; gap: 6px; padding-right: 14px; }
  .topbar-r .hint, .topbar-r a.btn { display: none; }
  .theme-toggle { padding: 0 10px; }
}
