/* ============================================================
   智导 · 设计规范 v1（ui.css）
   新界面只用这里的变量和 u- 开头的组件类；旧样式在 style.css，逐页迁移后删除。
   原则：一个品牌色 + 中性灰 + 三个状态色；靠留白、字重、对齐分层；阴影只给浮层；无渐变、无装饰动画。
   ============================================================ */
:root{
  /* 颜色：文字与界面 */
  --u-ink:#1d1d1f;        /* 主要文字 */
  --u-ink-2:#515154;      /* 次要文字 */
  --u-ink-3:#86868b;      /* 辅助说明（最小 12px） */
  --u-ink-4:#b4b4b9;      /* 占位、禁用 */
  --u-line:#e6e6ea;       /* 分隔线、卡片边框 */
  --u-line-2:#d2d2d7;     /* 输入框边框 */
  --u-bg:#f5f5f7;         /* 页面底色 */
  --u-surface:#ffffff;    /* 卡片、面板 */
  --u-fill:#f0f0f3;       /* 次级填充（标签、悬停） */
  --u-fill-2:#e8e8ed;
  /* 颜色：品牌与状态（状态色只用于表达状态，不做装饰） */
  --u-blue:#0066cc;
  --u-blue-press:#0055ad;
  --u-blue-soft:#eaf2fc;
  --u-green:#1e7e34;  --u-green-soft:#e9f5ec;
  --u-amber:#9a6200;  --u-amber-soft:#fdf3e0;
  --u-red:#c9271c;    --u-red-soft:#fdecea;
  /* 字号：只有这 6 级 */
  --u-fs-12:12px; --u-fs-14:14px; --u-fs-15:15px; --u-fs-17:17px; --u-fs-22:22px; --u-fs-28:28px;
  /* 间距：4 的倍数 */
  --u-s1:4px; --u-s2:8px; --u-s3:12px; --u-s4:16px; --u-s5:20px; --u-s6:24px; --u-s8:32px; --u-s10:40px;
  /* 圆角：3 级 */
  --u-r-s:6px; --u-r-m:10px; --u-r-l:14px;
  /* 阴影：仅浮层使用 */
  --u-shadow:0 12px 32px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.06);
  --u-ease:cubic-bezier(.25,.1,.25,1);
  --u-font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei UI","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
}

/* ---------- 图标：统一线性图标（ui.js 的 icon()） ---------- */
.u-ico{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
.u-ico.s{width:14px;height:14px}.u-ico.l{width:18px;height:18px}

/* ---------- 应用外壳 ---------- */
.app{display:grid;grid-template-columns:216px minmax(0,1fr) 0;grid-template-rows:52px minmax(0,1fr);height:100%;background:var(--u-bg);color:var(--u-ink);font-family:var(--u-font);font-size:var(--u-fs-14);line-height:1.5;-webkit-font-smoothing:antialiased;letter-spacing:0}
.app.log-open{grid-template-columns:216px minmax(0,1fr) 340px}
.app button{font-family:inherit}
.app ::selection{background:#cfe3fa}

/* 侧栏：分组导航 */
.app-nav{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;background:#fbfbfd;border-right:1px solid var(--u-line);min-height:0}
/* 侧栏顶部放客户的企业名，产品名退到第二行 */
.app-brand{height:52px;flex:none;display:flex;align-items:center;gap:10px;padding:0 var(--u-s3);border-bottom:1px solid var(--u-line)}
.app-logo{flex:none;width:28px;height:28px;border-radius:var(--u-r-s);background:var(--u-ink);color:#fff;font-size:var(--u-fs-14);font-weight:600;line-height:28px;text-align:center}
.app-brand-t{min-width:0;line-height:1.3}
.app-brand-t b{display:block;font-size:var(--u-fs-14);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-brand-t small{display:block;font-size:var(--u-fs-12);color:var(--u-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-nav-scroll{flex:1;min-height:0;overflow:auto;padding:var(--u-s1) var(--u-s2) var(--u-s3)}
.app-nav h6{margin:var(--u-s4) var(--u-s2) var(--u-s1);font-size:var(--u-fs-12);font-weight:500;color:var(--u-ink-3)}
.app-nav h6:first-child{margin-top:var(--u-s2)}
.app-nav .u-nv{display:flex;align-items:center;gap:10px;width:100%;height:32px;padding:0 var(--u-s2);border:0;border-radius:var(--u-r-s);background:none;color:var(--u-ink-2);font-size:var(--u-fs-14);text-align:left;cursor:pointer;transition:background .15s var(--u-ease),color .15s var(--u-ease)}
.app-nav .u-nv:hover{background:var(--u-fill);color:var(--u-ink)}
.app-nav .u-nv.on{background:var(--u-fill-2);color:var(--u-ink);font-weight:600}
.app-nav .u-nv .u-ico{color:var(--u-ink-3)}
.app-nav .u-nv.on .u-ico{color:var(--u-blue)}
.app-nav .u-nv span.t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-nav .u-nv .u-nb{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--u-fill-2);color:var(--u-ink-2);font-size:var(--u-fs-12);font-weight:600;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}
.app-nav .u-nv .u-nb.attn{background:var(--u-red);color:#fff}
.app-nav-foot{flex:none;padding:var(--u-s2);border-top:1px solid var(--u-line)}

/* 顶栏 */
.app-top{grid-column:2/4;grid-row:1;display:flex;align-items:center;gap:var(--u-s4);padding:0 var(--u-s5);background:var(--u-surface);border-bottom:1px solid var(--u-line);min-width:0}
.app-where{min-width:0;display:flex;align-items:baseline;gap:var(--u-s2);font-size:var(--u-fs-14);white-space:nowrap}
.app-where span{color:var(--u-ink-3)}
.app-where span::after{content:"/";margin-left:var(--u-s2);color:var(--u-ink-4)}
.app-where b{font-weight:600}
.app-top .u-sp{flex:1}
.app-stat{display:flex;gap:var(--u-s5);font-size:var(--u-fs-14);color:var(--u-ink-2);white-space:nowrap}
.app-stat button{border:0;background:none;color:inherit;font-size:inherit;cursor:pointer;padding:0}
.app-stat button:hover{color:var(--u-ink)}
.app-stat b{color:var(--u-ink);font-weight:600;font-variant-numeric:tabular-nums}
.app-stat .attn b{color:var(--u-red)}
/* 演示模式的加速时钟：只在演示企业中出现 */
.app-demo{display:flex;align-items:center;gap:var(--u-s2);padding:3px 4px 3px 10px;border:1px solid var(--u-line);border-radius:var(--u-r-m);font-size:var(--u-fs-12);color:var(--u-ink-2);white-space:nowrap}
.app-demo b{font-variant-numeric:tabular-nums;color:var(--u-ink);font-weight:600}
.app-demo .u-seg button{height:22px;padding:0 8px}
/* AI 连接状态（由 ai.js 注入 .ai-pill） */
:is(.app,.wz,.hm) .ai-pill{display:inline-flex;align-items:center;gap:6px;height:28px;margin:0;padding:0 10px;border:1px solid var(--u-line);border-radius:var(--u-r-m);background:var(--u-surface);box-shadow:none;font-size:var(--u-fs-12);color:var(--u-ink-2);white-space:nowrap;animation:none}
:is(.app,.wz,.hm) .ai-pill b{font-weight:500;color:var(--u-ink)}
:is(.app,.wz,.hm) .ai-pill .dim{color:var(--u-blue)}
:is(.app,.wz,.hm) .ai-pill .pulse{width:7px;height:7px;border-radius:50%;background:var(--u-ink-4);box-shadow:none;animation:none}
:is(.app,.wz,.hm) .ai-pill.on .pulse{background:var(--u-green)}
:is(.app,.wz,.hm) .ai-pill.off .pulse{background:var(--u-amber)}

/* 主区域 */
.app-main{grid-column:2;grid-row:2;position:relative;overflow:hidden;min-width:0;min-height:0;background:var(--u-bg)}
/* 尚未迁移的旧页面：先统一字体与主色，去掉入场动画（逐页迁移后删除本段） */
.app-main .page{animation:none;font-family:var(--u-font)}
.app-main{--c1:#0066cc;--c2:#0066cc;--c3:#0066cc;--bg:#f5f5f7;--line:#e6e6ea;--line2:#d2d2d7;--txt:#1d1d1f;--ok:#1e7e34;--warn:#9a6200;--bad:#c9271c}

/* 动态记录（右侧，可收起） */
.app-log{grid-column:3;grid-row:2;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--u-surface);border-left:1px solid var(--u-line);overflow:hidden}
.app:not(.log-open) .app-log{display:none}
.app-log-hd{flex:none;display:flex;align-items:center;gap:var(--u-s2);height:44px;padding:0 var(--u-s3) 0 var(--u-s4);border-bottom:1px solid var(--u-line)}
.app-log-hd b{font-size:var(--u-fs-14);font-weight:600;flex:1}
.u-log{flex:1;min-height:0;overflow:auto;padding:var(--u-s2) var(--u-s4) var(--u-s4)}
.u-log .u-ev{display:grid;grid-template-columns:8px minmax(0,1fr);gap:10px;padding:var(--u-s2) 0;border-bottom:1px solid var(--u-fill)}
.u-log .u-ev:last-child{border-bottom:0}
.u-log .u-ev .u-dot{width:6px;height:6px;margin-top:7px;border-radius:50%;background:var(--u-ink-4)}
.u-log .u-ev .u-dot.ok{background:var(--u-green)}.u-log .u-ev .u-dot.warn{background:var(--u-amber)}.u-log .u-ev .u-dot.bad{background:var(--u-red)}.u-log .u-ev .u-dot.info{background:var(--u-blue)}
.u-log .u-ev .u-t{display:block;font-size:var(--u-fs-12);color:var(--u-ink-3);font-variant-numeric:tabular-nums}
.u-log .u-ev .u-b{font-size:var(--u-fs-14);color:var(--u-ink-2);word-break:break-word}
.u-log .u-ev .u-b b{color:var(--u-ink);font-weight:500}
.u-log .u-ev .u-b a,.u-log .u-ev .u-b .lnk{color:var(--u-blue);cursor:pointer;text-decoration:none}
.u-log .u-empty{padding:var(--u-s8) 0;text-align:center;color:var(--u-ink-3);font-size:var(--u-fs-14)}

/* ---------- 基础组件 ---------- */
.u-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;border:1px solid var(--u-line-2);border-radius:var(--u-r-m);background:var(--u-surface);color:var(--u-ink);font-size:var(--u-fs-14);font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background .15s var(--u-ease),border-color .15s var(--u-ease)}
.u-btn:hover{background:var(--u-fill)}
.u-btn:active{background:var(--u-fill-2)}
.u-btn.pri{border-color:var(--u-blue);background:var(--u-blue);color:#fff}
.u-btn.pri:hover{background:var(--u-blue-press);border-color:var(--u-blue-press)}
.u-btn.quiet{border-color:transparent;background:none;color:var(--u-blue)}
.u-btn.quiet:hover{background:var(--u-blue-soft)}
.u-btn.sm{height:28px;padding:0 10px}
.u-btn.icon{width:28px;height:28px;padding:0;border-color:transparent;background:none;color:var(--u-ink-2)}
.u-btn.icon:hover{background:var(--u-fill)}
.u-btn:disabled{opacity:.45;cursor:default}
.u-btn:focus-visible,.u-input:focus-visible,.app-nav .u-nv:focus-visible,.u-opt:focus-visible{outline:2px solid var(--u-blue);outline-offset:2px}

.u-input{width:100%;padding:8px 12px;border:1px solid var(--u-line-2);border-radius:var(--u-r-m);background:var(--u-surface);color:var(--u-ink);font:inherit;font-size:var(--u-fs-14);line-height:1.5;outline:none;box-shadow:none;transition:border-color .15s var(--u-ease)}
.u-input::placeholder{color:var(--u-ink-4)}
.u-input:focus{border-color:var(--u-blue);box-shadow:0 0 0 3px rgba(0,102,204,.14)}
textarea.u-input{resize:none}

.u-tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:var(--u-r-s);background:var(--u-fill);color:var(--u-ink-2);font-size:var(--u-fs-12);font-weight:500;white-space:nowrap}
.u-tag.ok{background:var(--u-green-soft);color:var(--u-green)}
.u-tag.warn{background:var(--u-amber-soft);color:var(--u-amber)}
.u-tag.bad{background:var(--u-red-soft);color:var(--u-red)}
.u-tag.info{background:var(--u-blue-soft);color:var(--u-blue)}

.u-seg{display:inline-flex;padding:2px;border-radius:var(--u-r-s);background:var(--u-fill)}
.u-seg button{height:24px;padding:0 10px;border:0;border-radius:4px;background:none;color:var(--u-ink-2);font-size:var(--u-fs-12);cursor:pointer}
.u-seg button.on{background:var(--u-surface);color:var(--u-ink);font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,.08)}

.u-card{background:var(--u-surface);border:1px solid var(--u-line);border-radius:var(--u-r-l)}
.u-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--u-fs-14);color:var(--u-ink-2);cursor:pointer;user-select:none}
.u-check input{width:14px;height:14px;margin:0;padding:0;accent-color:var(--u-blue)}
.u-num{font-variant-numeric:tabular-nums}
.u-muted{color:var(--u-ink-3)}
.u-link{color:var(--u-blue);cursor:pointer;text-decoration:none;border:0;background:none;padding:0;font-size:inherit}
.u-link:hover{text-decoration:underline}

/* 对话框（替代原生 prompt / confirm） */
.u-mask{position:fixed;inset:0;z-index:985;display:flex;align-items:center;justify-content:center;padding:var(--u-s5);background:rgba(0,0,0,.28);font-family:var(--u-font);animation:u-fade .15s var(--u-ease)}
.u-dialog{width:440px;max-width:100%;padding:var(--u-s6);border-radius:var(--u-r-l);background:var(--u-surface);box-shadow:var(--u-shadow);color:var(--u-ink)}
.u-dialog h3{margin:0 0 var(--u-s2);font-size:var(--u-fs-17);font-weight:600}
.u-dialog p{margin:0 0 var(--u-s4);font-size:var(--u-fs-14);color:var(--u-ink-2);line-height:1.6;white-space:pre-line}
.u-dialog .acts{display:flex;justify-content:flex-end;gap:var(--u-s2);margin-top:var(--u-s5)}
@keyframes u-fade{from{opacity:0}to{opacity:1}}

/* ---------- 工作台 ---------- */
.ws{position:absolute;inset:0;overflow:auto}
.ws-in{max-width:1120px;margin:0 auto;padding:var(--u-s8) var(--u-s8) var(--u-s10)}
.ws-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--u-s4);margin-bottom:var(--u-s5)}
.ws-hd h1{margin:0;font-size:var(--u-fs-28);font-weight:600;letter-spacing:-.2px;line-height:1.2}
.ws-hd p{margin:var(--u-s1) 0 0;font-size:var(--u-fs-14);color:var(--u-ink-3)}

/* 待我处理 */
.ws-todo:not(:empty){margin-bottom:var(--u-s5)}
.ws-todo .ws-sec{margin-top:0}
.td{padding:0 var(--u-s5)}
.td-row{display:flex;align-items:center;gap:var(--u-s3);padding:var(--u-s3) 0;border-bottom:1px solid var(--u-fill)}
.td-row:last-child{border-bottom:0}
.td-row .u-tag{flex:none}
.td-tt{flex:1;min-width:0}
.td-tt b{display:block;font-size:var(--u-fs-14);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td-tt small{display:block;font-size:var(--u-fs-12);color:var(--u-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td-none{padding:var(--u-s3) var(--u-s4);border-radius:var(--u-r-m);background:var(--u-fill);font-size:var(--u-fs-14);color:var(--u-ink-3)}

/* 下达指令 */
.ws-compose{padding:var(--u-s4);margin-bottom:var(--u-s4)}
.ws-compose textarea{border:0;padding:var(--u-s1) var(--u-s1) var(--u-s2);font-size:var(--u-fs-15);box-shadow:none}
.ws-compose textarea:focus{box-shadow:none}
.ws-compose .ws-bar{display:flex;align-items:center;gap:var(--u-s3);padding-top:var(--u-s3);border-top:1px solid var(--u-fill)}
.ws-compose .ws-bar .u-sp{flex:1}
.ws-quick{display:flex;flex-wrap:wrap;align-items:center;gap:var(--u-s2);margin-bottom:var(--u-s6);font-size:var(--u-fs-12);color:var(--u-ink-3)}
.ws-quick button{height:26px;padding:0 10px;border:1px solid var(--u-line);border-radius:13px;background:var(--u-surface);color:var(--u-ink-2);font-size:var(--u-fs-12);cursor:pointer;transition:border-color .15s var(--u-ease),color .15s var(--u-ease)}
.ws-quick button:hover{border-color:var(--u-line-2);color:var(--u-ink)}

/* 提示条：未连接 AI / 待审批 */
.ws-note{display:flex;align-items:center;gap:var(--u-s3);padding:10px var(--u-s4);margin-bottom:var(--u-s3);border-radius:var(--u-r-m);background:var(--u-fill);font-size:var(--u-fs-14);color:var(--u-ink-2)}
.ws-note .u-sp{flex:1}
.ws-note.attn{background:var(--u-amber-soft);color:var(--u-amber)}
.ws-note.attn b{font-weight:600}
.ws-sec{display:flex;align-items:baseline;justify-content:space-between;margin:var(--u-s6) 0 var(--u-s3)}
.ws-sec h2{margin:0;font-size:var(--u-fs-17);font-weight:600}
.ws-sec span{font-size:var(--u-fs-12);color:var(--u-ink-3)}

/* 空状态 */
.ws-empty{padding:var(--u-s10) var(--u-s8);text-align:center}
.ws-empty h2{margin:0 0 var(--u-s2);font-size:var(--u-fs-17);font-weight:600}
.ws-empty>p{margin:0 auto var(--u-s8);max-width:460px;font-size:var(--u-fs-14);color:var(--u-ink-3)}
.ws-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--u-s6);text-align:left}

/* 指令面板 */
.cmd{margin-bottom:var(--u-s3);overflow:hidden}
.cmd-hd{display:flex;align-items:center;gap:var(--u-s3);padding:var(--u-s4) var(--u-s5);cursor:pointer;user-select:none}
.cmd-hd:hover{background:#fafafc}
.cmd-num{flex:none;font-size:var(--u-fs-14);color:var(--u-ink-3);font-variant-numeric:tabular-nums}
.cmd-tt{flex:1;min-width:0}
.cmd-tt b{display:block;font-size:var(--u-fs-15);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmd.open .cmd-tt b{white-space:normal}
.cmd-tt small{display:block;margin-top:2px;font-size:var(--u-fs-12);color:var(--u-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmd-hd .u-fold{color:var(--u-ink-4);transition:transform .2s var(--u-ease)}
.cmd.open .cmd-hd .u-fold{transform:rotate(180deg)}
.cmd-bd{padding:0 var(--u-s5) var(--u-s5)}
.cmd-goal{margin:0 0 var(--u-s4);font-size:var(--u-fs-14);color:var(--u-ink-2)}
.cmd.fin .cmd-tt b{color:var(--u-ink-2);font-weight:500}

/* 9 段进度：细条 + 当前阶段名，不用图标 */
.u-steps{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin:0 0 var(--u-s5)}
.u-steps div{min-width:0}
.u-steps i{display:block;height:3px;border-radius:2px;background:var(--u-fill-2)}
.u-steps span{display:block;margin-top:6px;font-size:var(--u-fs-12);color:var(--u-ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.u-steps .done i{background:var(--u-blue)}
.u-steps .done span{color:var(--u-ink-3)}
.u-steps .active i{background:var(--u-blue)}
.u-steps .active span{color:var(--u-ink);font-weight:600}
.u-steps .active.gate i{background:var(--u-amber)}
.u-steps .skip i{background:var(--u-fill)}
.u-steps .skip span{color:var(--u-ink-4);text-decoration:line-through}
.cmd-hd .u-steps{width:180px;flex:none;margin:0;gap:3px}
.cmd-hd .u-steps span{display:none}

/* 进行中提示 */
.cmd-run{display:flex;align-items:center;gap:var(--u-s2);padding:var(--u-s3) 0;font-size:var(--u-fs-14);color:var(--u-ink-2)}
.cmd-run .spin{width:14px;height:14px;flex:none;border:2px solid var(--u-fill-2);border-top-color:var(--u-blue);border-radius:50%;animation:u-spin .8s linear infinite}
@keyframes u-spin{to{transform:rotate(360deg)}}

/* 方案决策 */
.dv-lead{margin:0 0 var(--u-s4);font-size:var(--u-fs-15);color:var(--u-ink);line-height:1.6}
.dv-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--u-s3)}
.u-opt{position:relative;display:block;width:100%;padding:var(--u-s4);border:1px solid var(--u-line);border-radius:var(--u-r-m);background:var(--u-surface);color:inherit;font:inherit;text-align:left}
.u-opt.pickable{cursor:pointer;transition:border-color .15s var(--u-ease)}
.u-opt.pickable:hover{border-color:var(--u-line-2)}
.u-opt.on{border-color:var(--u-blue);box-shadow:inset 0 0 0 1px var(--u-blue)}
.u-opt .u-hd{display:flex;align-items:center;gap:var(--u-s2);margin-bottom:var(--u-s2)}
.u-opt .u-hd b{flex:1;min-width:0;font-size:var(--u-fs-15);font-weight:600}
.u-opt .u-hd em{font-style:normal;color:var(--u-ink-3);font-weight:400;margin-right:6px}
.u-opt p{margin:0 0 var(--u-s3);font-size:var(--u-fs-14);color:var(--u-ink-2);line-height:1.6}
.u-opt dl{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--u-s2);margin:0;padding-top:var(--u-s3);border-top:1px solid var(--u-fill)}
.u-opt dt{font-size:var(--u-fs-12);color:var(--u-ink-3)}
.u-opt dd{margin:2px 0 0;font-size:var(--u-fs-14);font-weight:500;color:var(--u-ink)}
.u-opt .risk{margin-top:var(--u-s3);font-size:var(--u-fs-12);color:var(--u-ink-3);line-height:1.5}
.u-opt .risk b{font-weight:500;color:var(--u-ink-2)}
.dv-sup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--u-s6);margin-top:var(--u-s5);padding-top:var(--u-s5);border-top:1px solid var(--u-line)}
.dv-sup h5{display:flex;align-items:center;gap:var(--u-s2);margin:0 0 var(--u-s2);font-size:var(--u-fs-14);font-weight:600}
.dv-sup h5 small{font-size:var(--u-fs-12);font-weight:400;color:var(--u-ink-3)}
.dv-sup p{margin:0;font-size:var(--u-fs-14);color:var(--u-ink-2);line-height:1.6}
.dv-sup ul{margin:var(--u-s2) 0 0;padding:0;list-style:none}
.dv-sup li{position:relative;padding-left:12px;font-size:var(--u-fs-12);color:var(--u-ink-3);line-height:1.7}
.dv-sup li::before{content:"";position:absolute;left:0;top:9px;width:4px;height:4px;border-radius:50%;background:var(--u-ink-4)}
.dv-score{display:flex;align-items:baseline;gap:var(--u-s2);margin-bottom:var(--u-s2)}
.dv-score b{font-size:var(--u-fs-22);font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
.dv-score small{font-size:var(--u-fs-12);color:var(--u-ink-3)}
.dv-dims{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--u-s2) var(--u-s3);margin-top:var(--u-s3)}
.dv-dims span{display:flex;justify-content:space-between;gap:var(--u-s2);font-size:var(--u-fs-12);color:var(--u-ink-3)}
.dv-dims b{font-weight:500;color:var(--u-ink);font-variant-numeric:tabular-nums}
.dv-dims .low b{color:var(--u-amber)}
.dv-bar{display:flex;align-items:center;gap:var(--u-s3);margin-top:var(--u-s5);padding:var(--u-s3) var(--u-s4);border-radius:var(--u-r-m);background:var(--u-fill)}
.dv-bar div{flex:1;min-width:0;font-size:var(--u-fs-14);color:var(--u-ink-2)}
.dv-bar div b{color:var(--u-ink);font-weight:600}
.dv-done{display:flex;align-items:center;gap:var(--u-s3);padding:var(--u-s3) 0;margin-bottom:var(--u-s2);font-size:var(--u-fs-14);color:var(--u-ink-2);border-bottom:1px solid var(--u-fill)}
.dv-done b{color:var(--u-ink);font-weight:600}
.dv-done .u-sp{flex:1}

/* 任务表 */
.u-table{width:100%;border-collapse:collapse;table-layout:fixed}
.u-table th{padding:var(--u-s2) var(--u-s3) var(--u-s2) 0;border-bottom:1px solid var(--u-line);font-size:var(--u-fs-12);font-weight:500;color:var(--u-ink-3);text-align:left;white-space:nowrap}
.u-table td{padding:var(--u-s3) var(--u-s3) var(--u-s3) 0;border-bottom:1px solid var(--u-fill);font-size:var(--u-fs-14);vertical-align:top;overflow:hidden}
.cmd .u-table th:nth-child(1){width:32%}.cmd .u-table th:nth-child(2){width:14%}.cmd .u-table th:nth-child(3){width:14%}.cmd .u-table th:nth-child(4){width:18%}.cmd .u-table th:nth-child(5){width:10%}.cmd .u-table th:nth-child(6){width:12%}
.u-table tr:last-child td{border-bottom:0}
.u-table tbody tr[data-t]{cursor:pointer}
.u-table tbody tr[data-t]:hover td{background:#fafafc}
.u-table tr.flash td{animation:u-flash 1s var(--u-ease)}
@keyframes u-flash{from{background:var(--u-blue-soft)}to{background:transparent}}
.u-table .u-t1{display:block;font-weight:500;color:var(--u-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.u-table .u-t2{display:block;font-size:var(--u-fs-12);color:var(--u-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.u-table .u-own{border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;max-width:100%}
.u-table .u-own:hover .u-t1{color:var(--u-blue)}
.u-prog{display:flex;align-items:center;gap:var(--u-s2)}
.u-prog .u-pg{flex:1;height:3px;border-radius:2px;background:var(--u-fill-2);overflow:hidden}
.u-prog .u-pg i{display:block;height:100%;border-radius:2px;background:var(--u-blue);transition:width .4s var(--u-ease)}
.u-prog.warn .u-pg i{background:var(--u-amber)}
.u-prog.done .u-pg i{background:var(--u-green)}
.u-score b{font-weight:600;font-variant-numeric:tabular-nums}
.u-score small{color:var(--u-ink-3);font-size:var(--u-fs-12)}
.u-score.no b{color:var(--u-red)}
.u-docs{display:inline-flex;gap:2px}
.u-docs button{white-space:nowrap;height:24px;padding:0 7px;border:1px solid var(--u-line);border-radius:var(--u-r-s);background:var(--u-surface);color:var(--u-ink-2);font-size:var(--u-fs-12);cursor:pointer}
.u-docs button:hover{border-color:var(--u-blue);color:var(--u-blue)}
.cmd-ft{display:flex;align-items:center;gap:var(--u-s4);margin-top:var(--u-s4);padding-top:var(--u-s4);border-top:1px solid var(--u-line);font-size:var(--u-fs-14);color:var(--u-ink-2)}
.cmd-ft b{color:var(--u-ink);font-weight:600;font-variant-numeric:tabular-nums}
.cmd-ft .u-sp{flex:1}
.cmd-acc{margin-top:var(--u-s3);font-size:var(--u-fs-14);color:var(--u-ink-2);line-height:1.6}
.cmd-acc b{color:var(--u-ink);font-weight:600}

/* ---------- 详情弹窗（指令详情；任务详情迁移后共用） ---------- */
.u-btn.danger{color:var(--u-red)}
.u-btn.danger:hover{background:var(--u-red-soft);border-color:var(--u-red)}
.modal.u-modal{display:flex;flex-direction:column;width:920px;max-width:94vw;max-height:88vh;padding:0;overflow:hidden;border:0;border-radius:var(--u-r-l);background:var(--u-surface);box-shadow:var(--u-shadow);color:var(--u-ink);font-family:var(--u-font);font-size:var(--u-fs-14);line-height:1.5;animation:u-fade .15s var(--u-ease)}
.u-modal button{font-family:inherit}
.u-modal>.hd{flex:none;display:flex;align-items:flex-start;gap:var(--u-s3);padding:var(--u-s5) var(--u-s5) var(--u-s4) var(--u-s6);border-bottom:1px solid var(--u-line)}
.u-modal>.hd .cmd-num{padding-top:3px}
.u-modal>.hd .tt{flex:1;min-width:0}
.u-modal>.hd h3{margin:0;font-size:var(--u-fs-17);font-weight:600;line-height:1.4}
.u-modal>.hd small{display:block;margin-top:2px;font-size:var(--u-fs-12);color:var(--u-ink-3)}
.u-modal>.bd{flex:1;min-height:0;overflow:auto;padding:var(--u-s5) var(--u-s6) var(--u-s6)}
.u-modal>.bd>.dv-bar{margin:0 0 var(--u-s2)}
.u-modal>.ft{flex:none;display:flex;align-items:center;gap:var(--u-s2);padding:var(--u-s3) var(--u-s6);border-top:1px solid var(--u-line);background:#fbfbfd}
.u-modal>.ft .u-input{flex:1;min-width:0;height:32px;padding:0 12px}
.u-modal>.ft .u-sp{flex:1}
.u-modal .sec{padding:var(--u-s5) 0;border-top:1px solid var(--u-line)}
.u-modal .u-steps+.sec,.u-modal>.bd>.sec:first-child{border-top:0;padding-top:0}
.u-modal>.bd>.dv-bar+.sec{border-top:0;padding-top:var(--u-s4)}
.u-modal .sec:last-child{padding-bottom:0}
.u-modal .sec h4,.u-modal .sec summary{display:flex;align-items:baseline;gap:var(--u-s2);margin:0 0 var(--u-s3);font-size:var(--u-fs-15);font-weight:600}
.u-modal .sec h4 small,.u-modal .sec summary small{font-size:var(--u-fs-12);font-weight:400;color:var(--u-ink-3)}
.u-modal .sec h5{margin:var(--u-s4) 0 var(--u-s2);font-size:var(--u-fs-14);font-weight:600;color:var(--u-ink)}
.u-modal .sec p{margin:0 0 var(--u-s2);color:var(--u-ink-2);line-height:1.6}
.u-modal .sec p.dv-lead{color:var(--u-ink);margin-bottom:var(--u-s3)}
.u-modal .sec p.note{padding:var(--u-s2) var(--u-s3);border-radius:var(--u-r-s);background:var(--u-fill);white-space:pre-line}
.u-modal .sec p.note b{color:var(--u-ink);font-weight:600}
.u-modal .sec ul{margin:0;padding:0;list-style:none}
.u-modal .sec ul:not(.find) li{position:relative;padding-left:12px;color:var(--u-ink-2);line-height:1.7}
.u-modal .sec ul:not(.find) li::before{content:"";position:absolute;left:0;top:10px;width:4px;height:4px;border-radius:50%;background:var(--u-ink-4)}
.u-modal .find li{display:flex;align-items:flex-start;gap:var(--u-s2);padding:6px 0;color:var(--u-ink-2);line-height:1.6}
.u-modal .find .u-tag{flex:none;margin-top:1px}
.u-modal .find small{display:block;font-size:var(--u-fs-12);color:var(--u-ink-3)}
.u-modal .sec a{color:var(--u-blue);text-decoration:none}
.u-modal .sec a:hover{text-decoration:underline}
.u-modal .kv{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--u-s3);margin:var(--u-s3) 0}
.u-modal .kv div{padding-left:var(--u-s3);border-left:2px solid var(--u-line)}
.u-modal .kv b{display:block;font-size:var(--u-fs-15);font-weight:600;font-variant-numeric:tabular-nums}
.u-modal .kv span{display:block;font-size:var(--u-fs-12);color:var(--u-ink-3)}
.u-modal .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--u-s5);margin:0}
.u-modal .cols dt{font-size:var(--u-fs-12);color:var(--u-ink-3)}
.u-modal .cols dd{margin:var(--u-s1) 0 0;color:var(--u-ink-2);line-height:1.6}
.u-modal .cols dd b{color:var(--u-ink);font-weight:600}
.u-modal .u-table{table-layout:auto}
.u-modal .u-table td{overflow:visible}
.u-modal .u-table .u-t1,.u-modal .u-table .u-t2{white-space:normal}
.u-modal .u-table .nw{white-space:nowrap}
.u-modal .dv-dims{grid-template-columns:repeat(7,minmax(0,1fr))}
.u-modal details.sec summary{margin:0;cursor:pointer;list-style:none;user-select:none}
.u-modal details.sec summary::-webkit-details-marker{display:none}
.u-modal details.sec summary::before{content:"";width:6px;height:6px;margin-right:2px;border-right:1.6px solid var(--u-ink-3);border-bottom:1.6px solid var(--u-ink-3);transform:translateY(-2px) rotate(-45deg);transition:transform .15s var(--u-ease)}
.u-modal details.sec[open] summary{margin-bottom:var(--u-s3)}
.u-modal details.sec[open] summary::before{transform:translateY(-3px) rotate(45deg)}
.u-modal .src{display:flex;flex-direction:column;gap:2px;margin-top:var(--u-s1);font-size:var(--u-fs-12)}
.u-modal .lg div{display:flex;gap:var(--u-s3);padding:6px 0;border-bottom:1px solid var(--u-fill);color:var(--u-ink-2)}
.u-modal .lg div:last-child{border-bottom:0}
.u-modal .lg .u-muted{flex:none;font-size:var(--u-fs-12);font-variant-numeric:tabular-nums;line-height:1.7}
.u-modal .lg b{color:var(--u-ink);font-weight:500}
.u-modal .lg a,.u-modal .lg .lnk{color:var(--u-blue);cursor:pointer}
@media (max-width:760px){
  .u-modal .kv{grid-template-columns:repeat(2,minmax(0,1fr))}
  .u-modal .cols,.u-modal .dv-opts{grid-template-columns:1fr}
  .u-modal .dv-dims{grid-template-columns:repeat(3,minmax(0,1fr))}
  .u-modal>.ft{flex-wrap:wrap}
}

/* 任务详情补充 */
.u-modal>.hd small .u-tag{margin-right:var(--u-s1)}
.u-modal .sec h4 .u-sp{flex:1}
.u-modal .cols.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.u-modal .cols dd .u-link b{color:var(--u-blue)}
.u-modal .files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--u-s3)}
.u-modal .files button{display:block;min-width:0;padding:var(--u-s3) var(--u-s4);border:1px solid var(--u-line);border-radius:var(--u-r-m);background:var(--u-surface);color:inherit;text-align:left;cursor:pointer;transition:border-color .15s var(--u-ease)}
.u-modal .files button:hover{border-color:var(--u-blue)}
.u-modal .files b{display:block;font-size:var(--u-fs-14);font-weight:600}
.u-modal .files span{display:block;font-size:var(--u-fs-12);color:var(--u-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.u-modal .cmd-run .u-prog{flex:1;max-width:240px;margin-left:auto}
.u-modal .dv-dims+.u-table{margin-top:var(--u-s3)}
.u-modal .imgs{display:flex;flex-wrap:wrap;gap:var(--u-s2);margin-top:var(--u-s2)}
.u-modal .imgs img{display:block;height:64px;border:1px solid var(--u-line);border-radius:var(--u-r-s)}
.u-modal .md{max-height:none;padding:0;font-size:var(--u-fs-14);line-height:1.7;color:var(--u-ink-2)}
.u-modal .md.out{max-height:52vh;overflow:auto;padding:var(--u-s3) var(--u-s4);border:1px solid var(--u-line);border-radius:var(--u-r-m)}
.u-modal .md h3,.u-modal .md h4,.u-modal .md h5,.u-modal .md h6{margin:var(--u-s3) 0 var(--u-s1);font-size:var(--u-fs-14);font-weight:600;color:var(--u-ink)}
.u-modal .md li::before{display:none}
.u-modal .md ul,.u-modal .md ol{padding-left:20px;list-style:revert}
.u-modal .md li{padding-left:0!important}
.u-modal .md blockquote{margin:0 0 var(--u-s2);padding:var(--u-s2) var(--u-s3);border-radius:var(--u-r-s);background:var(--u-fill);color:var(--u-ink-3)}

/* 员工 / AI 员工详情 */
.modal.u-modal.narrow{width:720px}
.u-modal>.hd .hd-score{flex:none;text-align:right;line-height:1.2}
.u-modal>.hd .hd-score small{margin:0}
.u-modal>.hd .hd-score b{font-size:var(--u-fs-22);font-weight:600;font-variant-numeric:tabular-nums}
.u-modal .sec p.tier-d{margin-top:var(--u-s3)}
.u-modal .picks{display:flex;flex-wrap:wrap;gap:var(--u-s2) var(--u-s5)}
.u-modal .picks .u-check.off{color:var(--u-ink-4);cursor:default}
.u-modal .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--u-s2)}
.u-modal.narrow .dv-dims{grid-template-columns:repeat(5,minmax(0,1fr))}
.u-modal.narrow .u-opt p{margin:0}
.u-modal.narrow .dv-opts+p.note{margin-top:var(--u-s3)}

/* 汇报材料查看器 */
.modal.u-modal.rv{width:1120px;height:88vh}
.rv-bar{flex:none;display:flex;align-items:center;gap:var(--u-s3);padding:var(--u-s3) var(--u-s6);border-bottom:1px solid var(--u-line)}
.rv-bar .u-sp{flex:1}
.rv-bar .u-seg button{height:28px;padding:0 var(--u-s4);font-size:var(--u-fs-14)}
.u-modal.rv>.bd{background:var(--u-bg)}
.rv-doc{max-width:800px;margin:0 auto;padding:var(--u-s10) 48px!important;border:1px solid var(--u-line)!important;border-radius:var(--u-r-s);background:var(--u-surface)}
.rv-doc h1{margin:0;font-size:var(--u-fs-22);font-weight:600;line-height:1.3}
.rv-doc .sub{margin:var(--u-s1) 0 0;color:var(--u-ink-3)}
.rv-doc .cols{margin:var(--u-s5) 0;padding:var(--u-s4) 0;border-top:1px solid var(--u-line);border-bottom:1px solid var(--u-line);gap:var(--u-s3) var(--u-s5)}
.rv-doc .md{margin-top:var(--u-s4)}
.rv-doc h4{margin-top:var(--u-s6)!important}
.rv-doc ol{margin:0;padding-left:20px;color:var(--u-ink-2);line-height:1.8}
.rv-xls{border:1px solid var(--u-line);border-radius:var(--u-r-m);background:var(--u-surface);overflow:hidden}
.rv-sheets{display:flex;gap:2px;padding:var(--u-s2) var(--u-s2) 0;background:var(--u-fill);overflow-x:auto}
.rv-sheets button{flex:none;height:30px;padding:0 var(--u-s4);border:0;border-radius:var(--u-r-s) var(--u-r-s) 0 0;background:none;color:var(--u-ink-2);font-size:var(--u-fs-14);cursor:pointer;white-space:nowrap}
.rv-sheets button.on{background:var(--u-surface);color:var(--u-ink);font-weight:600}
.rv-xls h4{margin:0;padding:var(--u-s3) var(--u-s4);font-size:var(--u-fs-14);font-weight:600;border-bottom:1px solid var(--u-line)}
.rv-xls>p{margin:0;padding:var(--u-s2) var(--u-s4) var(--u-s3);font-size:var(--u-fs-12)}
.rv-grid{overflow:auto;max-height:58vh}
.rv-grid table{min-width:100%;border-collapse:collapse;font-size:var(--u-fs-14)}
.rv-grid th,.rv-grid td{max-width:360px;padding:6px 10px;border:1px solid var(--u-line);text-align:left;vertical-align:top}
.rv-grid th{position:sticky;top:0;background:#fafafc;font-weight:600;white-space:nowrap}
.rv-grid .rn{width:36px;background:#fafafc;color:var(--u-ink-4);font-size:var(--u-fs-12);font-weight:400;text-align:center}
.rv-grid td.num{text-align:right;font-variant-numeric:tabular-nums}
.rv-ppt{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--u-s4)}
.rv-stage{position:relative;aspect-ratio:16/9;border:1px solid var(--u-line);border-radius:var(--u-r-m);background:var(--u-surface);overflow:hidden}
.rv-stage>img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.rv-stage .nav,.rv-stage .full{position:absolute;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--u-line);border-radius:50%;background:rgba(255,255,255,.92);color:var(--u-ink);cursor:pointer}
.rv-stage .nav{top:50%;transform:translateY(-50%)}
.rv-stage .nav.l{left:var(--u-s3)}.rv-stage .nav.r{right:var(--u-s3)}
.rv-stage .nav:disabled{opacity:.3;cursor:default}
.rv-stage .full{right:var(--u-s3);bottom:var(--u-s3);border-radius:var(--u-r-s)}
.rv-stage .rv-pn{position:absolute;left:var(--u-s3);bottom:var(--u-s3);padding:1px 8px;border-radius:var(--u-r-s);background:rgba(0,0,0,.55);color:#fff;font-size:var(--u-fs-12);font-variant-numeric:tabular-nums}
.rv-notes{padding:var(--u-s4);border:1px solid var(--u-line);border-radius:var(--u-r-m);background:var(--u-surface);overflow:auto}
.rv-notes h5{margin:0 0 var(--u-s1);font-size:var(--u-fs-14);font-weight:600}
.rv-notes h5:not(:first-child){margin-top:var(--u-s4)}
.rv-notes p{margin:0;color:var(--u-ink-2);line-height:1.7;white-space:pre-line}
.rv-notes p.u-muted{margin-top:var(--u-s4);font-size:var(--u-fs-12)}
.rv-thumbs{display:flex;gap:var(--u-s2);margin-top:var(--u-s3);padding-bottom:var(--u-s1);overflow-x:auto}
.rv-thumbs button{position:relative;flex:0 0 148px;aspect-ratio:16/9;padding:0;border:1px solid var(--u-line);border-radius:var(--u-r-s);background:var(--u-surface);overflow:hidden;cursor:pointer}
.rv-thumbs button.on{border-color:var(--u-blue);box-shadow:0 0 0 1px var(--u-blue)}
.rv-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.rv-thumbs button>span{position:absolute;left:4px;bottom:3px;padding:0 5px;border-radius:4px;background:rgba(0,0,0,.55);color:#fff;font-size:10px}
/* 文字版幻灯片：统一用品牌蓝，去掉渐变装饰 */
.slide-html{font-family:var(--u-font)}
.slide-html .bar{height:auto;border-radius:0;background:var(--u-blue)}
.slide-html::after{display:none}
.slide-html.close{background:#fff}
.slide-html .st{font-weight:600;color:var(--u-ink)}
.slide-html .ss{color:var(--u-ink-2)}
.slide-html ul{color:var(--u-ink-2)}
.slide-html .sp{color:var(--u-ink-3)}
/* 全屏汇报 */
.brief-mode.u-brief{background:#111113;font-family:var(--u-font);animation:u-fade .15s var(--u-ease)}
.u-brief .bm-top{gap:var(--u-s4);background:none;border-bottom:1px solid rgba(255,255,255,.1);font-size:var(--u-fs-14);color:#d2d2d7}
.u-brief .bm-top b{color:#fff;font-weight:600}
.u-brief .bm-top .dim{color:#86868b;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.u-brief .bm-top .u-sp{flex:1}
.u-brief .bm-top button,.u-brief .bm-nav{display:grid;place-items:center;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer}
.u-brief .bm-top button{width:32px;height:32px;border-radius:var(--u-r-s)}
.u-brief .bm-nav{transform:translateY(-50%)}
.u-brief .bm-nav:disabled{opacity:.25;cursor:default}
.u-brief .bm-notes{color:#d2d2d7}
.u-brief .bm-notes b{color:#fff;font-weight:600}
@media (max-width:1100px){
  .rv-ppt{grid-template-columns:1fr}
  .rv-doc{padding:var(--u-s6) var(--u-s5)!important}
}

/* 已迁移的独立页面（待我审批等）：沿用工作台的版心 */
.app-main .page.u-page{padding:0;font-size:var(--u-fs-14);line-height:1.5;color:var(--u-ink)}
.ap .ws-hd{align-items:flex-start}
.ap .ws-hd p{max-width:560px}
.ap .td-row{align-items:flex-start}
.ap .td-row .u-tag{margin-top:1px}
.ap .td-tt small{white-space:normal}
.ap .td-row .u-btn{flex:none}

/* ---------- 通用：一行排布、加载圈、评分条、圆点列表 ---------- */
.u-row{display:flex;align-items:center;gap:var(--u-s2)}
.u-row .u-input{flex:1;min-width:0}
.u-row .u-sp{flex:1}
.u-row.top{align-items:flex-start;gap:var(--u-s3)}
.u-spin{display:inline-block;width:14px;height:14px;flex:none;border:2px solid var(--u-fill-2);border-top-color:var(--u-blue);border-radius:50%;animation:u-spin .8s linear infinite}
.u-table.auto{table-layout:auto}
.u-table.auto td{overflow:visible}
.u-table .nw{white-space:nowrap}
.u-table tbody tr:is([data-dept],[data-ag],[data-st]){cursor:pointer}
.u-table tbody tr:is([data-dept],[data-ag],[data-st]):hover td{background:#fafafc}
.kv-bars>div{display:grid;grid-template-columns:72px minmax(0,1fr) 28px;align-items:center;gap:var(--u-s3);padding:5px 0}
.kv-bars span{color:var(--u-ink-2)}
.kv-bars b{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}
.kv-bars .u-pg{height:4px}
.wz-list{margin:0;padding:0;list-style:none}
.wz-list li{position:relative;padding-left:12px;color:var(--u-ink-2);line-height:1.7}
.wz-list li::before{content:"";position:absolute;left:0;top:10px;width:4px;height:4px;border-radius:50%;background:var(--u-ink-4)}

/* ---------- 内容卡片（向导、经营概览共用） ---------- */
.wz-card{padding:var(--u-s5);margin-bottom:var(--u-s4)}
.wz-card h4{display:flex;align-items:baseline;gap:var(--u-s2);margin:0 0 var(--u-s3);font-size:var(--u-fs-15);font-weight:600}
.wz-card h4:not(:first-child){margin-top:var(--u-s5)}
.wz-card h4 small{font-size:var(--u-fs-12);font-weight:400;color:var(--u-ink-3)}
.wz-card h4 .u-sp{flex:1}
.wz-card h4 .u-btn{align-self:center}
.wz-card p{margin:0 0 var(--u-s2);color:var(--u-ink-2);line-height:1.6}
.wz-card p:last-child{margin-bottom:0}
.wz-card p b{color:var(--u-ink);font-weight:600}
.wz-card .kv-bars+p{margin-top:var(--u-s3)}
.wz-card .md{font-size:var(--u-fs-14);line-height:1.7;color:var(--u-ink-2)}
.wz-card .md h3,.wz-card .md h4,.wz-card .md h5,.wz-card .md h6{display:block;margin:var(--u-s3) 0 var(--u-s1);font-size:var(--u-fs-14);font-weight:600;color:var(--u-ink)}
.wz-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--u-s4)}
.wz-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:var(--u-s3);font-size:var(--u-fs-12);color:var(--u-ink-3)}
.wz-tags.sk{margin:0}
.wz-none{padding:var(--u-s8) var(--u-s4);text-align:center;color:var(--u-ink-3)}

/* ---------- 创建向导 ---------- */
.wz,.hm{height:100%;background:var(--u-bg);color:var(--u-ink);font-family:var(--u-font);font-size:var(--u-fs-14);line-height:1.5;-webkit-font-smoothing:antialiased;letter-spacing:0}
.wz{display:flex;flex-direction:column}
.wz button,.hm button{font-family:inherit}
.wz-top{flex:none;display:flex;align-items:center;gap:var(--u-s3);height:52px;padding:0 var(--u-s5);background:var(--u-surface);border-bottom:1px solid var(--u-line)}
.wz-top .u-sp{flex:1}
.wz-brand{padding:0;font-size:var(--u-fs-15);font-weight:600;color:var(--u-ink)}
.wz-steps{display:flex;gap:var(--u-s1);margin:0 0 0 var(--u-s4);padding:0;list-style:none}
.wz-steps li{display:flex;align-items:center;gap:var(--u-s2);height:28px;padding:0 10px 0 6px;border-radius:var(--u-r-s);color:var(--u-ink-3);white-space:nowrap}
.wz-steps i{width:20px;height:20px;border-radius:50%;background:var(--u-fill-2);color:var(--u-ink-2);font-style:normal;font-size:var(--u-fs-12);line-height:20px;text-align:center;font-variant-numeric:tabular-nums}
.wz-steps .on{color:var(--u-ink);font-weight:600}
.wz-steps .on i{background:var(--u-blue);color:#fff}
.wz-steps .done{color:var(--u-ink-2);cursor:pointer}
.wz-steps .done i{background:var(--u-blue-soft);color:var(--u-blue)}
.wz-steps .done:hover{background:var(--u-fill)}
.wz-body{flex:1;min-height:0;overflow:auto}
.wz-in{max-width:960px;margin:0 auto;padding:var(--u-s8) var(--u-s8) var(--u-s10)}
.wz-in.wide{max-width:1200px}
.wz-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--u-s4);margin-bottom:var(--u-s5)}
.wz-hd h1{margin:0;font-size:var(--u-fs-22);font-weight:600;line-height:1.3}
.wz-hd p{margin:var(--u-s1) 0 0;max-width:640px;color:var(--u-ink-3)}
.wz-hd .acts{flex:none;display:flex;gap:var(--u-s2)}
.wz-foot{flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--u-s4);height:60px;padding:0 var(--u-s5);background:var(--u-surface);border-top:1px solid var(--u-line)}
.wz-foot>:first-child{justify-self:start}
.wz-foot>:last-child{justify-self:end;min-width:96px}
.wz-hint{font-size:var(--u-fs-12);color:var(--u-ink-3);text-align:center}
.wz-status{display:flex;align-items:center;gap:var(--u-s2);margin-top:var(--u-s3);color:var(--u-ink-2)}
.wz-cands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--u-s3);margin-top:var(--u-s4)}
.wz-cands .u-opt{padding:var(--u-s3) var(--u-s4)}
.wz-cands b{display:block;font-size:var(--u-fs-14);font-weight:600}
.wz-cands small{display:block;font-size:var(--u-fs-12);color:var(--u-ink-3)}
.wz-card p.wz-evi{margin:var(--u-s3) 0 0;font-size:var(--u-fs-12);color:var(--u-ink-3)}
.wz-pick{display:grid;grid-template-columns:240px minmax(0,1fr);height:440px;margin-bottom:var(--u-s3);overflow:hidden}
.wz-cats{padding:var(--u-s2);border-right:1px solid var(--u-line);overflow:auto}
.wz-cats button{display:flex;align-items:baseline;gap:var(--u-s2);width:100%;padding:6px var(--u-s2);border-radius:var(--u-r-s);color:var(--u-ink-2);font-size:var(--u-fs-14);text-align:left}
.wz-cats em{flex:none;width:12px;font-style:normal;font-size:var(--u-fs-12);color:var(--u-ink-4)}
.wz-cats button:hover{background:var(--u-fill);color:var(--u-ink)}
.wz-cats button.on{background:var(--u-fill-2);color:var(--u-ink);font-weight:600}
.wz-cats button.miss{opacity:.4}
.wz-divs{display:flex;flex-direction:column;min-width:0;min-height:0}
.wz-divs-hd{flex:none;padding:var(--u-s3) var(--u-s4);border-bottom:1px solid var(--u-line)}
.wz-div-list{flex:1;min-height:0;padding:var(--u-s2);overflow:auto}
.wz-div-list button{display:block;width:100%;padding:var(--u-s2) var(--u-s3);border:1px solid transparent;border-radius:var(--u-r-s);text-align:left}
.wz-div-list b{display:block;font-size:var(--u-fs-14);font-weight:500;color:var(--u-ink)}
.wz-div-list em{margin-right:var(--u-s2);font-style:normal;font-size:var(--u-fs-12);font-weight:400;color:var(--u-ink-4);font-variant-numeric:tabular-nums}
.wz-div-list small{display:block;font-size:var(--u-fs-12);color:var(--u-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wz-div-list button:hover{background:var(--u-fill)}
.wz-div-list button.on{border-color:var(--u-blue);background:var(--u-blue-soft)}
.wz-note{margin:0;font-size:var(--u-fs-12)}
.wz-log{margin-top:var(--u-s3);font-size:var(--u-fs-12);color:var(--u-ink-3);line-height:1.8}
.wz-log:empty{display:none}
.wz-chain{display:flex;flex-wrap:wrap;align-items:center;gap:var(--u-s2)}
.wz-chain span{padding:var(--u-s1) 10px;border-radius:var(--u-r-s);background:var(--u-fill);color:var(--u-ink-2)}
.wz-chain .u-ico{color:var(--u-ink-4)}
.wz-dl{display:grid;gap:10px;margin:0}
.wz-dl dt{font-size:var(--u-fs-12);color:var(--u-ink-3)}
.wz-dl dd{margin:2px 0 0;color:var(--u-ink-2);line-height:1.5}
.wz-news a{display:block;padding:10px 0;border-bottom:1px solid var(--u-fill);color:inherit;text-decoration:none}
.wz-news a:last-child{border-bottom:0;padding-bottom:0}
.wz-news b{display:block;font-weight:500;color:var(--u-blue)}
.wz-news span{display:block;font-size:var(--u-fs-12);color:var(--u-ink-2);line-height:1.6}
.wz-news small{font-size:var(--u-fs-12);color:var(--u-ink-3)}
.wz-two{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--u-s4);align-items:start}
.wz-depts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--u-s2)}
.wz-dept{display:flex;align-items:center;gap:var(--u-s2);padding:10px var(--u-s2) 10px var(--u-s3);border:1px solid var(--u-line);border-radius:var(--u-r-m)}
.wz-dept div{flex:1;min-width:0}
.wz-dept b{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wz-dept small{display:block;font-size:var(--u-fs-12);color:var(--u-ink-3)}
.wz-pal{display:flex;flex-wrap:wrap;gap:var(--u-s2)}
.wz-pal button{height:28px;padding:0 10px;border:1px solid var(--u-line);border-radius:14px;background:var(--u-surface);color:var(--u-ink-2);font-size:var(--u-fs-14);transition:border-color .15s var(--u-ease),color .15s var(--u-ease)}
.wz-pal button::before{content:"+ ";color:var(--u-ink-4)}
.wz-pal button:hover{border-color:var(--u-blue);color:var(--u-blue)}
.wz-staff{display:grid;grid-template-columns:176px 340px minmax(0,1fr);gap:var(--u-s4);align-items:start}
.wz-tabs{display:flex;flex-direction:column;gap:2px}
.wz-tabs button{display:flex;align-items:center;justify-content:space-between;gap:var(--u-s2);height:32px;padding:0 10px;border-radius:var(--u-r-s);color:var(--u-ink-2);font-size:var(--u-fs-14);text-align:left}
.wz-tabs button span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wz-tabs button small{font-size:var(--u-fs-12);color:var(--u-ink-3);font-variant-numeric:tabular-nums}
.wz-tabs button:hover{background:var(--u-fill)}
.wz-tabs button.on{background:var(--u-fill-2);color:var(--u-ink);font-weight:600}
.wz-form .f{display:block;margin-bottom:var(--u-s3);font-size:var(--u-fs-12);color:var(--u-ink-3)}
.wz-form .f .u-input{display:block;margin-top:var(--u-s1)}
.wz-form .f .u-seg{display:flex;width:max-content;margin-top:var(--u-s1)}
.wz-form .f p{margin:6px 0 0;font-size:var(--u-fs-12)}
.wz-form .f.grow{flex:1;min-width:0}
.wz-form .f.yrs{flex:none;width:96px}
.wz-form .wz-tags{margin:0 0 var(--u-s4)}
.wz-form label.u-btn{cursor:pointer}
.wz-launch{position:fixed;inset:0;z-index:984;display:grid;place-items:center;background:rgba(245,245,247,.97);color:var(--u-ink);font-family:var(--u-font)}
.wz-launch h2{display:flex;align-items:center;gap:10px;margin:0 0 var(--u-s3);font-size:var(--u-fs-17);font-weight:600}
.wz-launch p{margin:0;font-size:var(--u-fs-14);color:var(--u-ink-2);line-height:1.8}

/* ---------- 首页：企业端 / 献策端 ---------- */
.hm{overflow:auto}
.hm-top{display:flex;align-items:center;height:52px;padding:0 var(--u-s5)}
.hm-top .u-sp{flex:1}
.hm-brand{font-size:var(--u-fs-15);font-weight:600}
.hm-main{max-width:1040px;margin:0 auto;padding:var(--u-s10) var(--u-s8)}
.hm-hd{margin-bottom:var(--u-s6)}
.hm-hd h1{margin:0;font-size:var(--u-fs-28);font-weight:600;letter-spacing:-.2px;line-height:1.2}
.hm-hd p{margin:var(--u-s2) 0 0;color:var(--u-ink-3)}
.hm-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--u-s5)}
.hm-card{display:flex;flex-direction:column;padding:var(--u-s8)}
.hm-k{font-size:var(--u-fs-12);color:var(--u-ink-3)}
.hm-card h2{margin:var(--u-s1) 0 var(--u-s2);font-size:var(--u-fs-22);font-weight:600}
.hm-card>p{margin:0;color:var(--u-ink-2);line-height:1.6}
.hm-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--u-s3);margin:var(--u-s5) 0;padding:var(--u-s4) 0;border-top:1px solid var(--u-fill);border-bottom:1px solid var(--u-fill);list-style:none;counter-reset:hs}
.hm-steps li{counter-increment:hs;color:var(--u-ink-2)}
.hm-steps li::before{content:counter(hs);display:block;font-size:var(--u-fs-12);color:var(--u-ink-4);font-variant-numeric:tabular-nums}
.hm-acts{display:flex;flex-wrap:wrap;gap:var(--u-s2)}
.hm-acts .u-btn{height:36px;padding:0 var(--u-s4)}
.hm-links{display:flex;flex-wrap:wrap;gap:var(--u-s2) var(--u-s5);margin-top:var(--u-s4);min-height:21px}
.hm-links .u-link b{font-weight:600;font-variant-numeric:tabular-nums}
.hm-card>p.hm-stat{margin-top:auto;padding-top:var(--u-s5);font-size:var(--u-fs-12);color:var(--u-ink-3)}
.hm-foot{display:flex;justify-content:space-between;gap:var(--u-s4);margin-top:var(--u-s6);font-size:var(--u-fs-12);color:var(--u-ink-3)}

/* ---------- 经营概览 ---------- */
.ck .ws-note{margin-bottom:var(--u-s4)}
.ck-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--u-s3);margin-bottom:var(--u-s4)}
.ck-stats .u-card{padding:var(--u-s4) var(--u-s5)}
.ck-stats small{display:block;font-size:var(--u-fs-12);color:var(--u-ink-3)}
.ck-stats b{display:block;margin-top:var(--u-s1);font-size:var(--u-fs-22);font-weight:600;font-variant-numeric:tabular-nums;line-height:1.3}
.ck-trend{display:block;width:100%;max-height:150px}
.ck-trend polyline{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ck-trend .a{stroke:var(--u-blue)}
.ck-trend .b{stroke:var(--u-ink-4)}
.ck-trend text{font-size:10px;fill:var(--u-ink-3)}

/* ---------- 侧边面板（部门详情）：与详情弹窗共用 hd / bd / sec ---------- */
.drawer.u-drawer{width:560px;padding:0;border:0;border-left:1px solid var(--u-line);background:var(--u-surface);box-shadow:var(--u-shadow);color:var(--u-ink);font-family:var(--u-font);font-size:var(--u-fs-14);line-height:1.5;animation:u-fade .15s var(--u-ease)}
.u-drawer .ws-quick{margin:var(--u-s3) 0}
.u-drawer .sec p.u-muted{margin:0;font-size:var(--u-fs-12)}

/* 幻灯片的翻页、页码、全屏集中到右下角，不压住内容 */
.rv-stage .nav{top:auto;bottom:var(--u-s3);transform:none}
.rv-stage .nav.l{left:auto;right:92px}
.rv-stage .nav.r{right:52px}
.rv-stage .full{border-radius:50%}
.rv-stage .rv-pn{left:auto;right:136px;bottom:18px}

@media (max-width:1100px){
  .wz-staff{grid-template-columns:160px minmax(0,1fr)}
  .wz-staff #staff-grid{grid-column:1/-1}
  .wz-two{grid-template-columns:1fr}
  .wz-steps li:not(.on) span{display:none}
  .ck-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .hm-two,.wz-grid2,.wz-cands{grid-template-columns:1fr}
  .wz-pick{grid-template-columns:1fr;height:auto}
  .wz-cats{max-height:160px;border-right:0;border-bottom:1px solid var(--u-line)}
  .wz-div-list{max-height:320px}
  .wz-staff{grid-template-columns:1fr}
  .wz-tabs{flex-direction:row;flex-wrap:wrap}
  .wz-in,.hm-main{padding:var(--u-s5) var(--u-s4) var(--u-s8)}
  .hm-card{padding:var(--u-s5)}
  .hm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wz-top #btn-demo,.wz-hint{display:none}
}

/* ---------- 响应式 ---------- */
@media (max-width:1280px){
  .app.log-open{grid-template-columns:216px minmax(0,1fr) 300px}
  .ws-in{padding:var(--u-s6) var(--u-s6) var(--u-s8)}
}
@media (max-width:1100px){
  /* 侧栏收成图标栏；动态记录改为浮层，不挤占内容 */
  .app,.app.log-open{grid-template-columns:56px minmax(0,1fr) 0}
  .app-brand-t,.app-nav h6,.app-nav .u-nv span.t{display:none}
  .app-brand{justify-content:center;padding:0}
  .app-nav .u-nv{justify-content:center;padding:0;position:relative}
  .app-nav .u-nv .u-nb{position:absolute;top:2px;right:4px;min-width:14px;height:14px;padding:0 3px;line-height:14px;font-size:10px}
  .app-nav h6{height:1px;margin:var(--u-s2);background:var(--u-line);overflow:hidden}
  .app.log-open .app-log{position:fixed;top:52px;right:0;bottom:0;width:340px;max-width:92vw;z-index:60;box-shadow:var(--u-shadow)}
  .app-stat .hide-s{display:none}
  .td-row{flex-wrap:wrap}
  .td-tt{flex-basis:60%}
  .dv-opts{grid-template-columns:1fr}
  .dv-sup{grid-template-columns:1fr}
  .cmd-hd .u-steps{display:none}
}
@media (max-width:760px){
  .ws-in{padding:var(--u-s5) var(--u-s4) var(--u-s8)}
  .ws-hd h1{font-size:var(--u-fs-22)}
  .ws-steps{grid-template-columns:1fr}
  .u-table .col-own,.u-table .col-docs{display:none}
  .app-stat{display:none}
}
@media (prefers-reduced-motion:reduce){
  .app *,.u-mask{transition:none!important}
  .cmd-run .spin{animation-duration:2s}
}

/* AI 连接状态可点击（去连接） */
.ai-pill{cursor:pointer}

/* ============================================================
   MESI 品牌系统（2026-11-13 定稿）
   一套系统两种明暗：官网 / 首页 / 演示为深色，日常工作区为浅色。
   串联五要素：① DIN 字体做数字与大写英文标签，等宽字体做日志；② 唯一信号色 --sig，
   只标"需要你决定"、主行动、标志竖线；③ 全系统 3px 圆角；④ 01–08 编号与大写小标签；⑤ MES▍标志。
   信号色在浅底上不能当文字，需要文字时用 --sig-text。
   ============================================================ */
:root{
  --sig:#d7f24a; --sig-ink:#0a0a0a; --sig-text:#5c7300; --sig-soft:#f4fbd0;
  --din:Bahnschrift,"DIN Alternate","D-DIN","Barlow Semi Condensed",sans-serif;
  --mono:"Cascadia Mono","JetBrains Mono",Consolas,"SFMono-Regular",monospace;
  /* 浅色工作区令牌（覆盖 v1） */
  --u-ink:#0a0a0a; --u-ink-2:#4a4740; --u-ink-3:#8b8780; --u-ink-4:#b5b1a8;
  --u-line:#e6e3dc; --u-line-2:#d9d5cc; --u-bg:#f6f5f2; --u-surface:#ffffff; --u-fill:#f1efea; --u-fill-2:#e8e5df;
  --u-blue:#0a0a0a; --u-blue-press:#2a2a28; --u-blue-soft:#f1efea;   /* 主色改为墨黑；链接/主按钮不再是蓝色 */
  --u-green:#2f7a3b; --u-green-soft:#e8f2e6; --u-amber:#8a5a00; --u-amber-soft:#fbf0d9; --u-red:#b42318; --u-red-soft:#fbe9e7;
  --u-r-s:3px; --u-r-m:3px; --u-r-l:3px;
  --u-shadow:0 18px 48px rgba(10,10,10,.16),0 2px 6px rgba(10,10,10,.06);
}
.mesi-lab{font-family:var(--din);font-size:10.5px;font-weight:400;letter-spacing:2.4px;text-transform:uppercase;color:var(--u-ink-3)}
.mesi-wm{display:inline-flex;align-items:center;padding:0;border:0;background:none;color:inherit;cursor:pointer;font-family:var(--din);font-weight:600;font-size:20px;letter-spacing:.32em;line-height:1}
.mesi-wm i{display:inline-block;width:.15em;height:.8em;margin-left:.02em;background:var(--sig)}
.u-card{box-shadow:none}

/* ---------- 外壳 ---------- */
.app{grid-template-columns:224px minmax(0,1fr) 0;grid-template-rows:56px minmax(0,1fr)}
.app.log-open{grid-template-columns:224px minmax(0,1fr) 320px}
.app-nav{background:var(--u-bg)}
.app-brand{height:56px;padding:0 20px;border-bottom:1px solid var(--u-line)}
.app-nav-scroll{padding:6px 12px 12px}
.app-nav h6{margin:20px 8px 6px;font-family:var(--din);font-size:10.5px;font-weight:400;letter-spacing:2.4px;color:var(--u-ink-4)}
.app-nav h6:first-child{margin-top:14px}
.app-nav .u-nv{height:32px;gap:12px;padding:0 8px;border-radius:var(--u-r-s);color:var(--u-ink-2)}
.app-nav .u-nv:hover{background:var(--u-fill);color:var(--u-ink)}
.app-nav .u-nv.on{background:none;color:var(--u-ink);font-weight:600;box-shadow:none}
.app-nav .u-nv .no{flex:none;width:16px;font-family:var(--din);font-weight:400;font-size:11px;color:var(--u-ink-4)}
.app-nav .u-nv.on .no{color:var(--u-ink)}
.app-nav .u-nv .u-nb{min-width:18px;height:18px;padding:0 5px;border-radius:2px;background:var(--u-fill-2);color:var(--u-ink-2);font-family:var(--din);font-size:11.5px;line-height:18px}
.app-nav .u-nv .u-nb.attn{background:var(--sig);color:var(--sig-ink)}
.app-sys{flex:none;margin:0 20px;padding:14px 0 12px;border-top:1px solid var(--u-line);font-family:var(--din);font-size:10.5px;letter-spacing:1.8px;color:var(--u-ink-3);line-height:2}
.app-sys:empty{display:none}
.app-sys em{font-style:normal;color:var(--u-ink)}
.app-sys .sys-dot{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--u-ink-4);vertical-align:1px}
.app-sys .on{color:var(--u-ink)}
.app-sys .on .sys-dot{background:var(--u-ink);animation:mesi-pulse 2s infinite}
@keyframes mesi-pulse{0%{box-shadow:0 0 0 0 rgba(10,10,10,.28)}100%{box-shadow:0 0 0 6px rgba(10,10,10,0)}}
.app-nav-foot{padding:8px 12px 12px;border-top:0}
.app-nav-foot .u-nv{color:var(--u-ink-3)}
.app-top{gap:var(--u-s5);padding:0 28px;border-bottom:1px solid var(--u-line)}
.app-top>.app-brand-t{flex:none;min-width:0;max-width:300px;display:flex;align-items:baseline;gap:10px;line-height:1.3}
.app-top>.app-brand-t b{font-size:var(--u-fs-14);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-top>.app-brand-t small{font-family:var(--din);font-size:10.5px;letter-spacing:1.6px;color:var(--u-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-where{padding-left:var(--u-s5);border-left:1px solid var(--u-line);font-family:var(--din);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--u-ink-3)}
.app-where span::after{margin-left:8px}
.app-where b{font-family:var(--u-font);font-size:var(--u-fs-12);letter-spacing:0;font-weight:500;color:var(--u-ink-2)}
.app-stat{font-size:var(--u-fs-12);gap:var(--u-s5)}
.app-stat b{font-family:var(--din);font-weight:500;font-size:var(--u-fs-14)}
.app-stat .attn b{color:var(--sig-ink);background:var(--sig);padding:0 5px;border-radius:2px}
.app-demo{border-radius:var(--u-r-s)}
:is(.app,.wz,.hm) .ai-pill{border-radius:var(--u-r-s)}
:is(.app,.wz,.hm) .ai-pill.on .pulse{background:var(--u-ink)}
:is(.app,.wz,.hm) .ai-pill .dim{color:var(--u-ink);text-decoration:underline;text-underline-offset:3px}
.app-main{background:var(--u-surface)}

/* ---------- 实时动态 ---------- */
.app-log{background:var(--u-bg)}
.app-log-hd{height:56px;padding:0 16px 0 22px}
.app-log-hd b{font-family:var(--din);font-size:10.5px;font-weight:400;letter-spacing:2.4px;color:var(--u-ink-3)}
.u-log{padding:4px 22px 22px}
.u-log .u-ev{grid-template-columns:minmax(0,1fr);padding:12px 0;border-bottom:1px solid #ebe8e2}
.u-log .u-ev .u-dot{display:none}
.u-log .u-ev .u-t{font-family:var(--mono);font-size:11px;color:var(--u-ink-4);margin-bottom:2px}
.u-log .u-ev .u-b{font-size:13px;line-height:1.6}
.u-log .u-ev .u-b b{font-weight:600}
.u-log .u-ev:first-child .u-t{color:var(--sig-text);font-weight:600}
.u-log .u-ev .u-b a,.u-log .u-ev .u-b .lnk{color:var(--u-ink);text-decoration:underline;text-underline-offset:3px}

/* ---------- 基础组件 ---------- */
.u-btn{border-radius:var(--u-r-s);font-weight:500;letter-spacing:.3px}
.u-btn.pri{background:var(--u-ink);border-color:var(--u-ink);color:#fff;font-weight:600}
.u-btn.pri:hover{background:#2a2a28;border-color:#2a2a28}
.u-btn.sig{background:var(--sig);border-color:var(--sig);color:var(--sig-ink);font-weight:600}
.u-btn.quiet{color:var(--u-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--u-line-2)}
.u-btn.quiet:hover{background:var(--u-fill);text-decoration-color:var(--u-ink)}
.u-btn:focus-visible,.u-input:focus-visible,.app-nav .u-nv:focus-visible,.u-opt:focus-visible,.mesi-wm:focus-visible{outline:2px solid var(--u-ink);outline-offset:2px}
.u-input:focus{border-color:var(--u-ink);box-shadow:0 0 0 3px rgba(10,10,10,.08)}
.u-link{color:var(--u-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--u-line-2)}
.u-link:hover{text-decoration-color:var(--u-ink)}
.u-tag{border-radius:2px}
.u-tag.info{background:var(--u-fill);color:var(--u-ink)}
.u-tag.warn{background:var(--sig);color:var(--sig-ink)}
.u-seg{border-radius:var(--u-r-s)}.u-seg button{border-radius:2px}
.u-check input{accent-color:var(--u-ink)}

/* ---------- 工作台 ---------- */
.ws{background:var(--u-surface)}
.ws-in{max-width:1080px;padding:32px 44px 48px}
.ws-hd h1{font-family:var(--din),var(--u-font);font-size:30px;font-weight:600;letter-spacing:.3px}
/* 今日简报 */
.mb{margin:0 0 28px}
.mb .mesi-lab{display:block;margin-bottom:12px}
.mb h1{margin:0 0 12px;font-family:var(--din),var(--u-font);font-size:32px;font-weight:600;line-height:1.3;letter-spacing:.3px;color:var(--u-ink)}
.mb h1 mark{background:var(--sig);color:var(--sig-ink);padding:0 6px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.mb p{margin:0;max-width:760px;font-size:14.5px;line-height:1.8;color:var(--u-ink-2)}
.mb .acts{display:flex;gap:10px;margin-top:20px}
.mb .acts .u-btn{height:38px;padding:0 18px}
/* 指标条：顶部一条墨线，数字为主角 */
.ws-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 28px;border-top:1px solid var(--u-ink)}
.ws-k{position:relative;display:block;padding:14px 18px 4px 0;border:0;border-radius:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;box-shadow:none}
.ws-k+.ws-k{padding-left:20px;border-left:1px solid var(--u-line)}
.ws-k:disabled{cursor:default}
.ws-k>div{min-width:0}
.ws-k small{display:block;font-family:var(--din);font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;color:var(--u-ink-3)}
.ws-k b{display:block;margin:4px 0 2px;font-family:var(--din);font-weight:300;font-size:44px;line-height:1.1;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.ws-k span{display:block;font-size:var(--u-fs-12);color:var(--u-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws-k>.u-ico{position:absolute;right:12px;top:14px;color:var(--u-ink-4)}
.ws-k:not(:disabled):hover>.u-ico{color:var(--u-ink)}
.ws-k.hot b{display:inline-block;padding-right:4px;background:linear-gradient(transparent 64%,var(--sig) 64%)}
/* 下达指令：命令行 */
.ws-compose{padding:0;border:1px solid var(--u-ink);border-radius:var(--u-r-s);margin-bottom:12px}
.ws-compose-in{display:flex;align-items:flex-start;gap:12px;padding:14px 16px 6px 18px}
.ws-compose-in .pr{flex:none;font-family:var(--mono);font-size:15px;line-height:26px;color:var(--u-ink)}
.ws-compose textarea{padding:3px 0 6px;font-size:15px}
.ws-compose .ws-bar{margin:0 16px;padding:10px 0 12px;border-top:1px solid var(--u-fill)}
.ws-compose .ws-bar kbd{font-family:var(--din);font-size:10.5px;letter-spacing:1.6px;color:var(--u-ink-3);border:1px solid var(--u-line);border-radius:2px;padding:2px 7px}
.ws-quick{margin-bottom:28px}
.ws-quick button{height:28px;padding:0 12px;border-radius:var(--u-r-s);border-color:var(--u-line);color:var(--u-ink-2);font-size:var(--u-fs-12)}
.ws-quick button:hover{border-color:var(--u-ink);color:var(--u-ink)}
.ws-note{border-radius:var(--u-r-s);background:var(--u-bg);border:1px solid var(--u-line)}
.ws-sec{margin:32px 0 4px;padding-bottom:10px;border-bottom:1px solid var(--u-line)}
.ws-sec h2{font-family:var(--din);font-size:10.5px;font-weight:400;letter-spacing:2.4px;text-transform:uppercase;color:var(--u-ink-3)}
.ws-sec h2 b{font-family:var(--u-font);font-size:var(--u-fs-14);letter-spacing:0;font-weight:600;color:var(--u-ink);margin-left:10px;text-transform:none}
.ws-sec span{font-family:var(--din);letter-spacing:1px}
.ws-sec .u-link{font-size:var(--u-fs-12)}
/* 待我处理 */
.td{padding:0;border:0;background:none}
.td-row{padding:14px 0;border-bottom:1px solid var(--u-fill)}
.td-dot{flex:none;width:9px;height:9px;border-radius:0;background:var(--u-ink-4)}
.td-dot.warn{background:var(--sig);box-shadow:0 0 0 1px var(--u-ink)}
.td-dot.ok{background:var(--u-ink)}
.td-none{border-radius:var(--u-r-s);background:var(--u-bg)}
/* 指令面板 */
.cmd{border:0;border-bottom:1px solid var(--u-line);border-radius:0;margin-bottom:0;overflow:visible}
.cmd-hd{padding:18px 0;gap:14px}
.cmd-hd:hover{background:none}
.cmd-hd:hover .cmd-tt b{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.cmd-dot{flex:none;width:9px;height:9px;border-radius:0;background:var(--u-ink-4)}
.cmd-dot.run{background:var(--u-ink);box-shadow:none;animation:mesi-pulse 2s infinite}
.cmd-dot.warn{background:var(--sig);box-shadow:0 0 0 1px var(--u-ink)}
.cmd-dot.ok{background:var(--u-ink-2)}
.cmd-tt small{font-family:var(--din);letter-spacing:.6px}
.cmd-bd{padding:0 0 24px}
.cmd-run .spin{border-top-color:var(--u-ink)}
/* 9 节点进度：方块节点 + 细线 */
.u-steps{gap:0;margin:6px 0 24px}
.u-steps div{position:relative}
.u-steps div::before{content:"";position:absolute;left:0;right:0;top:4px;height:1px;background:var(--u-line)}
.u-steps div.done::before{background:var(--u-ink)}
.u-steps div:last-child::before{display:none}
.u-steps i{position:relative;z-index:1;width:9px;height:9px;border-radius:0;background:var(--u-surface);border:1px solid var(--u-line-2)}
.u-steps .done i{background:var(--u-ink);border-color:var(--u-ink)}
.u-steps .active i{background:var(--u-ink);border-color:var(--u-ink);animation:mesi-pulse 2s infinite}
.u-steps .active.gate i{background:var(--sig);border-color:var(--u-ink)}
.u-steps .skip i{background:var(--u-fill);border-style:dashed}
.u-steps span{margin-top:10px;font-size:var(--u-fs-12);color:var(--u-ink-4)}
.u-steps span[data-no]::before{content:attr(data-no);display:block;margin-bottom:1px;font-family:var(--din);font-size:10.5px;letter-spacing:1.4px}
.u-steps .done span{color:var(--u-ink-2)}
.u-steps .active span{color:var(--u-ink)}
.cmd-hd .u-steps{width:160px;margin:0}
.cmd-hd .u-steps div::before{top:3px}
.cmd-hd .u-steps i{width:7px;height:7px}
/* 方案 */
.u-opt{border-radius:var(--u-r-s)}
.u-opt.pickable:hover{border-color:var(--u-ink-3)}
.u-opt.on{border-color:var(--u-ink);box-shadow:inset 0 0 0 1px var(--u-ink);background:none}
.u-key{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--u-line-2);border-radius:2px;font-family:var(--din);font-size:12px;font-weight:600;color:var(--u-ink-2)}
.u-opt.on .u-key{border-color:var(--u-ink);background:var(--u-ink);color:#fff}
.u-opt dt{font-family:var(--din);letter-spacing:1px}
.dv-score b,.u-score b,.cmd-ft b,.dv-dims b{font-family:var(--din);font-weight:500}
.dv-score b{font-size:30px;font-weight:300}
.dv-dims .low b{color:var(--sig-ink);background:var(--sig);padding:0 3px}
.dv-bar{border-radius:var(--u-r-s);background:var(--u-bg);border:1px solid var(--u-line)}
/* 任务表 */
.u-table th{font-family:var(--din);font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--u-ink-3)}
.u-table tbody tr[data-t]:hover td{background:var(--u-bg)}
.u-table .u-own:hover .u-t1{color:var(--u-ink);text-decoration:underline}
@keyframes u-flash{from{background:var(--sig-soft)}to{background:transparent}}
.u-prog .u-pg{height:2px;border-radius:0}
.u-prog .u-pg i{border-radius:0;background:var(--u-ink)}
.u-prog.warn .u-pg i{background:#a7bd1f}
.u-prog.done .u-pg i{background:var(--u-ink-3)}
.u-docs{gap:4px}
.u-docs button{display:inline-flex;align-items:center;gap:4px;border-radius:2px}
.u-docs button:hover{border-color:var(--u-ink);color:var(--u-ink)}
/* 空状态 */
.ws-empty{padding:0;text-align:left;background:none;border:0}
.ws-empty-hd{margin-bottom:var(--u-s4)}
.ws-empty-hd h2{margin:0 0 6px;font-size:var(--u-fs-17);font-weight:600}
.ws-empty-hd p{margin:0;max-width:640px;color:var(--u-ink-3)}
.ws-empty .ws-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--u-ink)}
.ws-empty .ws-steps>.u-card{padding:18px 20px 0 0;border:0;border-radius:0;background:none}
.ws-empty .ws-steps>.u-card+.u-card{padding-left:20px;border-left:1px solid var(--u-line)}
.ws-empty .ws-steps div{padding-top:0;border-top:0}
.ws-empty .st{display:flex;align-items:baseline;gap:12px;margin:16px 0 4px}
.ws-empty .st-n{font-family:var(--din);font-size:10.5px;letter-spacing:1.4px;color:var(--u-ink-3)}
.ws-empty .st i{display:none}
.ws-empty .st b{display:block;margin:0;font-size:var(--u-fs-15);font-weight:600}
.ws-empty .ws-steps>.u-card>span{display:block;font-size:var(--u-fs-14);color:var(--u-ink-2);line-height:1.6}
.pv{display:flex;flex-direction:column;justify-content:center;gap:6px;height:132px;padding:12px;border:1px solid var(--u-line);border-radius:var(--u-r-s);background:var(--u-bg)}
.pv-opt,.pv-file{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border:1px solid var(--u-line);border-radius:2px;background:#fff}
.ws-empty .ws-steps .pv-opt>span,.ws-empty .ws-steps .pv-file>span{flex:1;min-width:0;margin:0;font-size:var(--u-fs-12);color:var(--u-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-opt.on{border-color:var(--u-ink);box-shadow:inset 0 0 0 1px var(--u-ink)}
.pv-k{flex:none;display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--u-line-2);border-radius:2px;font-style:normal;font-family:var(--din);font-size:11px;font-weight:600;color:var(--u-ink-2)}
.pv-opt.on .pv-k{border-color:var(--u-ink);background:var(--u-ink);color:#fff}
.pv-opt em{font-style:normal;font-family:var(--din);font-size:10px;letter-spacing:1px;background:var(--sig);color:var(--sig-ink);padding:0 5px}
.pv-file .ft{flex:none;display:inline-grid;place-items:center;width:18px;height:20px;border-radius:2px;font-style:normal;font-size:10px;font-weight:700;color:#fff}
.pv-file .ft-w{background:#2b579a}.pv-file .ft-x{background:#217346}.pv-file .ft-p{background:#c43e1c}
.pv-dec{flex-direction:row;align-items:center;gap:var(--u-s4)}
.pv-score{text-align:left;line-height:1.1}
.ws-empty .ws-steps .pv-score b{display:block;margin:0;font-family:var(--din);font-weight:300;font-size:38px;color:var(--u-ink);letter-spacing:-1px}
.pv-score small{font-family:var(--din);font-size:10px;letter-spacing:1.4px;color:var(--u-ink-3)}
.pv-btns{display:flex;flex-direction:column;gap:6px}
.pv-btn{height:26px;padding:0 10px;border:1px solid var(--u-line-2);border-radius:2px;background:#fff;font-size:11px;line-height:24px;color:var(--u-ink-2);text-align:center}
.ws-empty .ws-steps .pv-btn{margin:0;font-size:11px;color:var(--u-ink-2)}
.ws-empty .ws-steps .pv-btn.pri{border-color:var(--u-ink);background:var(--u-ink);color:#fff}

/* ---------- 经营概览 ---------- */
.ck-stats{gap:0;border:0;border-top:1px solid var(--u-ink);border-radius:0;background:none;margin-bottom:28px}
.ck-stats .ws-k{cursor:default}
.ck-trend .a{stroke:var(--u-ink)}
.ck-trend .b{stroke:var(--u-ink-4)}

/* ---------- 弹窗 ---------- */
.u-modal>.ft{background:var(--u-bg)}

@media (max-width:1100px){
  .ws-kpi,.ck-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ws-k:nth-child(3){padding-left:0;border-left:0}
  .ws-k:nth-child(n+3){border-top:1px solid var(--u-line)}
  .ws-empty .ws-steps{grid-template-columns:1fr}
  .ws-empty .ws-steps>.u-card+.u-card{padding-left:0;border-left:0}
  .app-top>.app-brand-t small{display:none}
}
@media (prefers-reduced-motion:reduce){.app-sys .on .sys-dot,.cmd-dot.run,.u-steps .active i{animation:none}}

/* ---------- MESI 深色：首页（品牌页） ---------- */
.hm{--u-ink:#f0f0f5;--u-ink-2:#a3a3ab;--u-ink-3:#6b6b73;--u-ink-4:#45454b;--u-line:#232327;--u-line-2:#3a3a40;--u-fill:#121214;--u-fill-2:#1c1c1f;--u-surface:#050506;--u-bg:#000;
  background:#000;color:var(--u-ink)}
.hm-top{height:72px;padding:0 56px;border-bottom:1px solid #161618}
.hm-top .mesi-wm{font-size:22px;color:#fff}
.hm-main{max-width:1240px;padding:72px 56px 56px}
.hm-hero{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:56px;align-items:center;margin-bottom:72px}
.hm-hero h1{margin:20px 0 22px;font-family:var(--din),var(--u-font);font-weight:600;font-size:64px;line-height:1.1;letter-spacing:.5px;color:#fff}
.hm-hero h1 em{font-style:normal;color:var(--sig)}
.hm-hero p{max-width:600px;margin:0;font-size:16px;line-height:1.8;color:var(--u-ink-2)}
.hm-term{padding:20px 22px;border:1px solid #232327;border-radius:6px;background:#050506;font-family:var(--mono);font-size:13px;line-height:2.05;color:#8a8a92;white-space:pre}
.hm-term i{font-style:normal;color:var(--sig)}
.hm-term b{font-weight:400;color:#f0f0f5}
.hm-term .car{display:inline-block;width:8px;height:15px;margin-left:4px;vertical-align:-3px;background:var(--sig);animation:mesi-blink 1s steps(1) infinite}
@keyframes mesi-blink{50%{opacity:0}}
.hm-two{gap:0;border-top:1px solid #3a3a40}
.hm-card{padding:28px 40px 8px 0;border:0;border-radius:0;background:none}
.hm-card+.hm-card{padding-left:40px;border-left:1px solid #232327}
.hm-card .hm-k{display:block}
.hm-card h2{margin:12px 0 10px;font-size:28px;font-weight:600;color:#fff}
.hm-card>p{color:var(--u-ink-2)}
.hm-steps{margin:24px 0;padding:16px 0;border-top:1px solid #161618;border-bottom:1px solid #161618;counter-reset:none}
.hm-steps li::before{display:none}
.hm-steps li b{display:block;margin-bottom:4px;font-family:var(--din);font-weight:400;font-size:10.5px;letter-spacing:1.4px;color:var(--u-ink-3)}
#dir-a .hm-steps li b{color:var(--sig)}
.hm-steps li span{color:var(--u-ink-2)}
.hm .u-btn{height:40px;padding:0 20px;border-color:rgba(240,240,250,.35);background:transparent;color:#f0f0f5}
.hm .u-btn:hover{background:#121214}
.hm .u-btn.sig{background:var(--sig);border-color:var(--sig);color:var(--sig-ink)}
.hm .u-btn.sig:hover{background:#e3f86e}
.hm .u-btn.quiet{border-color:transparent}
.hm .u-link{color:#d5d5dc;text-decoration-color:#3a3a40}
.hm .u-link:hover{color:#fff;text-decoration-color:#fff}
.hm .u-muted{color:var(--u-ink-3)}
.hm-card>p.hm-stat{font-family:var(--din);letter-spacing:.6px;color:var(--u-ink-3)}
.hm-foot{margin-top:40px;padding-top:20px;border-top:1px solid #161618;color:var(--u-ink-3)}
.hm .ai-pill{background:transparent;border-color:#3a3a40;color:#a3a3ab}
.hm .ai-pill b{color:#f0f0f5}
.hm .ai-pill .dim{color:var(--sig)}
@media (max-width:1100px){
  .hm-hero{grid-template-columns:1fr}.hm-term{display:none}
  .hm-hero h1{font-size:44px}
  .hm-card+.hm-card{padding-left:0;border-left:0;border-top:1px solid #232327}
  .hm-top,.hm-main{padding-left:24px;padding-right:24px}
}
@media (prefers-reduced-motion:reduce){.hm-term .car{animation:none}}

/* ---------- 创建向导：浅色工作区令牌 ---------- */
.wz-top{height:56px;background:var(--u-surface)}
.wz-top .mesi-wm{font-size:18px;color:var(--u-ink)}
.wz-steps li{border-radius:var(--u-r-s)}
.wz-steps i{border-radius:2px;font-family:var(--din)}
.wz-steps .on i{background:var(--u-ink);color:#fff}
.wz-steps .done i{background:var(--u-fill-2);color:var(--u-ink)}

.hm-term{white-space:normal}.hm-term div{white-space:pre}

/* ============================================================
   MESI · 旧页面皮肤层（13 个尚未重写结构的页面 + 献策/悬赏/后台浮层）
   作用域：.app-main .page / .ideas-overlay / .adm-overlay。只改观感，不动结构与逻辑。
   规则与工作区一致：墨黑 + 唯一信号色，3px 圆角，无阴影无渐变，图标单色，DIN 数字与大写标签。
   ============================================================ */
:is(.app-main .page,.ideas-overlay,.adm-overlay){
  --bg:#ffffff;--bg2:#ffffff;--panel:#ffffff;--panel2:#ffffff;--card:#ffffff;--surface:#f6f5f2;
  --line:#e6e3dc;--line2:#d9d5cc;--txt:#0a0a0a;--sub:#4a4740;--dim:#8b8780;
  --c1:#0a0a0a;--c2:#0a0a0a;--c3:#0a0a0a;--ok:#2f7a3b;--warn:#8a5a00;--bad:#b42318;--gold:#0a0a0a;
  --r:3px;--r-sm:3px;--r-lg:3px;--shadow:none;--sh-1:none;--sh-2:none;--sh-3:none;
  color:var(--txt);font-family:var(--u-font)}
.app-main .page{padding:32px 44px 48px;background:var(--u-surface)}
.app-main .page>*{max-width:1180px;margin-left:auto;margin-right:auto}
/* 页头 */
.mp-hd{display:flex;align-items:flex-end;gap:var(--u-s5);margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--u-ink)}
.mp-hd>div:first-child{flex:1;min-width:0}
.mp-hd .mesi-lab{display:block;margin-bottom:10px}
.mp-hd h1{margin:0;font-family:var(--din),var(--u-font);font-size:30px;font-weight:600;letter-spacing:.3px;line-height:1.2;color:var(--u-ink)}
.mp-hd p{margin:8px 0 0;max-width:820px;font-size:var(--u-fs-14);line-height:1.7;color:var(--u-ink-3)}
.mp-hd p code{font-family:var(--mono);font-size:12px;background:var(--u-fill);padding:0 4px;border-radius:2px}
.mp-acts,.mp-hd>.flex{display:flex;gap:8px;flex:none;margin-left:auto}
/* 图标：统一单色，去掉内联彩色 */
:is(.app-main .page,.ideas-overlay,.adm-overlay) .fas,:is(.app-main .page,.ideas-overlay,.adm-overlay) .far,:is(.app-main .page,.ideas-overlay,.adm-overlay) .fab{color:inherit!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .h3>.fas:first-child,:is(.app-main .page,.ideas-overlay,.adm-overlay) .ct .h3 .fas{color:var(--u-ink-3)!important;margin-right:2px}
/* 标题与文字 */
:is(.app-main .page,.ideas-overlay,.adm-overlay) .h2{font-family:var(--din),var(--u-font);font-weight:600;letter-spacing:.3px}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .h3{font-size:var(--u-fs-15);font-weight:600;color:var(--u-ink)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .h4{font-family:var(--din);font-size:10.5px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--u-ink-3)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .hint{color:var(--u-ink-3)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .grad-txt{background:none;-webkit-text-fill-color:currentColor;color:var(--u-ink)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .lnk,:is(.app-main .page,.ideas-overlay,.adm-overlay) .cno{color:var(--u-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--u-line-2)}
/* 卡片：细边框、直角、无阴影、无彩色顶边 */
:is(.app-main .page,.ideas-overlay,.adm-overlay) :is(.card,.stat,.agent-card,.lead,.mech-card,.mech-flow,.ms-card,.ms-mini,.id-step,.id-target,.org-strip,.sv-dcard,.adm-kpi,.chan,.canvas-box){
  border-radius:var(--u-r-s)!important;box-shadow:none!important;background:#fff;border:1px solid var(--u-line)!important;transform:none!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) :is(.card,.stat,.ms-card,.mech-card)[style*="border-top"]{border-top:1px solid var(--u-ink)!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) :is(.card,.agent-card,.lead,.ms-card,.mech-card):hover{border-color:var(--u-ink-3)!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .card .ct{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--u-fill)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .mt{margin-top:16px}
/* 数字卡 */
:is(.app-main .page,.ideas-overlay,.adm-overlay) .stat .l,:is(.app-main .page,.ideas-overlay,.adm-overlay) .adm-kpi .l{font-family:var(--din);font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--u-ink-3)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .stat .v,:is(.app-main .page,.ideas-overlay,.adm-overlay) .adm-kpi .v{font-family:var(--din);font-weight:300;font-size:34px;letter-spacing:-.5px;color:var(--u-ink)!important;font-variant-numeric:tabular-nums}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .stat.sm .v{font-size:22px}
/* 按钮 */
:is(.app-main .page,.ideas-overlay,.adm-overlay) .btn{border-radius:var(--u-r-s)!important;box-shadow:none!important;transform:none!important;font-weight:500;letter-spacing:.3px}
:is(.app-main .page,.ideas-overlay,.adm-overlay) :is(.btn-pri,.btn-warm){background:var(--u-ink)!important;color:#fff!important;border:1px solid var(--u-ink)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) :is(.btn-pri,.btn-warm):hover{background:#2a2a28!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .btn-ghost{background:#fff!important;border:1px solid var(--u-line-2)!important;color:var(--u-ink)!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .btn-ghost:hover{border-color:var(--u-ink)!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .btn-danger{color:var(--u-red)!important;border-color:var(--u-line-2)!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .close-x{border-radius:var(--u-r-s)}
/* 标签 */
:is(.app-main .page,.ideas-overlay,.adm-overlay) .tag{border-radius:2px!important;background:var(--u-fill)!important;border:1px solid transparent!important;color:var(--u-ink-2)!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .tag.warn{background:var(--sig)!important;color:var(--sig-ink)!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .tag.ok{background:var(--u-green-soft)!important;color:var(--u-green)!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .tag.bad{background:var(--u-red-soft)!important;color:var(--u-red)!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) button.tag:hover{border-color:var(--u-ink)!important;color:var(--u-ink)!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .lvl{border-radius:2px;background:var(--u-fill)!important;color:var(--u-ink)!important;font-family:var(--din)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .st-dot{border-radius:0;width:7px;height:7px}
/* 表格 */
:is(.app-main .page,.ideas-overlay,.adm-overlay) :is(.table,.adm-table) th{background:none!important;font-family:var(--din);font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--u-ink-3);border-bottom:1px solid var(--u-ink)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) :is(.table,.adm-table) td{border-bottom:1px solid var(--u-fill)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) :is(.table,.adm-table) tr:hover td{background:var(--u-surface)}
/* 进度条 */
:is(.app-main .page,.ideas-overlay,.adm-overlay) .bar{height:2px;border-radius:0;background:var(--u-fill-2)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .bar i{border-radius:0;background:var(--u-ink)!important}
/* 输入 */
:is(.app-main .page,.ideas-overlay,.adm-overlay) :is(input:not([type=checkbox]):not([type=radio]),textarea,select){border-radius:var(--u-r-s);border-color:var(--u-line-2)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) :is(input,textarea,select):focus{border-color:var(--u-ink);box-shadow:0 0 0 3px rgba(10,10,10,.08)}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .chk input,:is(.app-main .page,.ideas-overlay,.adm-overlay) input[type=checkbox]{accent-color:var(--u-ink)}
/* 头像 / 图标块 → 中性 */
:is(.app-main .page,.ideas-overlay,.adm-overlay) :is(.avatar,.ms-av,.bot-ic,.id-n){background:var(--u-fill-2)!important;color:var(--u-ink)!important;border-radius:2px!important;box-shadow:none!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .id-step.on .id-n{background:var(--u-ink)!important;color:#fff!important}

/* —— SI 员工 —— */
.app-main .page .agent-card{padding:14px}
.app-main .page .agent-card .bot-ic{width:28px;height:28px;font-size:12px}
/* —— 商机 —— */
.app-main .page .radar-big{border-color:var(--u-line)!important;background:repeating-radial-gradient(circle,transparent 0 20%,var(--u-fill) 20% calc(20% + 1px))}
.app-main .page .radar-big .sweep{background:conic-gradient(from 0deg,rgba(10,10,10,.14),transparent 22%)}
.app-main .page .blip{border-radius:0;width:9px;height:9px;box-shadow:none}
.app-main .page .grade{border-radius:2px!important;font-family:var(--din)}
.app-main .page .g-A{background:var(--sig)!important;color:var(--sig-ink)!important;border-color:var(--u-ink)!important}
.app-main .page .g-B{background:var(--u-ink)!important;color:#fff!important;border-color:var(--u-ink)!important}
.app-main .page .g-C{background:var(--u-fill)!important;color:var(--u-ink-2)!important;border-color:var(--u-line)!important}
/* —— 运行规则 —— */
.app-main .page .mech-flow{padding:18px}
.app-main .page .mech-flow .mf{border-radius:2px!important;background:#fff!important;border:1px solid var(--u-line)!important;color:var(--u-ink)!important;box-shadow:none}
.app-main .page .mech-flow .mf i{color:var(--u-ink-3)!important}
.app-main .page .mech-card .mc-hd i{color:var(--u-ink)!important}
.app-main .page .dims span{border-radius:2px;background:var(--u-fill);border-color:transparent;color:var(--u-ink-2)!important}
.app-main .page .dims b{color:var(--u-ink)}
.app-main .page .cp{border-radius:2px!important}
.app-main .page .cp.on{background:var(--sig)!important;color:var(--sig-ink)!important;border-color:var(--u-ink)!important}
/* —— 部门顾问 —— */
.app-main .page .ms-card{border-top:1px solid var(--u-ink)!important}
.app-main .page .ms-sec li::marker{color:var(--u-ink-4)}
/* —— 内容制作 —— */
.app-main .page .canvas-box{background:var(--u-surface)!important}
.app-main .page .chan.on{border-color:var(--u-ink)!important;background:#fff!important}
/* —— 献策 / 悬赏 —— */
:is(.app-main .page,.ideas-overlay) .id-tabs button{border-radius:2px}
:is(.app-main .page,.ideas-overlay) .id-tabs button.on{background:var(--u-ink)!important;color:#fff!important;border-color:var(--u-ink)!important}
:is(.app-main .page,.ideas-overlay) .id-mode{border-radius:var(--u-r-s)!important;background:#fff!important}
:is(.app-main .page,.ideas-overlay) .id-mode.on{border-color:var(--u-ink)!important;box-shadow:inset 0 0 0 1px var(--u-ink)!important;background:#fff!important}
:is(.app-main .page,.ideas-overlay) .id-mode i{color:var(--u-ink)!important}
:is(.app-main .page,.ideas-overlay) :is(.id-hot,.id-cats,.id-hints,.id-hotrow) button{border-radius:2px!important;background:#fff!important}
:is(.app-main .page,.ideas-overlay) :is(.id-hot,.id-cats,.id-hints,.id-hotrow) button:hover{border-color:var(--u-ink)!important;color:var(--u-ink)!important}
:is(.app-main .page,.ideas-overlay) .id-target{background:var(--u-surface)!important}
:is(.app-main .page,.ideas-overlay) .mk-seg button.on{background:var(--u-ink)!important;color:#fff!important}
.ideas-overlay,.adm-overlay{background:rgba(10,10,10,.42)!important}
.ideas-overlay>.page,.adm-overlay>div{border-radius:var(--u-r-l)!important;background:var(--u-surface)!important}
/* 后台主区域不透明（否则底下的工作台会透出来） */
.adm-overlay .adm-main{background:var(--u-surface)}
/* 去掉各页里残留的彩色内联渐变方块（主题色块保留——它们是内容的取色器） */
.app-main .page .mp-hd .ic{display:none}
/* 人才等级徽标（L1 一般 / L2 大师 / L3 领袖）：单色，L3 用信号色 */
.tier{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 5px 0 0;border:1px solid var(--u-line);border-radius:2px;background:#fff;color:var(--u-ink-2);font-size:11px;line-height:1;white-space:nowrap;overflow:hidden}
.tier b{display:inline-grid;place-items:center;height:100%;padding:0 4px;background:var(--u-fill);font-family:var(--din);font-weight:600;font-size:10px;color:var(--u-ink)}
.tier.t-master b{background:var(--u-ink);color:#fff}
.tier.t-leader b{background:var(--sig);color:var(--sig-ink)}
.app-main .page .tag .avatar{display:none}
/* —— 二轮修正：分段导航、流程条、开关、提示条、余额（悬赏/服务/献策） —— */
:is(.app-main .page,.ideas-overlay) .sv-tabs{border-radius:var(--u-r-s);padding:3px;border-color:var(--u-line)}
:is(.app-main .page,.ideas-overlay) .sv-tabs button{border-radius:2px}
:is(.app-main .page,.ideas-overlay) .sv-tabs button.on{background:var(--u-ink)!important;color:#fff!important;box-shadow:none!important}
:is(.app-main .page,.ideas-overlay) .sv-tabs button.on i{color:#fff!important}
:is(.app-main .page,.ideas-overlay) .sv-sw span{border-radius:2px}
:is(.app-main .page,.ideas-overlay) .sv-sw span:before{border-radius:1px;box-shadow:none}
:is(.app-main .page,.ideas-overlay) .sv-sw input:checked+span{background:var(--u-ink)}
:is(.app-main .page,.ideas-overlay) .sv-auto{border-radius:var(--u-r-s)!important;box-shadow:none!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .cmd-alert{border-radius:var(--u-r-s);background:var(--u-surface)!important;border:1px solid var(--u-line)!important;color:var(--u-ink-2)!important}
:is(.app-main .page,.ideas-overlay,.adm-overlay) .cmd-alert .fas{color:var(--u-ink)!important}
:is(.app-main .page,.ideas-overlay) .mc-loop{border-radius:var(--u-r-s);background:#fff!important;border:1px solid var(--u-line)!important}
:is(.app-main .page,.ideas-overlay) .mc-step{border-radius:2px;box-shadow:none;background:var(--u-surface)}
:is(.app-main .page,.ideas-overlay) .mc-step i{border-radius:2px;background:var(--u-ink)!important;color:#fff!important;width:28px;height:28px;font-size:12px}
:is(.app-main .page,.ideas-overlay) .mc-arrow{color:var(--u-ink-4)}
:is(.app-main .page,.ideas-overlay) .mc-bal{border-radius:var(--u-r-s);background:#fff;border-color:var(--u-line-2);color:var(--u-ink)}
:is(.app-main .page,.ideas-overlay) .mc-bal i{color:var(--u-ink)!important}
:is(.app-main .page,.ideas-overlay) :is(.mc-card,.mc-wallet,.mc-rank,.sv-heat,.sv-metric,.mk-body){border-radius:var(--u-r-s)!important;box-shadow:none!important}
:is(.app-main .page,.ideas-overlay) .mc-pts,:is(.app-main .page,.ideas-overlay) .mc-reward b{color:var(--u-ink)!important;font-family:var(--din)}
:is(.app-main .page,.ideas-overlay) .id-mode .tag{background:var(--u-fill)!important}
.app-main .page .radar-big{max-width:360px}
.app-main .page .grade{font-weight:600}
/* —— 组织全景：单色办公室 —— */
.app-main .iso-wrap{background:var(--u-surface)}
.app-main :is(.iso-hud,.iso-lane,.boss-brief,.iso-legend).glass,.app-main .iso-hud .btn{border-radius:var(--u-r-s)!important;box-shadow:none!important;border:1px solid var(--u-line)!important;background:#fff!important;color:var(--u-ink)!important}
.app-main .iso-lane .ln{border-radius:2px;background:var(--u-fill);color:var(--u-ink-4);border-color:transparent}
.app-main .iso-lane .ln.done{background:#fff;color:var(--u-ink-2);border-color:var(--u-line)}
.app-main .iso-lane .ln.active{background:var(--u-ink);color:#fff;border-color:var(--u-ink);animation:none}
.app-main .iso-lane .ln.gate.active{background:var(--sig);color:var(--sig-ink);border-color:var(--u-ink)}
.app-main .iso-lane .ln i,.app-main .boss-brief i,.app-main .iso-legend i{color:inherit!important}
.app-main .boss-brief .h3{font-family:var(--din),var(--u-font)}
.app-main .boss-brief .btn-pri{background:var(--u-ink)!important;border-radius:var(--u-r-s)!important;box-shadow:none!important}
.app-main .zone-label .zl{border-radius:2px;border-color:var(--u-ink)!important;color:var(--u-ink)}
.app-main .zone-label .zl i{color:var(--u-ink-3)!important}
.app-main .zone-label .zp i{background:var(--u-ink)!important}
.app-main .zone-card{border-radius:var(--u-r-s);border-color:var(--u-ink)!important;box-shadow:none}
.app-main .actor .hd{background:var(--u-ink-2)!important;border-color:#fff!important;box-shadow:none!important}
.app-main .actor .tor{background:var(--u-ink-3)!important}
.app-main .actor.bot .hd{border-radius:2px;background:var(--u-ink)!important;border:0!important;box-shadow:none!important}
.app-main .actor.bot.busy .hd{background:var(--sig)!important;color:var(--sig-ink)!important}
.app-main .actor.boss .hd{background:var(--u-ink)!important;box-shadow:none!important}
.app-main .actor.boss .crown{color:var(--u-ink)!important;filter:none}
.app-main .brain-orb{background:var(--sig)!important;color:var(--sig-ink)!important;box-shadow:none!important}
.app-main .packet{background:var(--u-ink)!important;color:var(--u-ink)!important;box-shadow:none!important;border-radius:0}
.app-main .packet span{border-radius:2px;border-color:var(--u-ink)!important;color:var(--u-ink)!important}
.app-main .iso-legend .st-dot{background:var(--u-ink-2)!important}
.app-main .page .th-sw{width:30px;height:30px;padding:0;border-radius:2px;border:1px solid var(--u-line);background:linear-gradient(135deg,var(--a) 0 60%,var(--b) 60%);cursor:pointer}
.app-main .page .th-sw.on{outline:2px solid var(--u-ink);outline-offset:2px}
/* 组织全景：决策视图面板 */
.app-main .boss-brief .dots .dot-s{border-radius:0;background:var(--u-line)}
.app-main .boss-brief .dots .dot-s.done{background:var(--u-ink)}
.app-main .boss-brief .dots .dot-s.active{background:var(--u-ink);animation:none;outline:2px solid var(--sig);outline-offset:1px}
.app-main .boss-brief .dots .dot-s.gate.active{background:var(--sig);outline-color:var(--u-ink)}
.app-main .boss-brief b[style*="color"]{color:var(--u-ink)!important;font-family:var(--din),var(--u-font)}
.app-main .bb-dec{border-radius:2px;background:var(--u-fill)}
.app-main .bb-dec em{color:var(--u-ink);font-family:var(--din),var(--u-font)}
.app-main .bb-res>div{border-radius:2px}
.app-main .bb-res>div:hover{background:var(--u-fill)}
.app-main .bb-res b{color:var(--u-ink)!important;font-family:var(--din),var(--u-font)}
.app-main .bb-res i{color:var(--u-ink-3)!important}
.app-main .bb-acc{border-radius:2px;background:var(--u-fill);color:var(--u-ink-2)}
.app-main .iso-lane .mesi-no{font-family:var(--din),var(--u-font);color:var(--u-ink)}
/* AI 模型页 */
.app-main .md-stats .stat .l{font-family:var(--din),var(--u-font);font-size:11px;letter-spacing:.08em;color:var(--u-ink-3);display:flex;align-items:center;gap:6px}
.app-main .md-stats .stat .v{font-family:var(--din),var(--u-font);font-size:34px;font-weight:600;color:var(--u-ink)}
.app-main .md-stats .stat .v.md-v-txt{font-size:20px}
.app-main .md-led{width:7px;height:7px;background:var(--u-ink-4);display:inline-block}
.app-main .md-led.on{background:var(--sig);outline:1px solid var(--u-ink)}
.app-main .page .preset{border-radius:var(--u-r-s);background:#fff;box-shadow:none;transform:none}
.app-main .page .preset:hover{border-color:var(--u-ink);box-shadow:none;transform:none}
.app-main .page .preset.on,.app-main .page .preset.active{border-color:var(--u-ink);box-shadow:inset 3px 0 0 var(--sig)}
.app-main .page .role-card{border-radius:var(--u-r-s);box-shadow:none}
.app-main .page .role-ic{border-radius:2px;background:var(--u-fill)!important;color:var(--u-ink)!important;width:32px;height:32px}
.app-main .page .chain>span{border-radius:2px;background:#fff}
.app-main .page .chain>span small{color:var(--u-ink-3);font-family:var(--mono),monospace}
/* —— v6：商机操作、内容回填、投入产出假设 —— */
.app-main .page .lead{align-items:flex-start}
.app-main .page .lead-acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:210px;flex-shrink:0}
.app-main .page .lead-won{font-family:var(--din),var(--u-font);font-weight:600;font-size:13px;padding:4px 8px;background:var(--sig);color:var(--sig-ink);border-radius:2px}
.app-main .page .ct-num{width:84px;height:28px;padding:0 8px;border:1px solid var(--u-line-2);border-radius:var(--u-r-s);font-family:var(--din),var(--u-font);font-size:13px;background:#fff}
.app-main .page .as-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin-top:12px}
.app-main .page .as-f{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--u-ink-3)}
.app-main .page .as-in{display:flex;align-items:center;gap:8px}
.app-main .page .as-in input{width:110px;height:34px;padding:0 10px;border:1px solid var(--u-line-2);border-radius:var(--u-r-s);font-family:var(--din),var(--u-font);font-size:15px;color:var(--u-ink);background:#fff}
.app-main .page .as-in em{font-style:normal;color:var(--u-ink-3)}
@media (max-width:900px){.app-main .page .as-grid{grid-template-columns:1fr}.app-main .page .lead{flex-wrap:wrap}.app-main .page .lead-acts{max-width:none;justify-content:flex-start}}
.app-main .page .radar-big .blip{border-radius:0;box-shadow:none!important;outline:1px solid var(--u-ink);width:9px;height:9px;animation:none}
.app-main .page .st-dot{border-radius:0}
/* —— 账号：登录框、顶栏入口 —— */
.ac-dialog{width:400px;border-radius:var(--u-r-s)}
.ac-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--u-s5)}
.ac-hd .mesi-wm{font-size:18px;color:var(--u-ink)}
.ac-f{display:flex;flex-direction:column;gap:6px;margin-top:var(--u-s3);font-size:12px;color:var(--u-ink-3)}
.ac-f .u-input{width:100%;height:38px}
.ac-err{min-height:18px;margin-top:var(--u-s3);font-size:12px;color:var(--u-red)}
.ac-dialog .acts{margin-top:var(--u-s3)}
.ac-sw{margin-top:var(--u-s4);padding-top:var(--u-s4);border-top:1px solid var(--u-line);font-size:12px;color:var(--u-ink-3)}
.ac-sw a{margin-left:6px;color:var(--u-ink);text-decoration:underline;text-underline-offset:3px}
.ac-btn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border:1px solid var(--u-line-2);border-radius:var(--u-r-s);background:#fff;color:var(--u-ink);font:inherit;font-size:13px;cursor:pointer;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-btn:hover{border-color:var(--u-ink)}
.ac-user{position:relative}
.ac-dot{width:7px;height:7px;flex-shrink:0;background:var(--u-ink-4)}
.ac-dot.idle{background:var(--u-ink)}
.ac-dot.dirty,.ac-dot.saving{background:var(--sig);outline:1px solid var(--u-ink)}
.ac-dot.error,.ac-dot.conflict,.ac-dot.big{background:var(--u-red)}
.ac-menu{position:absolute;right:0;top:38px;z-index:60;width:240px;padding:12px;border:1px solid var(--u-ink);border-radius:var(--u-r-s);background:#fff;color:var(--u-ink);font-size:12px}
.ac-menu[hidden]{display:none}
.ac-mail{font-weight:600;word-break:break-all}
.ac-sync{margin-top:4px;color:var(--u-ink-3)}
.ac-warn{margin-top:6px;color:var(--u-red)}
.ac-menu button{margin-top:10px;width:100%;height:30px;border:1px solid var(--u-line-2);border-radius:var(--u-r-s);background:#fff;font:inherit;font-size:12px;cursor:pointer}
.ac-menu button:hover{border-color:var(--u-ink)}
.hm #home-ac{margin-left:10px}
.hm .ac-btn{background:transparent;border-color:rgba(255,255,255,.28);color:#fff}
.hm .ac-btn:hover{border-color:var(--sig)}
.hm .ac-dot.idle{background:#fff}
/* —— v8：首页 = 公司全景 —— */
.hp-stage{position:relative;height:clamp(400px,56vh,620px);border-bottom:1px solid var(--u-line);background:var(--u-surface);overflow:hidden}
.hp-stage .iso-wrap{position:absolute;inset:0;background:var(--u-surface)}
.hp .ws-in{padding-top:var(--u-s6)}
.hp-top{position:absolute;left:16px;top:14px;right:380px;z-index:6;display:flex;align-items:center;gap:12px;pointer-events:none}
.hp-top>*{pointer-events:auto}
.hp-tg{flex-shrink:0;background:#fff}
.hp-tg-row{display:flex;justify-content:flex-end;margin-bottom:var(--u-s4)}
.hp-stage .iso-lane{position:static;transform:none;max-width:none;display:flex;align-items:center;gap:3px;padding:0;background:none;border:0;box-shadow:none;font-size:11.5px;overflow:hidden}
.hp-stage .iso-lane .mesi-no{margin-right:6px;font-family:var(--din),var(--u-font);font-size:13px;color:var(--u-ink)}
.hp-stage .iso-lane .ln{display:inline-block;padding:3px 7px;border-radius:2px;background:var(--u-fill);color:var(--u-ink-4);border:1px solid transparent;white-space:nowrap;animation:none}
.hp-stage .iso-lane .ln.done{background:#fff;color:var(--u-ink-2);border-color:var(--u-line)}
.hp-stage .iso-lane .ln.active{background:var(--u-ink);color:#fff;border-color:var(--u-ink)}
.hp-stage .iso-lane .ln.gate.active{background:var(--sig);color:var(--sig-ink);border-color:var(--u-ink)}
.hp-stage .iso-lane .ln.skip{opacity:.45;text-decoration:line-through}
.hp-stage .iso-lane .ln-hint{color:var(--u-ink-3);font-size:12.5px}
.hp-stage .iso-hud{left:16px;top:auto;bottom:14px;gap:6px}
.hp-stage .iso-hud .u-btn{background:#fff}
/* 今日简报：浮在全景右上角 */
.hp-brief{position:absolute;right:16px;top:14px;z-index:6;width:340px;max-height:calc(100% - 28px);overflow:auto}
.hp-brief:empty{display:none}
.hp-brief .mb{margin:0;padding:16px 18px;background:#fff;border:1px solid var(--u-ink);border-radius:var(--u-r-s)}
.hp-brief .mb h1{margin:8px 0;font-size:18px;line-height:1.45}
.hp-brief .mb p{font-size:12.5px;line-height:1.7}
.hp-brief .mb .acts{margin-top:14px;flex-wrap:wrap;gap:8px}
.hp-brief .mb .acts .u-btn{height:32px;padding:0 12px}
/* 部门标签与成果卡：按缩放反向放大，保证看得清 */
.hp-stage .zone-label{transform:translate(-50%,-100%) scale(var(--inv,1));transform-origin:50% 100%;z-index:2500}
.hp-stage .zone-label .zl{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:2px;border:1px solid var(--u-line-2);background:#fff;color:var(--u-ink-3);font-size:12px;font-weight:600;box-shadow:none}
.hp-stage .zone-label .zl.on{border-color:var(--u-ink);color:var(--u-ink)}
.hp-stage .zone-label .zl.sp{border-color:var(--u-ink);background:var(--u-ink);color:#fff}
.hp-stage .zone-label .zl.warn{border-color:var(--u-red);color:var(--u-red)}
.hp-stage .zone-label .zl em{font-style:normal;font-family:var(--din),var(--u-font);padding:0 5px;background:var(--sig);color:var(--sig-ink)}
.hp-stage .zone-label .zs{margin-top:3px;font-size:10.5px;color:var(--u-ink-3);background:rgba(246,245,242,.86);padding:0 4px}
.hp-stage .zone-label .zp{width:76px;height:3px;border-radius:0;background:var(--u-line);margin:3px auto 0}
.hp-stage .zone-label .zp i{background:var(--u-ink)}
.hp-stage .zone-card{transform:translate(0,-100%) scale(var(--inv,1));transform-origin:0 100%;width:132px;border:1px solid var(--u-ink);border-radius:var(--u-r-s);box-shadow:none;transition:none}
.hp-stage .zone-card:hover{transform:translate(0,-100%) scale(calc(var(--inv,1) * 1.5));z-index:4000}
.hp-stage .zone-card .zc-st{font-size:11px}
.hp-stage .zone-card .zc-st i{color:var(--u-ink)!important}
.hp-stage .zone-card .zc-pg em{background:var(--u-ink)}
.hp-stage .bubble{border-radius:2px;border:1px solid var(--u-ink);background:#fff;color:var(--u-ink);box-shadow:none;transform:translateX(-50%) scale(var(--inv,1));transform-origin:50% 100%}
.hp-stage .actor .hd{background:var(--u-ink-2)!important;border-color:#fff!important;box-shadow:none!important}
.hp-stage .actor .tor{background:var(--u-ink-3)!important}
.hp-stage .actor.bot .hd{border-radius:2px;background:var(--u-ink)!important;border:0!important;box-shadow:none!important;color:#fff}
.hp-stage .actor.bot.busy .hd{background:var(--sig)!important;color:var(--sig-ink)!important;outline:1px solid var(--u-ink)}
.hp-stage .actor.bot .body{animation:none}
.hp-stage .actor.boss .hd{background:var(--u-ink)!important;box-shadow:none!important}
.hp-stage .actor.boss .crown{display:none}
.hp-stage .brain-orb{background:var(--sig)!important;color:var(--sig-ink)!important;box-shadow:none!important;border-radius:2px;outline:1px solid var(--u-ink)}
.hp-stage .packet{background:var(--u-ink)!important;box-shadow:none!important;border-radius:0}
.hp-stage .packet span{border-radius:2px;border:1px solid var(--u-ink)!important;background:#fff;color:var(--u-ink)!important;transform:scale(var(--inv,1))}
@media (max-width:1180px){.hp-brief{width:290px}.hp-top{right:320px}}
.hp-stage .bubble,.hp-stage .bubble.ai,.hp-stage .bubble.warn{background:var(--u-ink)!important;color:#fff!important;border-color:var(--u-ink);animation-name:none;opacity:1}
.hp-stage .bubble:after{display:none}
.hp-stage .bubble.warn{background:var(--sig)!important;color:var(--sig-ink)!important}
.hp-stage .brain-orb{animation:none}
/* 首页全景模式下的内容顺序：输入框 → 示例 → 提示 → 待我处理 → 读数 → 指令列表 */
.hp .ws-in{display:flex;flex-direction:column}
.hp .ws-in>.ws-compose{order:1}
.hp .ws-in>.ws-quick{order:2}
.hp .ws-in>#ws-attn{order:3}
.hp .ws-in>.ws-todo{order:4}
.hp .ws-in>.ws-kpi{order:5;margin-top:var(--u-s6)}
.hp .ws-in>#cc-body{order:6}
.hp-stage .iso-hud .u-btn.icon{width:30px;border:1px solid var(--u-line-2)}
.hp-top{right:auto;max-width:calc(100% - 400px)}
/* 首页全景：空闲部门只留名字；有活的部门加框加粗 */
.hp-stage .zone-label .zl.sp{background:#fff;color:var(--u-ink-3);border-color:var(--u-line-2)}
.hp-stage .zone-label .zl.sp.on{background:var(--u-ink);color:#fff;border-color:var(--u-ink)}
.hp-stage .zone-label .zl.idle{border-color:transparent;background:transparent;font-weight:500}
.hp-stage .zone-label .zs.on{color:var(--u-ink);font-weight:600}
.hp-stage .bubble{font-size:10.5px;padding:2px 6px;transform:translateX(-50%) scale(min(var(--inv,1),1.5))}

/* v12 分流：下达方式 + 小事提示 */
.ws-compose .ws-mode{flex:none}
.ws-compose .ws-mode button{height:24px;font-size:12px}
.cmd-quick{display:flex;align-items:center;gap:var(--u-s3);margin:var(--u-s2) 0;padding:8px 10px;border-left:2px solid var(--sig);background:var(--u-fill);font-size:12px;color:var(--u-ink-2)}
.cmd-quick span{flex:1}
@media (max-width:720px){.ws-compose .ws-bar{flex-wrap:wrap}.ws-compose .ws-mode{order:-1;width:100%}.ws-compose .ws-mode button{flex:1}}

/* v13 成品交付 */
.u-modal .sec.mk .mk-row{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:var(--u-s5);align-items:start}
.u-modal .sec.mk .mk-cv{width:100%;height:auto;aspect-ratio:3/4;border:1px solid var(--u-line);border-radius:var(--u-r-s);background:#0a0a0a;display:block}
.u-modal .sec.mk .mk-vid{width:100%;max-height:480px;border-radius:var(--u-r-s);background:#000}
.u-modal .sec.mk dl{display:grid;gap:var(--u-s2);margin:0 0 var(--u-s3)}
.u-modal .sec.mk dt{font-size:12px;color:var(--u-ink-3)}
.u-modal .sec.mk dd{margin:0;font-weight:500}
.u-modal .sec.mk .mk-post{font-size:13px;color:var(--u-ink-2);line-height:1.6}
.u-modal .sec.mk .mk-post b{display:block;font-size:12px;color:var(--u-ink-3);font-weight:400}
.u-modal .sec.mk .mk-acts{display:flex;flex-wrap:wrap;gap:var(--u-s2);margin-top:var(--u-s3)}
.u-modal .sec.mk .mk-site{border:1px solid var(--u-line);border-radius:var(--u-r-s);overflow:hidden;height:420px;background:#fff}
.u-modal .sec.mk .mk-site iframe{width:100%;height:100%;border:0}
.u-modal .sec.mk .mk-code{white-space:pre-wrap;word-break:break-all;font-family:var(--mono);font-size:12px;padding:var(--u-s3);background:var(--u-fill);border-radius:var(--u-r-s)}
@media (max-width:720px){.u-modal .sec.mk .mk-row{grid-template-columns:1fr}.u-modal .sec.mk .mk-site{height:320px}}

/* v14 真人员工可选 */
.wz-hd h1 small{margin-left:var(--u-s2);font-size:var(--u-fs-12);font-weight:500;color:var(--sig-text);border:1px solid currentColor;padding:1px 6px;border-radius:var(--u-r-s);vertical-align:middle}

/* v16 中途提问 */
.u-modal .sec.ask{border-left:2px solid var(--sig);padding-left:var(--u-s4);background:linear-gradient(90deg,rgba(215,242,74,.10),transparent 60%)}
.u-modal .sec.ask .ask-q{display:block;margin:0 0 var(--u-s3)}
.u-modal .sec.ask .ask-q b{display:block;font-weight:500;margin-bottom:6px}
.u-modal .sec.ask .ask-q .u-input{width:100%;height:34px;padding:0 12px}

/* v18 对话改成果 */
.u-modal .sec.rv .rv-chat{list-style:none;margin:0;padding:0;display:grid;gap:var(--u-s2)}
.u-modal .sec.rv .rv-m{display:grid;grid-template-columns:64px 1fr auto;gap:var(--u-s3);align-items:baseline;padding:8px 12px;border:1px solid var(--u-line);border-radius:var(--u-r-s);background:var(--u-surface);font-size:13px;line-height:1.6}
.u-modal .sec.rv .rv-m.me{border-left:2px solid var(--sig)}
.u-modal .sec.rv .rv-chat li::before{display:none}
.u-modal .sec.rv .rv-m b{font-weight:600;color:var(--u-ink)}
.u-modal .sec.rv .rv-m span{color:var(--u-ink-2);word-break:break-word}
.u-modal .sec.rv .rv-m time{font-family:var(--din);font-size:12px;color:var(--u-ink-3)}
.u-modal .sec.rv .rv-v{font-family:var(--din);font-size:12px;color:var(--sig-text);margin-left:4px}
.u-modal .sec.rv .rv-wait{display:inline-flex;align-items:center;gap:8px}
.u-modal .sec.rv .rv-vs{margin-top:var(--u-s3)}
.u-modal .sec.rv .rv-vs summary{cursor:pointer;font-size:13px;font-weight:600}
.u-modal .sec.rv .rv-vs summary small{margin-left:8px;font-weight:400;color:var(--u-ink-3)}
.u-modal .sec.rv .rv-see{margin-top:var(--u-s3);padding:var(--u-s3) var(--u-s4);border:1px dashed var(--u-line-2);border-radius:var(--u-r-s)}
.u-modal .sec.rv .rv-see h5{display:flex;justify-content:space-between;margin:0 0 var(--u-s2);font-size:13px}
.u-modal .sec.rv .rv-see pre{margin:0;white-space:pre-wrap;font:inherit;font-size:13px}
.u-modal .rv-edit textarea{width:100%;padding:10px 12px;font-size:14px;line-height:1.7;color:var(--u-ink);resize:vertical}
.u-modal .rv-edit .mk-acts{margin-top:var(--u-s2);justify-content:flex-end}

/* v19 你想先做什么 */
.u-dialog.st{width:560px}
.st .st-opts{display:grid;grid-template-columns:1fr 1fr;gap:var(--u-s2)}
.st .st-opt{display:grid;gap:4px;text-align:left;padding:12px 14px;border:1px solid var(--u-line);border-radius:var(--u-r-s);background:var(--u-surface);cursor:pointer;font:inherit;color:var(--u-ink)}
.st .st-opt:hover{border-color:var(--u-line-2)}
.st .st-opt.on{border-color:var(--u-ink);box-shadow:inset 3px 0 0 var(--sig)}
.st .st-opt b{font-size:14px;font-weight:600}
.st .st-opt span{font-size:12px;line-height:1.5;color:var(--u-ink-3)}
.st .st-more{display:grid;gap:8px;margin-top:var(--u-s4)}
.st .st-more label{font-size:13px;font-weight:600}
.st .st-more label small{margin-left:6px;font-weight:400;color:var(--u-ink-3)}
.st .st-more .u-input{height:34px;padding:0 12px}
.st .st-chips{display:flex;flex-wrap:wrap;gap:6px}
.st .st-chips button{height:28px;padding:0 10px;border:1px solid var(--u-line);border-radius:var(--u-r-s);background:var(--u-surface);font:inherit;font-size:13px;color:var(--u-ink-2);cursor:pointer}
.st .st-chips button.on{border-color:var(--u-ink);color:var(--u-ink);box-shadow:inset 0 -2px 0 var(--sig)}
.st .acts .u-btn[disabled]{opacity:.45;cursor:not-allowed}
.wz-hd .st-hint{margin-top:var(--u-s3);padding:8px 12px;border-left:2px solid var(--sig);background:var(--u-fill);color:var(--u-ink-2);font-size:13px;max-width:720px}
.wz-hd .st-hint b{margin-right:8px;color:var(--u-ink)}
@media(max-width:620px){.st .st-opts{grid-template-columns:1fr}}

/* v20 AI 消耗与上限 */
.sp-chip{position:relative;display:inline-flex;align-items:baseline;gap:4px;height:28px;padding:0 10px;margin-right:var(--u-s2);border:1px solid var(--u-line);border-radius:var(--u-r-s);background:var(--u-surface);font:inherit;font-size:12px;color:var(--u-ink-3);cursor:pointer;overflow:hidden;line-height:26px}
.sp-chip b{font-family:var(--din);font-size:13px;font-weight:600;color:var(--u-ink)}
.sp-chip small{font-family:var(--din);font-size:12px}
.sp-chip i{position:absolute;left:0;bottom:0;height:2px;background:var(--sig)}
.sp-chip.warn{border-color:var(--u-amber)}.sp-chip.warn i{background:var(--u-amber)}
.sp-chip.bad{border-color:var(--u-red);color:var(--u-red)}.sp-chip.bad b{color:var(--u-red)}.sp-chip.bad i{background:var(--u-red);width:100%!important}
.sp-line{margin-left:8px;padding-left:8px;border-left:1px solid var(--u-line);color:var(--u-ink-3)}
.sp-line b{font-family:var(--din);color:var(--u-ink);font-weight:600}
.u-modal .ft .sp-note{font-size:13px;color:var(--u-red)}
.u-dialog.sp-dlg{width:480px}
.sp-dlg .f{display:grid;gap:6px;margin-top:var(--u-s3);font-size:13px;color:var(--u-ink-2)}
.sp-dlg .f .u-input{height:34px;padding:0 12px;font-family:var(--din)}
.sp-dlg .f small{color:var(--u-ink-3);font-size:12px}
.sp-dlg .sp-top{margin:0 0 var(--u-s2);font-size:13px}
.sp-dlg .sp-top b{font-family:var(--din)}

/* v17 资料库 / 资产库 */
.lib{display:grid;gap:var(--u-s5);max-width:1080px}
.lib .lib-tabs{justify-self:start}
.lib .lib-tabs button{height:30px;padding:0 14px;font-size:13px}
.lib .lib-tabs b{font-family:var(--din);font-weight:600;margin-left:4px}
.lib .lib-form{padding:var(--u-s5)}
.lib .lib-form h4{margin:0 0 var(--u-s3);font-size:15px}
.lib .lib-form .u-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--u-s3);margin-bottom:var(--u-s3)}
.lib .lib-form .f{display:grid;gap:6px;font-size:12px;color:var(--u-ink-3)}
.lib .lib-form .f.grow{flex:1;min-width:220px}
.lib .lib-form .f>span{display:flex;gap:8px;align-items:baseline}
.lib .lib-form select.u-input{height:34px;min-width:140px}
.lib .lib-form input.u-input{height:34px;padding:0 12px}
.lib .lib-form textarea.u-input{width:100%;padding:10px 12px;font-size:14px;line-height:1.6;color:var(--u-ink)}
.lib .lib-form .u-sp{flex:1}
.lib .lib-empty{padding:var(--u-s5);border:1px dashed var(--u-line-2);border-radius:var(--u-r-s);color:var(--u-ink-2)}
.lib .lib-empty p{margin:0 0 var(--u-s3)}
.lib .lib-grp h5{display:flex;align-items:baseline;gap:8px;margin:0 0 var(--u-s2);font-size:13px;font-weight:600;color:var(--u-ink)}
.lib .lib-grp h5 small{font-family:var(--din);color:var(--u-ink-3);font-weight:500}
.lib .lib-fact{border:1px solid var(--u-line);border-radius:var(--u-r-s);background:var(--u-surface);margin-bottom:var(--u-s2)}
.lib .lib-fact header{display:flex;align-items:center;gap:var(--u-s2);padding:10px 12px;border-bottom:1px solid var(--u-line)}
.lib .lib-fact header small{font-size:12px;color:var(--u-ink-3)}
.lib .lib-fact header .u-sp{flex:1}
.lib .lib-fact pre{margin:0;padding:10px 12px;white-space:pre-wrap;word-break:break-word;font:inherit;font-size:13px;line-height:1.65;color:var(--u-ink-2);max-height:220px;overflow:auto}
.lib .lib-search{display:flex;gap:var(--u-s3);align-items:center}
.lib .lib-search .u-input{flex:1;max-width:420px;height:34px;padding:0 12px}
.lib .lib-assets{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--u-s3)}
.lib .lib-asset{display:flex;flex-direction:column;border:1px solid var(--u-line);border-radius:var(--u-r-s);background:var(--u-surface);overflow:hidden}
.lib .lib-asset img,.lib .lib-asset .la-ph{width:100%;aspect-ratio:4/3;object-fit:cover;background:#0a0a0a;display:block}
.lib .lib-asset .la-ph{display:grid;place-items:center;background:var(--u-fill);color:var(--u-ink-3);font-family:var(--din);letter-spacing:.06em;font-size:13px}
.lib .lib-asset .la-bd{padding:10px 12px;display:grid;gap:4px;flex:1}
.lib .lib-asset .la-bd b{font-size:14px;font-weight:600;line-height:1.4}
.lib .lib-asset .la-bd small{font-size:12px;color:var(--u-ink-3)}
.lib .lib-asset footer{display:flex;gap:6px;padding:0 12px 12px}
.lib .lib-none,.lib .lib-cs{margin:0}
/* 智能体生成的文件（PPT / 文档）下载按钮 */
.ag-files{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.ag-files .u-btn{gap:6px}
