/* ══════════════════════════════════════════════════════════════════
   emp-sync.css —— 全站 UI 同步层（2026-09-30 老板令「全局新 UI 应用，不可有一点疏漏」）
   §15 单一事实源：自 emp-ui.css 抽出，独立自足，挂载全站 146 页
   数据来源：① 测量代理 8911 渲染全站 61 页的实测计算样式
                  （代理内存桩掉 role-gate.js + 注入探针，未改系统任何文件）
             ② 逐页/逐样式表 CSS 源码推导（保留原选择器只替换值 ⇒ 精确安全）
   判据（与探针 SPEC 逐字对齐）：字号≥11 · 圆角十档 · 毛玻璃五档 · 无紫蓝光晕 · 字体栈统一 · 面板形态统一
   挂载：全部 146 页 <link rel="stylesheet" href="assets/emp-sync.css?v=20260930sync">，置于 </head> 前（最后加载）
   回滚：删本文件 + 还原 backups/20260930-2450-sync-css/
   ══════════════════════════════════════════════════════════════════ */
/* S3 圆角归一（探针 SPEC.RADIUS 十档）*/
html .ai-tag,
html .sw i,
html .badge,
html .chip,
html .brain-center,
html .brain-phase .bp,
html .ch-ai,
html .rule span,
html .st,
html .logo,
html .hero,
html .hero .h-badge,
html .lg-wrap,
html .hdr .badge,
html .sec .more,
html .login-logo .big,
html .qr .box,
html .mq-wrap,
html .rc-badge-neg{border-radius:999px!important}
html .logo .mark,
html .al,
html .desc .it,
html .fld input,
html input,html select,
html .btn-l{border-radius:10px!important}
html .fold-btn,
html .bell,
html .sol-panel .sp-item .sp-no,
html .page-nav a,
html .bar-track,
html .bar-fill{border-radius:6px!important}
html .modal-card,
html .login-card,
html .login-card .logo-badge,
html .brain-status,
html .brain-core,
html .ai-fab,
html .ai-panel,
html .agent-card,
html .layer-card,
html .grad-card,
html .q,
html .ans,
html.tpl-dark .panel,
html .form,
html .brand .mark,
html .empty,
html .pill,
html .hs,
html .lg-logo .mark,
html .msg-card,
html .qcard,
html .me-card,
html .menu,
html .qcard .ic,
html .fi,
html .ph,
html .install-banner,
html .big .b,
html .tk{border-radius:12px!important}
html .chart .bar i{border-radius:8px 8px 2px 2px!important}
html .sol-row .s-seg,
html .progress,
html .progress i,
html .seed-tag,
html .skeleton,
html .bar,
html .kpi-bar,
html .kpi-bar i,
html .sk-line{border-radius:5px!important}
html tbody tr td:first-child{border-radius:8px 0px 0px 8px!important}
html tbody tr td:last-child{border-radius:0px 8px 8px 0px!important}
html .ai-stream::before,
html .ratebar,
html .ratebar i,
html .hdr .mark .dot,
html .tab.on .ic::after{border-radius:2px!important}
html .page-foot,
html .hdr{border-radius:0px 0px 12px 12px!important}
html .e-note{border-radius:0px 9px 9px 0px!important}
/* 2026-10-02 W13 修复（P1 观感变形）：原为【无条件】999px —— 桌面宽横幅下边缘被压成巨型空弧
   （tasks.html @1500px 实拍实证）；移动端 @430px 为「波浪头」设计，观感正常，故保留。
   ⇒ 限定 ≤640px 生效；桌面回落到 L94 的 12px。
   回滚：Copy-Item backups\20261002-w13-hdrfix\pre\assets__emp-sync.css assets\emp-sync.css -Force */
@media (max-width:640px){html .hdr{border-radius:0px 0px 999px 999px!important}}
html .tabbar,
html #rcSheet{border-radius:999px 999px 0px 0px!important}
html #tabbar .tab{border-radius:0px!important}

/* S3b 元素级内联圆角归一 */
html [style*="border-radius:16px"],
html [style*="border-radius:14px"]{border-radius:12px!important}
html [style*="border-radius:16px 16px 0 0"]{border-radius:12px 12px 0px 0px!important}
html [style*="border-radius:4px"]{border-radius:5px!important}
html [style*="border-radius:30px"]{border-radius:999px!important}
html [style*="border-radius:7px"]{border-radius:6px!important}
html [style*="border-radius:6px 6px 0 0"]{border-radius:6px 6px 0px 0px!important}
html [style*="border-radius:3px"]{border-radius:2px!important}
  html [style*="border-radius:13px"]{border-radius:12px!important}
  /* 字号地板：h5 未设字号时 UA 默认 0.83em，13px 基准 -> 10.79px(<11 违规)；
     不加 !important，故 .card h5(12.5/13.5px) 等高特性规则仍按原值胜出。 */
  html h5{font-size:11px}

/* S4 毛玻璃归一 */
html .topbar,
html .login-card,
html .side,
html .grad-card,
html .modal-card,
html .hero,
html .lg-wrap,
html .rc-sixnav{backdrop-filter:blur(14px)!important}
html .drawer-mask,
html .hint{backdrop-filter:blur(6px)!important}

/* S5 旧紫/蓝光晕清零（含 var(--glow-*) 间接 + 元素级内联）*/
html .logo .mark,
html .avatar,
html .badge.gr2::before,
html .chart .bar i,
html .tl .t-item::before,
html .login-card .logo-badge,
html .evt.alt::after,
html .ai-fab,
html .ai-fab:hover,
html .l-badge,
html .l-node.hot,
html .ch-t .ch-ic,
html .brand .mark,
html .logo,
html .topnav .brand .mark,
html .lg-logo .mark,
html .btn-l,
html .btn-l:hover,
html .lg-wrap,
html .rc-searchbar input:focus,
html [style*="79,140,255"]{box-shadow:none!important}
  html [style*="99,91,255"]{box-shadow:none!important}
  html [style*="124,108,255"]{box-shadow:none!important}
  html [style*="167,139,250"]{box-shadow:none!important}
  /* dashboard-master.js L33 用 #hex+alpha 拼接内联 box-shadow（rgba 字面量规则匹配不到）；
     补四条十六进制等价色（GLOW 色表的 hex 形式），仅命中含该字面量的内联元素。 */
  html [style*="#4f8cff22"]{box-shadow:none!important}
  html [style*="#a78bfa22"]{box-shadow:none!important}
  html [style*="#7c6cff22"]{box-shadow:none!important}
  html [style*="#635bff22"]{box-shadow:none!important}

/* S6 字体栈总闸（实测 3444 处旁路 Microsoft YaHei / system-ui / Arial） */
html,html *{font-family:"Segoe UI","HarmonyOS Sans SC","Microsoft YaHei","PingFang SC",sans-serif!important}
html .num,html .e-kpi .num,html .e-num,html .val,html .n,html .v{font-family:"Bahnschrift","Segoe UI",Consolas,monospace!important}
html code,html pre,html .mono,html .ai-tag{font-family:"Bahnschrift","Segoe UI",Consolas,monospace!important}
html button,html input,html select,html textarea,html option{font-family:inherit!important}

/* S7 面板统一（老板令：每个按钮后面的面板全部同步新 UI）
   —— 遗留旧版居中弹窗 DOM 也按新版右侧抽屉渲染；令牌带兜底，未加载 app.css 的页同样成立 */
html .hrx-modal{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;
  width:540px!important;max-width:92vw!important;height:100vh!important;max-height:100vh!important;margin:0!important;
  transform:none!important;border-radius:0px!important;border:0!important;border-left:1px solid var(--line,#1e2c44)!important;
  background:var(--card,#0b1727)!important;backdrop-filter:blur(6px)!important;box-shadow:none!important;
  display:flex!important;flex-direction:column!important;padding:18px 20px 60px!important;overflow-y:auto!important;
  transition:right .24s cubic-bezier(.4,0,.2,1)!important;z-index:9500!important}
html .hrx-modal[style*="display:none"],html .hrx-modal[style*="display: none"]{display:none!important}
html .hrx-modal-mask{position:fixed!important;inset:0!important;background:rgba(4,14,26,.6)!important;z-index:9400!important}
html .hrx-modal-head{display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:10px!important;padding:0 0 12px!important;border-bottom:1px solid var(--line,#1e2c44)!important;margin:0 0 12px!important}
html .hrx-modal-title{font-size:15px!important;font-weight:800!important;color:var(--txt,#e6edf7)!important;margin:0!important}
html .hrx-modal-x,html .hrx-modal-close{cursor:pointer!important;font-size:18px!important;color:var(--dim,#8e99a8)!important;line-height:1!important}
html .hrx-modal-body{flex:1 1 auto!important;font-size:12px!important;color:var(--txt,#e6edf7)!important;overflow-y:auto!important}
html .hrx-modal-foot{display:flex!important;justify-content:flex-end!important;gap:8px!important;
  padding-top:12px!important;border-top:1px solid var(--line,#1e2c44)!important;margin-top:auto!important}
/* emp-sync.css end */


/* ══════════════════════════════════════════════════════════════════
   S7 旧组件 → 新版观感别名区
   2026-10-01 老板令：全站按「卡点建议卡（新版）」(emp-ai.html) 统一
   ---------------------------------------------------------------
   目的：131 个存量页的旧 class 直接吃到新版组件观感，DOM / JS 零改动
   上游基准：assets/emp-ui.css（本区逐条对齐其 e-* 定义，值取自该文件）
   三条自制约束：
     ① 只改「视觉身份」= 背景/边框/圆角/阴影/色彩/字重/字号/字距
     ② 不动「布局骨架」= position/float/宽度，防版式位移
     ③ 零新增色值；带 :not([style*="background"]) 的规则 = 尊重页面显式意图
   定位（2026-10-02 转正）：**长期兼容层**，长期保留。
     W3（源级替换）经证据判定【无可安全自动化项】——属性值位置可令牌化 0 处、
     同值定义可去重 0 处、调色板归并 130 处会变渲染、旧 class 改名=结构重写。
     故本区【不会退场】，且是全站 115 页旧组件的视觉承重墙。
     ⇒ **不得随意删除**：删除将立刻回退全站视觉。详见
        docs\DOC-20261002-HRXOS-UI-BENCH-002-全站UI统一验收报告.md  §四 / §五
     新增组件请一律用 e-* ；旧 class 不再新增。
   回滚：Copy-Item backups\20261001-uibench\emp-sync.css.pre assets\emp-sync.css -Force
   ══════════════════════════════════════════════════════════════════ */

/* S7.1 卡片 .card → .e-card（保留页面显式背景意图） */

/* S7.2 KPI 族（限定在 .kpi 内，防误伤表格/列表里的同名类） */

/* S7.3 按钮 .btn → .e-btn */

/* S7.4 徽标 .badge → .e-bdg */
html .badge{display:inline-flex!important;align-items:center!important;gap:5px!important;
  font-size:11px!important;font-weight:600!important;padding:2px 8px!important;
  border-radius:6px!important;white-space:nowrap!important}

/* S7.5 标签 .ai-tag → .e-tag */
html .ai-tag{font-size:11px!important;font-weight:600!important;padding:2px 8px!important;
  border-radius:999px!important;border:1px solid var(--e-tint-cyan-40)!important;
  color:var(--cyan)!important;background:var(--e-tint-cyan-13)!important;white-space:nowrap!important}

/* S7.6 页头族 .page-head/.page-title/.page-actions → .e-head/.e-title/.e-actions */
html .page-head{display:flex!important;align-items:flex-start!important;gap:14px!important;
  flex-wrap:wrap!important;margin-bottom:16px!important}
html .page-title{font-size:19px!important;font-weight:800!important;letter-spacing:.2px!important;
  color:var(--txt)!important;display:flex!important;align-items:center!important;
  gap:10px!important;flex-wrap:wrap!important;margin-bottom:0!important}
html .page-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-left:auto!important}

/* S7.7 工具条 .toolbar → .e-filter */
html .toolbar{display:flex!important;gap:8px!important;align-items:center!important;
  flex-wrap:wrap!important;margin-bottom:12px!important}

/* S7.8 状态点族 → .e-dot 语义色 */
html .dot-ok,html .dot-warn,html .dot-info,html .dot-bad,html .dot-err{width:8px!important;
  height:8px!important;border-radius:50%!important;display:inline-block!important;flex:none!important}
html .dot-ok{background:var(--green)!important;box-shadow:0 0 7px var(--e-tint-61_220_132-75)!important}
html .dot-warn{background:var(--yellow)!important;box-shadow:0 0 7px var(--e-tint-251_191_36-75)!important}
html .dot-info{background:var(--cyan)!important;box-shadow:0 0 7px var(--e-tint-cyan-75)!important}
html .dot-bad,html .dot-err{background:var(--red)!important;box-shadow:0 0 7px var(--e-tint-248_113_113-80)!important}

/* S7.9 进度条容器 .progress → .e-bar（软管 -> 圆角细轨） */
html .progress{height:6px!important;border-radius:5px!important;
  background:var(--e-tint-white-10)!important;overflow:hidden!important}

/* S7.10 建议卡 .sug → .e-adv */
html .sug{border:1px solid var(--e-tint-cyan-35)!important;border-radius:10px!important;
  padding:13px 15px!important}
html .sug:not([style*="background"]){background:linear-gradient(160deg,var(--e-tint-cyan-13),var(--e-tint-brand-14))!important}

/* S7.11 文本层级 */
/* S7.13 .sub 归位（2026-10-02 渲染实测：旧页 .sub 实测 16px，新版 .e-sub 为 12px 小字说明）
   语义核验：.sub 在原页均作小字说明（如「进度/问题/人效/成本/供应链」「任务分解 · 仲裁」）
   影响面：44 页 / 94 处；回滚 = 删本行 */
html .sub{color:var(--dim)!important;font-size:12px!important}

/* S7.14 表单控件 / 表格归位（2026-10-02 无头渲染实测揪出）
   背景：§S7 原名只覆盖展示类组件（card/kpi/btn/badge…），**未覆盖表单控件与表格**；
         而旧页大量使用（实测全站 <input> 113 页 / <table> 108 页 / <select> 41 页 / <textarea> 17 页），
         且每页内联 <style> 硬写死样式 ⇒ 内容区看起来仍是旧版。
   来源值：逐条对齐 assets/emp-ui.css 的 .e-inp / .e-tbl。
   四重安全阀：
     ① :not(.e-inp)/:not(.e-tbl) —— 不干扰新版组件自身的定义
     ② 跳过显式写了 style="background" 的控件 —— 尊重页面显式意图
     ③ 不动 checkbox/radio/range/file/submit/button —— 这些不该被改写
     ④ 只动视觉身份（底色/边/圆角/内距/字号/色），不动宽高与布局
   回滚：删本区块即可 */
html input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not(.e-inp):not([style*="background"]),
html select:not(.e-inp):not([style*="background"]),
html textarea:not(.e-inp):not([style*="background"]){
  background:var(--e-tint-white-05)!important;border:1px solid var(--line2)!important;
  border-radius:9px!important;padding:6px 11px!important;font-size:12px!important;
  color:var(--txt)!important;font-family:inherit!important;box-sizing:border-box!important}
html input:not(.e-inp):focus,html select:not(.e-inp):focus,html textarea:not(.e-inp):focus{
  border-color:var(--cyan)!important;outline:none!important;
  box-shadow:0 0 0 3px var(--e-tint-cyan-15)!important}
/* S7.16 装饰件归零（对齐 .e-card / .e-kpi 扁平基准 · 2026-10-02 实拍目检揪出）
   依据：app.css 给旧页挂了五处装饰，而基准 .e-card / .e-kpi（emp-ui.css L90-112）一处都没有——
     L1285 .kpi::after   彩色顶条（--rainbow）
     L6922 .card::before 顶部高光条
     L6932 .card:hover   抬升 translateY(-4px) + 大阴影 + 青色描边
     L6972 .kpi .num     渐变文字（background-clip:text）
     L6992 .kpi:hover .num 紫色 drop-shadow
   口径：只关「装饰」（伪元素 / 位移 / 阴影 / 渐变字），不动尺寸、颜色令牌与布局。
   回滚：删本区块即可 */

html table:not(.e-tbl) th{text-align:left!important;font-weight:600!important;color:var(--dim)!important;
  font-size:11px!important;padding:7px 9px!important;border-bottom:1px solid var(--line2)!important;
  white-space:nowrap!important}
/* S7.15 表单控件「旧页规范内联」归位（2026-10-02 运行时普查实证）
   背景：S7.14 安全阀 ② 跳过所有 style="background" 的控件；但旧页有 198 个
         input/textarea 的内联是统一规范串 background:var(--surface-card);…
         其值虽为正规令牌（app.css L275 --surface-card:#0b1526），
         却与新版 .e-inp（emp-ui.css L182 var(--e-tint-white-05)）不一致。
   口径：只命中「内联背景恰为 var(--surface-card)」的 input / textarea；
         <select> 不动（新版 .e-sel 本就用 var(--surface-card)）；
         带刻意色（var(--e-tint-248_113_113-05) / var(--e-tint-sky-06) 等）者不受影响。
   回滚：删本区块即可 */
html input[style*="background:var(--surface-card)"]:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not(.e-inp),
html textarea[style*="background:var(--surface-card)"]:not(.e-inp){
  background:var(--e-tint-white-05)!important;border:1px solid var(--line2)!important;
  border-radius:9px!important;padding:6px 11px!important;font-size:12px!important;
  color:var(--txt)!important;font-family:inherit!important;box-sizing:border-box!important}

html table:not(.e-tbl) td{padding:8px 9px!important;font-size:12px!important;
  border-bottom:1px solid var(--e-tint-white-06)!important;color:var(--txt)!important}

/* S7.12 卡片内距 / 阴影归一（2026-10-02 无头渲染实测补齐）
   背景：W2 原名只归了 边框/圆角/底/字，实测发现 .card 仍带 app.css 的 22px 内距
         与 28px 阴影，而新版 .e-card 为 14px 内距 + 无阴影 ⇒ 新旧页卡片观感不一致。
   安全阀：:not([style*=...]) 尊重页面显式意图；仅动 padding/box-shadow，不动宽高/定位。 */

/* === D6 component-vocabulary migration (2026-10-02) ===============
   Purpose: give .e-* the exact effects the legacy .card/.kpi/.btn get
   from the sections above. Only items the new classes lack are added;
   equivalent items are NOT duplicated.
   Rollback: delete this block. */
html .e-kpi .lb{font-size:11.5px!important;color:var(--sub)!important;font-weight:400!important}
html .e-kpi .num{font-family:var(--font-num)!important;font-size:25px!important;font-weight:800!important;
line-height:1.1!important;letter-spacing:.3px!important;color:var(--txt)!important;
background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important}
html .e-kpi .base{font-size:11px!important;color:var(--dim)!important}
html .e-kpi::after{content:none!important}
html .e-kpi:hover .num{filter:none!important}
html .e-btn.sm{font-size:11px!important;padding:4px 10px!important}
html .e-btn.p{background:linear-gradient(135deg,var(--brand),var(--violet-2))!important;
border-color:transparent!important;color:var(--on-accent)!important}
html .h-actions .e-btn{width:100%;justify-content:center}

/* ==================================================================
   S8 PANEL UNIFICATION  (2026-10-03 boss order:
   "unify every panel behind every button across the whole system")
   ------------------------------------------------------------------
   Target: the 28 legacy panel classes + 47 panel ids all converge on the
           canonical shell = .e-drawer / .e-mask / .e-dh / .e-x / .e-adv
           (assets/emp-ui.css from L265) -- i.e. the "blocker advice card" look.
   Reach:  70 pages / 195 panel containers. DOM and JS untouched.
   Discipline (same three rules as S7):
     1. visual identity only  = background / border / radius / shadow / colour / type scale
     2. never touch layout skeleton = position / float / width / display  (avoid reflow)
     3. zero new colour values -- tokens are reused verbatim
   Rollback: Copy-Item assets\emp-sync.css.pre-s8 assets\emp-sync.css -Force
   ================================================================== */

/* S8.1 masks -> one .e-mask look (9 legacy names, incl. id-based) */
html .modal-mask,html .drawer-mask,html .rcSheetMask,html #rMask,html #sMask,
html #mMask,html #drawerMask,html #maMask,html #effLineageMask{
  background:var(--e-tint-0_0_0-60)!important;backdrop-filter:blur(3px)!important}

/* S8.2 drawer / panel shells -> one .e-drawer skin (skin only, no layout) */
html .drawer{
  background:var(--surface-card)!important;border-left:1px solid var(--line2)!important;
  box-shadow:-18px 0 40px var(--e-tint-0_0_0-45)!important}
html .dp-panel,html .dept-panel,html .pj-panel,html .pn-panel,html .sc-panel,
html .rc-drawer-sec,html .agent-panel,html .stage-panel{
  background:var(--surface-card)!important;border:1px solid var(--line2)!important;
  border-radius:14px!important;box-shadow:0 12px 34px var(--e-tint-0_0_0-45)!important}

/* S8.3 panel headers -> one .e-dh type scale */
html .drawer-title,html .panel-h,html .modal-h,html .modal-head b{
  font-size:15px!important;font-weight:800!important;color:var(--txt)!important}
html .drawer-head,html .modal-head,html .ap-head{
  border-bottom:1px solid var(--line)!important}

/* S8.4 panel bodies -> one .e-drawer-body text scale */
html .drawer-body,html .modal-body,html .modal-b,html .drawer-b,html .panel-b{
  font-size:12px!important;color:var(--txt)!important}

/* S8.5 close controls -> one .e-x */
html .drawer-close,html .modal-x,html .ap-x,html .drawer-close *{
  font-size:18px!important;color:var(--dim)!important;line-height:1!important;
  cursor:pointer!important;background:none!important;border:none!important}
html .drawer-close:hover,html .modal-x:hover,html .ap-x:hover{color:var(--red)!important}

/* S8.6 .ai-panel convergence (63 pages; keeps its own position + toggle behaviour) */
html .ai-panel{
  background:var(--surface-card)!important;border:1px solid var(--line2)!important;
  border-radius:14px!important;box-shadow:0 24px 64px var(--e-tint-0_0_0-60)!important}
html .ai-panel .ap-head b{font-size:15px!important;font-weight:800!important;color:var(--txt)!important}

/* S8.7 panel footers -> one canonical footer rule */
html .modal-foot,html .modal-f,html .drawer-f{
  border-top:1px solid var(--line)!important;background:transparent!important}

/* S8.8 canonical alias -- one name for any future/legacy panel shell */
html .e-panel{background:var(--surface-card)!important;border:1px solid var(--line2)!important;
  border-radius:14px!important;box-shadow:0 12px 34px var(--e-tint-0_0_0-45)!important}
html .e-panel-mask{background:var(--e-tint-0_0_0-60)!important;backdrop-filter:blur(3px)!important}
