/* ============================================================
   SUPERNOVA · 超新星产品中心 — 方案D「超新星爆发」皮肤层
   施工图: public/_uipreview4b.html （2026-06-10 老板拍板）
   规则: 只动皮肤(色彩/圆角/阴影/渐变)，所有选择器与布局保持兼容，零逻辑。
   ============================================================ */
* { box-sizing: border-box; margin: 0; padding: 0; }
:root{
  --vi:#7C3AED; --vi2:#A855F7; --mg:#EC4899; --cy:#22D3EE;
  --ink:#10183A; --sub:#6B7AA8; --line:#F0EDFF;
  --bg:#F7F6FE; --card:#ffffff; --accent:#7C3AED; --accent2:#10b981;
  /* 业务语义色·单一来源（老板审计返工·色值统一）：ok=正/成/完成 warn=偏慢 bad=负/红线 info=蓝；+ 四阶段主流程色 */
  --ok:#0E9F6E; --warn:#D97706; --bad:#DC2626; --info:#0EA5E9;
  --stage-opp:#3b82f6; --stage-deal:#0ea5e9; --stage-ready:#14b8a6; --stage-online:#10b981;
}
body{ font-family:-apple-system,"PingFang SC","Microsoft YaHei",Segoe UI,Roboto,sans-serif; color:var(--ink); background:var(--bg); overflow-x:hidden; }
/* 极淡紫点阵底纹（上半部渐隐） */
body::before{ content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:radial-gradient(rgba(124,58,237,.07) 1.2px, transparent 1.2px); background-size:30px 30px;
  -webkit-mask-image:radial-gradient(80% 70% at 50% 26%, #000 25%, transparent 100%);
  mask-image:radial-gradient(80% 70% at 50% 26%, #000 25%, transparent 100%); }
.app{ display:flex; min-height:100vh; position:relative; z-index:1; }
.hidden{ display:none !important; }

/* sidebar —— 白卡悬浮舱 */
.side{ width:224px; flex:0 0 224px; margin:16px 0 16px 16px; border-radius:26px;
  background:#fff; border:1px solid var(--line); box-shadow:0 16px 44px rgba(124,58,237,.10);
  color:#5b6b9d; display:flex; flex-direction:column; position:sticky; top:16px; height:calc(100vh - 32px); }
.brand{ display:flex; align-items:center; gap:10px; padding:18px 16px 14px; }
.logo{ width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--vi),var(--mg));display:grid;place-items:center;color:#fff;font-weight:900;font-size:15px;box-shadow:0 8px 20px rgba(124,58,237,.35); }
.brand-txt b{ display:block;color:var(--ink);font-size:14.5px;letter-spacing:.3px; }
.brand-txt span{ font-size:9px;color:#a39fd6;letter-spacing:2.4px;font-weight:700; }
.nav{ padding:4px 12px; flex:1; overflow:auto; }
.nav-group{ font-size:10.5px;color:#6A6499;padding:13px 8px 6px;letter-spacing:1.5px; }
.nav-item{ display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:15px;color:#5b6b9d;font-size:13.5px;cursor:pointer;margin-bottom:3px;transition:.15s;position:relative; }
.nav-item i{ font-style:normal;font-size:15px; }
.nav-item:hover{ background:#FAF8FF;color:var(--vi); }
.nav-item.active{ background:#F3EDFF;color:var(--vi);font-weight:800; }
.nav-item.active::before{ content:"";position:absolute;left:-12px;top:10px;bottom:10px;width:4px;border-radius:4px;background:linear-gradient(var(--vi),var(--mg)); }
.nav-item.soon{ color:#b9b3dd;cursor:default; }
.nav-item.soon:hover{ background:none;color:#b9b3dd; }
.soon-tag{ margin-left:auto;font-size:10px;background:#F3F1FA;color:#a39fd6;padding:1px 7px;border-radius:20px; }
.side-foot{ padding:13px 16px;font-size:10px;color:#6A6499;border-top:1px dashed var(--line);line-height:1.8; }
/* part四：目标与考核中心 四栏布局（左OKR/中KPI/右工资·窄屏堆叠） */
.kpi-grid{ display:grid; grid-template-columns:1.1fr 1.25fr 0.85fr; gap:12px; align-items:start; margin-bottom:12px; }
.kpi-grid > *{ min-width:0; }
@media(max-width:1100px){ .kpi-grid{ grid-template-columns:1fr; } }

/* main / 顶栏 */
.main{ flex:1; min-width:0; }
.top{ display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:16px 26px;background:rgba(247,246,254,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5; }
.top-l h1{ font-size:20px;display:inline-block;font-weight:800;color:var(--ink); }
.crumb{ margin-left:12px;color:var(--sub);font-size:12px; }
.top-r{ display:flex;align-items:center;gap:12px; }
.badge{ font-size:12px;padding:5px 12px;border-radius:20px;font-weight:600;background:#fff;border:1px solid var(--line);box-shadow:0 4px 14px rgba(124,58,237,.05); }
.badge-live{ color:#0a8a4f; }
.badge-snap{ color:#b9740a; }
.today{ color:var(--sub);font-size:13px;white-space:nowrap; }
.view{ padding:22px 26px 46px; }

/* ===== HERO · 超新星爆发品牌区（仅驾驶舱） ===== */
.hero{ position:relative; margin:74px 0 20px; border-radius:30px; padding:34px 38px 30px; overflow:visible; color:#fff;
  background:linear-gradient(118deg,#3B1D8F 0%,#6D28D9 48%,#A21CAF 100%);
  box-shadow:0 26px 60px rgba(109,40,217,.35); }
.hero::before{ content:""; position:absolute; inset:0; border-radius:30px; overflow:hidden; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.22) 1px, transparent 1px); background-size:34px 34px; opacity:.45; }
.hero-l{ max-width:56%; position:relative; z-index:2; }
.hero .en{ font-size:clamp(36px,4.2vw,52px); font-weight:900; letter-spacing:3px; line-height:1.02; color:#fff; text-shadow:0 6px 30px rgba(60,10,120,.45); }
.hero .en i{ font-style:normal; background:linear-gradient(95deg,#67E8F9,#22D3EE); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero .cn{ font-size:18px; font-weight:800; letter-spacing:7px; margin-top:8px; color:rgba(255,255,255,.95); }
.hero .tagl{ margin-top:9px; font-size:13px; color:rgba(255,255,255,.72); }
.hero .tagl b{ color:#67E8F9; }
.hbtns{ margin-top:19px; display:flex; gap:12px; flex-wrap:wrap; }
.pbtn{ border:none; cursor:pointer; border-radius:999px; padding:12px 28px; font-size:14px; font-weight:900; letter-spacing:1px;
  background:linear-gradient(95deg,#22D3EE,#0EA5E9); color:#06283a; box-shadow:0 12px 30px rgba(34,211,238,.4); transition:.15s; }
.pbtn:hover{ filter:brightness(1.06); transform:translateY(-1px); }
.pbtn.gh{ background:rgba(255,255,255,.13); color:#fff; border:1.5px solid rgba(255,255,255,.45); backdrop-filter:blur(6px); box-shadow:none; }
.nova{ position:absolute; right:-20px; top:-90px; width:380px; height:380px; pointer-events:none; z-index:1; }
.stick{ position:absolute; background:#fff; border-radius:14px; box-shadow:0 12px 28px rgba(40,18,90,.2); padding:8px 14px; font-size:11px; color:#4a3f8f; font-weight:700; z-index:3; }
.stick b{ display:block; font-size:15px; color:var(--mg); }
.stick.b1 b{ color:var(--vi); }
.stick.st1{ right:362px; top:-38px; transform:rotate(-6deg); }
.stick.st2{ right:14px; top:auto; bottom:-16px; transform:rotate(5deg); }
@media(max-width:1100px){ .nova,.stick{ display:none; } .hero{ margin-top:18px; } .hero-l{ max-width:100%; } }
/* 必填缺失红框（提交闸标记） */
.req-miss{ border-color:#ef4444 !important; box-shadow:0 0 0 3px rgba(239,68,68,.14) !important; }
/* 工作区页签 */
.wstabs{ display:flex; gap:6px; margin:2px 0 14px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:5px; width:fit-content; box-shadow:0 6px 18px rgba(124,58,237,.07); }
.wstabs span{ padding:8px 20px; border-radius:999px; font-size:13.5px; font-weight:700; color:#5b6b9d; cursor:pointer; transition:.15s; }
.wstabs span:hover{ color:var(--vi); }
.wstabs span.on{ background:linear-gradient(95deg,var(--vi),var(--vi2)); color:#fff; box-shadow:0 6px 16px rgba(124,58,237,.3); }
/* 交付包2.0 交付项展开卡 */
.dlvx{ border:1px solid var(--line); border-radius:11px; padding:6px 10px; margin:5px 0; background:#FBFAFF; }
.dlvx summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:#3c4677; }
.dlvx summary::-webkit-details-marker{ display:none; }
.dlvx[open]{ background:#fff; }
/* 机会池折叠高亮条 */
.ofhl{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:9px; padding:9px 12px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 4px 14px rgba(124,58,237,.06); }
/* 机会池行内折叠详情 */
.oppfold{ background:#FBFAFF; border:1px solid var(--line); border-radius:0 0 16px 16px; padding:12px 16px; margin:-12px 0 10px; box-shadow:0 6px 18px rgba(124,58,237,.05); }
.ofsec{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:10px 14px 12px; margin-bottom:9px; }
.ofsec > b{ font-size:13px; color:var(--ink); }
.ofkv{ display:flex; gap:8px; margin:3px 0; font-size:12.5px; line-height:1.65; }
.ofkv > span{ flex:0 0 86px; color:#a39fd6; }
.ofkv > div{ flex:1; color:#3c4677; }
.ofimgs{ display:flex; gap:8px; flex-wrap:wrap; }
.ofimg{ cursor:zoom-in; text-align:center; }
.ofimg img{ width:86px; height:86px; object-fit:contain; border-radius:12px; border:1px solid var(--line); background:#FAF8FF; transition:.12s; }
.ofimg:hover img{ box-shadow:0 6px 18px rgba(124,58,237,.22); transform:translateY(-1px); }
.ofimg span{ display:block; font-size:10px; color:#6B7AA8; margin-top:2px; max-width:86px; }
.ofvs{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:7px; }
.ofvs > div{ background:#FBFAFF; border:1px solid var(--line); border-radius:11px; padding:8px 11px; }
.ofvs i{ font-style:normal; font-size:11.5px; font-weight:800; color:var(--vi); display:block; margin-bottom:4px; }
.ofvs > div:last-child i{ color:var(--mg); }
@media(max-width:900px){ .ofvs{ grid-template-columns:1fr; } }
.imgzoom{ position:fixed; inset:0; background:rgba(16,10,40,.82); z-index:80; display:none; align-items:center; justify-content:center; cursor:zoom-out; }
.imgzoom img{ max-width:92vw; max-height:92vh; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
/* 经营细察 · 战况卡下的细指标条（与战况卡同语言的白卡+小指标格） */
.gauge-strip{ flex-basis:100%; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:0 12px 30px rgba(124,58,237,.08); padding:13px 18px 15px; }
.gauge-head{ font-size:13px; font-weight:800; color:var(--ink); margin-bottom:9px; display:flex; align-items:baseline; gap:8px; }
.gauge-head span{ font-size:11px; color:var(--sub); font-weight:400; }
.gauge-row{ display:flex; gap:9px; flex-wrap:wrap; }
.gauge{ flex:1 1 96px; min-width:92px; text-align:center; padding:9px 6px 8px; border-radius:14px; background:#FAF8FF; border:1.5px solid var(--line); cursor:pointer; transition:.12s; }
.gauge:hover{ transform:translateY(-1px); box-shadow:0 6px 16px rgba(124,58,237,.14); }
.gauge .gv{ font-size:16px; font-weight:900; line-height:1.15; color:var(--vi); white-space:nowrap; }
.gauge .gk{ font-size:11px; color:#4a3f8f; margin-top:3px; font-weight:600; }
.gauge.ok{ background:#F4FBF7; border-color:#CDEEDC; } .gauge.ok .gv{ color:#0E9F6E; }
.gauge.warn{ background:#FEF4F4; border-color:#FBD5D5; } .gauge.warn .gv{ color:#DC2626; }
.gauge.dim{ background:#FBFAFF; } .gauge.dim .gv{ color:#b9b3dd; font-size:12.5px; font-weight:700; padding:2px 0 1px; } .gauge.dim .gk{ color:#a39fd6; }
/* 模块铭牌（序号徽章 + 英文小标） */
.sect-no{ width:24px;height:24px;border-radius:9px;background:linear-gradient(135deg,var(--vi),var(--mg));color:#fff;font-size:13px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px; }
.sect-en{ font-style:normal;font-size:9.5px;letter-spacing:3px;color:#a39fd6;font-weight:700; }

/* cards —— 白卡 */
.cards{ display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px; }
.card{ flex:1 1 200px; background:var(--card);border-radius:22px;padding:18px 18px 15px;border:1px solid var(--line);box-shadow:0 12px 30px rgba(124,58,237,.08);position:relative; }
.card .v{ font-size:27px;font-weight:900;line-height:1.05; }
.card .k{ font-size:13px;color:var(--ink);font-weight:700;margin-top:7px; }
.card .dot{ position:absolute;right:16px;top:16px;width:9px;height:9px;border-radius:50%;background:var(--cc); }

/* panels */
.grid-2{ display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px; }
.panel{ background:var(--card);border-radius:22px;padding:16px 20px;border:1px solid var(--line);box-shadow:0 12px 30px rgba(124,58,237,.08);margin-bottom:16px; }
.panel-h{ font-size:16.5px;font-weight:800;margin-bottom:14px;display:flex;align-items:center;gap:9px;color:var(--ink); }
.panel-h span{ font-size:12px;color:var(--sub);font-weight:400; }

/* ===== 皮肤覆盖层：app.js 内联旧蓝色 → 超新星紫（纯CSS覆盖，零逻辑） ===== */
.card[style*="2f6fed"]{ --cc:var(--vi) !important; }
#war .v[style*="2f6fed"]{ color:var(--vi) !important; }
#brainband div[style*="1d4ed8"]{ color:var(--vi) !important; }
/* 终审补盖：机会发现台筛选片/面板强调条/展开链接（全文件仅这些点用旧蓝，已逐点核实无误伤） */
.cm-lg[style*="2f6fed"]{ background:var(--vi) !important; }
.panel[style*="2f6fed"]{ border-left-color:var(--vi) !important; }
a[style*="2f6fed"]{ color:var(--vi) !important; }
/* 浅蓝信息提示框家族 → 淡紫（驾驶舱在路上chips/标题解析/品牌AI结论/放量判据卡） */
div[style*="#eff6ff"],span[style*="#eff6ff"]{ background:#F5F3FF !important; border-color:#DDD6FE !important; color:#5B21B6 !important; }
b[style*="#1e3a8a"]{ color:var(--vi) !important; }
/* 大脑经验chip/大脑页数字/页首介绍框 */
.chip[style*="1d4ed8"]{ background:var(--vi) !important; }
#view-brain div[style*="1d4ed8"]{ color:var(--vi) !important; }
.hint[style*="eef4ff"]{ background:#F5F3FF !important; border-color:#DDD6FE !important; color:#4C1D95 !important; }
/* 投产测算模式字/证据块左边条/设置页模型名与用量条 */
#oc-model{ color:var(--vi) !important; }
.score-ev[style*="2f6fed"]{ border-left-color:var(--vi) !important; }
.bar-fill[style*="2f6fed"]{ background:var(--vi) !important; }
#view-config b[style*="2f6fed"]{ color:var(--vi) !important; }
/* 漏斗格子 → 淡紫白卡 + 英文铭牌 + 阶段配色 */
#funnel>div>div[onclick^="drillFlow"]{ background:#FAF8FF !important; border:1.5px solid var(--line) !important; border-radius:17px !important; transition:.12s; }
#funnel>div>div[onclick^="drillFlow"]:hover{ box-shadow:0 6px 18px rgba(124,58,237,.14); }
#funnel>div>div[onclick*="'hot'"]{ background:linear-gradient(160deg,#FDF2F8,#fff) !important; border-color:#FBCFE8 !important; }
#funnel div[style*="#3b82f6"]{ color:var(--vi) !important; }
#funnel div[style*="#0ea5e9"]{ color:var(--vi2) !important; }
#funnel div[style*="#14b8a6"]{ color:#8B5CF6 !important; }
#funnel div[style*="#0a8a4f"]{ color:var(--mg) !important; }
#funnel>div>div[onclick*="'opp'"]::after{ content:"SCOUT"; }
#funnel>div>div[onclick*="'dealing'"]::after{ content:"GREENLIT"; }
#funnel>div>div[onclick*="'ready'"]::after{ content:"READY"; }
#funnel>div>div[onclick*="'online'"]::after{ content:"LIVE"; }
#funnel>div>div[onclick*="'hot'"]::after{ content:"SUPERNOVA★"; color:#f0a3cd !important; }
#funnel>div>div[onclick^="drillFlow"]::after{ display:block; font-size:8.5px; color:#c0bbe2; letter-spacing:1.8px; font-weight:700; margin-top:2px; }

/* bars */
.bars{ display:flex;flex-direction:column;gap:10px; }
.bar-row{ display:flex;align-items:center;gap:10px;font-size:13px; }
.bar-lbl{ width:74px;flex:0 0 74px;color:var(--sub); }
.bar-track{ flex:1;background:#F3EDFF;border-radius:6px;height:14px;overflow:hidden; }
.bar-fill{ height:100%;border-radius:6px; }
.bar-val{ width:26px;text-align:right;font-weight:700;color:#4a3f8f; }

/* watch + table */
.watch{ display:flex;flex-direction:column;gap:10px; }
.watch-row{ display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;flex-wrap:wrap;overflow-wrap:anywhere; }
.watch-row .nm{ font-weight:700;font-size:15px; }
.watch-row .ft{ color:var(--sub);font-size:13px;flex:1 1 auto;min-width:0; }
/* 窄屏：行内按钮整列回流到下一行，内容不再被挤垮（与 .todo 同款修复）*/
@media(max-width:760px){ .watch-row{ align-items:flex-start; } .watch-row>button,.watch-row>a.btn{ flex:1 1 auto; } }
.table-wrap{ overflow:auto; }
.tbl{ width:100%;border-collapse:collapse;font-size:13.5px; }
.tbl th{ text-align:left;color:var(--sub);font-weight:600;padding:10px 12px;border-bottom:2px solid var(--line);white-space:nowrap; }
.tbl td{ padding:11px 12px;border-bottom:1px solid var(--line); }
.tbl tbody tr{ cursor:pointer;transition:.12s; }
.tbl tbody tr:hover{ background:#FAF8FF; }

/* chips — 统一标签组件（渠道/状态/风险）：内容自适应宽度，禁止被 .tm span{display:block} 等规则拉满整行，可横向排列+超出换行 */
.chip{ display:inline-flex!important;align-items:center;width:fit-content;max-width:100%;align-self:flex-start;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;vertical-align:middle;box-sizing:border-box;line-height:1.5; }
/* 高亮条/标签条内的内联 span 也按统一规则：不拉伸、不换行 */
.ofhl > span{ display:inline-flex;align-items:center;width:fit-content;max-width:100%;white-space:nowrap;box-sizing:border-box; }
/* 统一流程步骤条（五步链：定义书→评分→品牌∥渠道→立项会）——三态清晰、宽度自适应、窄屏稳定 */
.stepbar{ display:flex;flex-wrap:wrap;align-items:stretch;gap:5px;width:100%; }
.stepseg{ display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;color:#6B5FA6;border-radius:12px;padding:8px 13px;font-size:13px;font-weight:700;cursor:pointer;transition:.15s;flex:1 1 auto;justify-content:center;min-width:104px; }
.stepseg .sx{ display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:#EFE9FF;color:#7C3AED;font-size:11.5px;font-weight:800;flex:0 0 auto; }
.stepseg:hover{ border-color:#D8C8FF;box-shadow:0 4px 12px rgba(124,58,237,.13); }
.stepseg.done{ background:#ECFDF5;border-color:#A7F3D0;color:var(--ok); }
.stepseg.done .sx{ background:var(--ok);color:#fff; }
.stepseg.cur{ background:linear-gradient(95deg,#7C3AED 0%,#A855F7 60%,#EC4899 130%);border-color:transparent;color:#fff;box-shadow:0 7px 18px rgba(124,58,237,.34); }
.stepseg.cur .sx{ background:#fff;color:#7C3AED; }
.stepseg.todo{ background:#F8F7FC;color:#A8A3CC;border-style:dashed; }
.stepseg.todo .sx{ background:#E7E3F5;color:#A8A3CC; }
.stepcon{ display:inline-flex;align-items:center;color:#cdc7e6;font-size:13px;flex:0 0 auto;font-weight:600; }
.stepcon.par{ color:#a855f7; }
.stepbar-wrap{ flex:1 1 100%;width:100%;margin-top:3px; }
@media(max-width:760px){ .stepseg{ min-width:0;flex:1 1 27%;padding:7px 5px;font-size:12px;gap:4px; } .stepseg .sl{ white-space:nowrap; } .stepcon{ display:none; } }

/* 已上线池·产品基础信息卡（上线即固化·继承不重填） */
.rv-base{ display:flex;flex-wrap:wrap;gap:5px 14px;margin:5px 0 3px;padding:7px 11px;background:#FBFAFF;border:1px solid var(--line);border-radius:11px;align-items:center; }
.rv-base .rv-b{ display:inline-flex;align-items:baseline;gap:5px;font-size:12px;white-space:nowrap; }
.rv-base .rv-b .k{ color:#A3ABC9;font-size:10.5px; }
.rv-base .rv-b b{ color:#3c4677;font-weight:700; }
/* 权限受限占位（敏感数据脱敏·无权限时显示） */
.perm-lock{ display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:7px;background:#F1F0F7;color:#9A93B5;font-size:11.5px;font-weight:600;white-space:nowrap;border:1px dashed #D8D3E8; }

/* drawer */
.drawer{ position:fixed;inset:0;z-index:30; }
.drawer-mask{ position:absolute;inset:0;background:rgba(24,16,60,.45); }
.drawer-body{ position:absolute;right:0;top:0;bottom:0;width:520px;max-width:92vw;background:#fff;border-radius:26px 0 0 26px;box-shadow:-12px 0 40px rgba(60,20,140,.18);padding:22px 24px;overflow:auto;animation:slin .22s ease; }
@keyframes slin{ from{transform:translateX(40px);opacity:.5} to{transform:none;opacity:1} }
.drawer-h{ display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px; }
.drawer-h h2{ font-size:20px; }
.drawer-h span{ color:var(--sub);font-size:13px; }
.drawer-h > button{ border:none;background:#F3F1FA;width:32px;height:32px;border-radius:10px;cursor:pointer;font-size:15px;color:#6B7AA8;flex-shrink:0; }
.drawer-h > button:hover{ background:#E9E4FB;color:var(--vi); }
.chain{ position:relative;padding-left:24px; }
.chain::before{ content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--line); }
.cstep{ position:relative;margin-bottom:16px; }
.cstep::before{ content:"";position:absolute;left:-21px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--vi);box-shadow:0 0 0 3px #EFE9FF; }
.cstep .clabel{ font-size:12px;color:var(--sub);margin-bottom:6px; }
.citem{ border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin-bottom:8px; }
.citem .ct{ font-weight:700;display:flex;justify-content:space-between;gap:8px;align-items:center; }
.citem .cl{ color:#4a548a;font-size:13px;margin-top:5px;line-height:1.5; }
.empty{ color:#6A6499;font-size:13px;padding:8px 0; }
@media(max-width:1200px){ .grid-2{grid-template-columns:1fr} }
/* 手机 / 小屏：侧栏变顶部横向导航条，主区全宽 */
@media(max-width:768px){
  .app{ flex-direction:column; }
  .side{ width:100%;flex:0 0 auto;height:auto;margin:0;border-radius:0 0 20px 20px;position:sticky;top:0;z-index:20;flex-direction:column; }
  .brand{ padding:10px 14px 8px; }
  .nav{ display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:4px;padding:6px 8px; }
  .nav-group{ display:none; }
  .nav-item{ white-space:nowrap;margin-bottom:0;padding:8px 10px;font-size:13px; }
  .nav-item.active::before{ display:none; }
  .nav-item .num-badge{ margin-left:4px; }
  .side-foot{ display:none; }
  .cards{ gap:10px; }
  .card{ flex:1 1 44%; }
  .drawer-body{ width:100%;max-width:100%;padding:16px;border-radius:0; }
  .top{ padding:12px 14px;flex-wrap:wrap;gap:8px; }
  .top-l h1{ font-size:17px; }
  .view{ padding:14px 12px; }
  .hero{ margin-top:14px;padding:24px 20px; }
  .hero .cn{ letter-spacing:4px; }
  .dept-grid3,.dept-grid2{ grid-template-columns:1fr 1fr; }
  .ln-lane{ flex-direction:column;gap:6px; } .ln-lvl{ width:auto; }
  .jdg-r{ flex-wrap:wrap; }
}

/* identity switcher */
.who{ display:flex;align-items:center;gap:7px; }
.who-l{ font-size:12px;color:var(--sub);white-space:nowrap; }
#role-sel{ border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px 10px;font-size:13px;color:var(--ink);cursor:pointer;font-weight:600;box-shadow:0 4px 14px rgba(124,58,237,.05); }
.num-badge{ margin-left:auto;background:#FCE7F3;color:var(--mg);font-size:11px;min-width:18px;height:18px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;font-weight:800; }

/* buttons */
.btn{ border:1px solid #E5E0FA;background:#fff;color:#4a548a;padding:9px 16px;border-radius:12px;font-size:14px;cursor:pointer;font-weight:600;transition:.15s; }
.btn:hover{ background:#FAF8FF;border-color:#D8CDF8;color:var(--vi); }
.btn-primary{ background:linear-gradient(95deg,#7C3AED 0%,#A855F7 55%,#EC4899 120%);color:#fff;border:none;border-radius:999px;box-shadow:0 8px 22px rgba(124,58,237,.32); }
.btn-primary:hover{ filter:brightness(1.07);color:#fff;background-color:#6D28D9;background-image:linear-gradient(95deg,#7C3AED 0%,#A855F7 55%,#EC4899 120%); }   /* 修：原 .btn:hover 的浅色底(#FAF8FF)会盖掉主按钮渐变→悬停时白字落浅底=纯白看不见(老板反馈)·悬停保持深色渐变/兜底底 */
.btn-sm{ padding:6px 12px;font-size:13px; }
.btn-ghost{ background:#EDE6FE;border:1px solid #CBB8F5;color:#6D28D9; }   /* 修：原 #F3EDFF 无边框≈白色·在白卡上看不见(老板反馈)→加边框+加深底色/字色·让次级/保存按钮清晰可见 */
.btn-ghost:hover{ background:#E2D8FB;border-color:#A78BFA;color:#5B21B6; }

/* worktable */
.wt-head{ display:flex;justify-content:space-between;align-items:center;margin-bottom:18px; }
.wt-head h2{ font-size:20px; }
.wt-group{ margin-bottom:18px; }
.wt-glabel{ font-size:13px;color:var(--sub);font-weight:700;margin:0 2px 9px;display:flex;align-items:center;gap:8px; }
.wt-glabel .gc{ background:#EFE9FF;color:var(--vi);border-radius:20px;padding:1px 9px;font-size:12px; }
.todo{ background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;align-items:center;flex-wrap:wrap;gap:12px 14px;margin-bottom:10px;box-shadow:0 6px 18px rgba(124,58,237,.06); }
.todo .ti{ width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:18px;background:#F3EDFF; }
.todo .tm{ flex:1 1 260px;min-width:0;overflow-wrap:anywhere; }
/* 行卡片动作列：窄屏整列回流到下一行（不再挤垮内容列），回流后允许收缩+按钮换行（!important 压过内联 flex-shrink:0）*/
.todo>div:last-child{ flex-shrink:1!important;min-width:0;flex-wrap:wrap; }
.todo>div:last-child>div{ flex-wrap:wrap; }
@media(max-width:760px){ .todo{ align-items:flex-start; } .todo>div:last-child{ flex:1 1 100%!important;justify-content:flex-start!important; } }
.todo .tm b{ font-size:16px; }
.todo .tm span{ display:block;color:var(--sub);font-size:12.5px;margin-top:2px; }
.todo-empty{ text-align:center;color:#6A6499;padding:40px;background:#fff;border-radius:16px;border:1px dashed #D8CDF8; }

/* tiles */
.tiles{ display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.tile{ border:1px solid var(--line);border-radius:17px;padding:20px;cursor:pointer;transition:.15s;background:#fff; }
.tile:hover{ border-color:#D8C8FF;box-shadow:0 8px 24px rgba(124,58,237,.14);transform:translateY(-2px); }
.tile-dim{ cursor:default;opacity:.72; }
.tile-dim:hover{ border-color:var(--line);box-shadow:none;transform:none; }
.tile-i{ width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:22px;margin-bottom:12px; }
.tile b{ font-size:15px; }
.tile p{ color:var(--sub);font-size:12.5px;margin-top:6px;line-height:1.5; }

/* d-actions */
.d-actions{ display:flex;gap:9px;margin-bottom:16px;flex-wrap:wrap; }

/* form */
.form{ display:flex;flex-direction:column;gap:15px; }
.fld label{ display:block;font-size:13px;font-weight:600;color:#3c4677;margin-bottom:6px; }
.fld label .req{ color:#ef4444;margin-left:3px; }
.fld input[type=text],.fld input[type=number],.fld textarea,.fld select{ width:100%;border:1px solid #E5E0FA;border-radius:11px;padding:9px 11px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff; }
.fld textarea{ min-height:62px;resize:vertical; }
.fld input:focus,.fld textarea:focus,.fld select:focus{ outline:none;border-color:var(--vi);box-shadow:0 0 0 3px rgba(124,58,237,.13); }
.chk-row{ display:flex;flex-wrap:wrap;gap:8px; }
.chk{ border:1px solid #E5E0FA;border-radius:20px;padding:6px 13px;font-size:13px;cursor:pointer;user-select:none;color:#4a548a;background:#fff; }
.chk.on{ background:var(--vi);border-color:var(--vi);color:#fff; }
.scores{ display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.score-cell label{ font-size:12px; }
.score-total{ background:#F3EDFF;border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;font-weight:700; }
.score-total b{ font-size:22px;color:var(--vi); }
.hint{ font-size:12px;color:var(--sub);margin-top:4px; }
.form-foot{ display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line); }

/* toast */
.toast{ position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#211a4d;color:#fff;padding:13px 22px;border-radius:13px;font-size:14px;box-shadow:0 12px 32px rgba(30,12,80,.35);z-index:60;max-width:560px;line-height:1.5; }
.toast.ok{ background:#0a8a4f; } .toast.err{ background:#c0392b; } .toast.warn{ background:#b9740a; }
.fade-in{ animation:fadein .2s ease; } @keyframes fadein{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1}}

/* D1-D8 评分卡 */
.dim{ border:1px solid var(--line);border-radius:13px;padding:9px 12px;margin-bottom:8px;background:#fff; }
.dim-h{ display:flex;justify-content:space-between;align-items:center;gap:10px; }
.dim-h b{ font-size:13.5px; }
.dim-auto{ font-weight:800;color:var(--vi);font-size:16px; }
.dim-r{ font-size:11px;color:#6A6499;margin-top:5px;line-height:1.4; }
.seg{ display:flex;gap:4px; }
.seg span{ width:30px;height:30px;display:grid;place-items:center;border:1px solid #E5E0FA;border-radius:9px;cursor:pointer;font-weight:700;color:#6B7AA8;font-size:13px;transition:.1s;background:#fff; }
.seg span:hover{ border-color:var(--vi); }
.seg span.on{ background:var(--vi);border-color:var(--vi);color:#fff; }
.margin-box{ background:#F3EDFF;border-radius:11px;padding:9px 12px;font-size:13px;margin-bottom:6px; }
.margin-box b{ color:var(--vi); }
.score-result{ position:sticky;bottom:0;background:#fff;border-top:2px solid var(--line);padding:12px 0 2px;margin-top:6px; }
.sr-top{ display:flex;align-items:center;gap:8px; }
.sr-top b{ font-size:26px;color:var(--ink); }
.sr-of{ color:#a39fd6; }
.sr-concl{ margin-left:auto;color:#fff;padding:6px 16px;border-radius:20px;font-weight:700;font-size:15px; }
.sr-ko{ margin-top:8px;color:#c0392b;font-size:12.5px;font-weight:600; }

/* 渠道评审：有证据的判断题 */
.jdg{ border:1px solid var(--line);border-radius:13px;padding:9px 12px;margin-bottom:8px;background:#FBFAFF; }
.jdg-q{ font-size:13.5px;font-weight:600;color:#3c4677;margin-bottom:8px;line-height:1.4; }
.jdg-r{ display:flex;gap:10px;align-items:center; }
.seg3{ display:flex;gap:8px;flex-wrap:wrap;align-items:center; }
.seg3 span{ width:auto;padding:6px 14px;cursor:pointer;border:1px solid #E5E0FA;border-radius:10px;font-size:13px;background:#fff;color:#4a548a;user-select:none;transition:.12s;white-space:nowrap; }
.seg3 span:hover{ border-color:var(--vi);color:var(--vi); }
.seg3 span.on{ background:var(--vi);color:#fff;border-color:var(--vi);font-weight:600; }
.jdg-ev{ flex:1;min-width:120px;border:1px solid #E5E0FA;border-radius:9px;padding:6px 10px;font-size:12.5px;outline:none;font-family:inherit;color:var(--ink); }
.jdg-ev:focus{ border-color:var(--vi);box-shadow:0 0 0 3px rgba(124,58,237,.11); }

/* 立项会 部门模块 */
.dept{ border:1px solid var(--line);border-radius:13px;padding:11px 13px;margin-bottom:10px;background:#FBFAFF; }
.dept-h{ font-weight:800;font-size:14.5px;margin-bottom:9px;color:var(--ink); }
.dept-grid{ display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px; }
.fld2{ flex:1;min-width:92px; }
.fld2 label{ font-size:11.5px;color:#6B7AA8;display:block;margin-bottom:4px; }
.fld2 select{ width:100%;border:1px solid #E5E0FA;border-radius:9px;padding:6px 8px;font-size:13px;background:#fff;color:var(--ink); }
.dept textarea{ width:100%;border:1px solid #E5E0FA;border-radius:10px;padding:7px 10px;font-size:13px;min-height:38px;font-family:inherit;resize:vertical;box-sizing:border-box; }
.fsec{ font-size:12px;font-weight:700;color:var(--vi);letter-spacing:1px;margin:14px 0 2px;padding-bottom:5px;border-bottom:1px solid var(--line); }
.dept-grid3{ display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:8px; }
.dept-grid2{ display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px; }
.score-ev{ background:#F3EDFF;border:1px solid #E2D6FF;border-radius:11px;padding:9px 12px;font-size:13px;margin-bottom:10px;color:#3c2a7d; }
.fld2 input{ width:100%;box-sizing:border-box;border:1px solid #E5E0FA;border-radius:9px;padding:6px 8px;font-size:13px;background:#fff;color:var(--ink); }
/* 立项会·竞品对比报告 */
.qc-h{ font-weight:700;font-size:12.5px;color:#4c1d95;margin:11px 0 5px; }
.qc-tbl{ width:100%;border-collapse:collapse;font-size:12.5px;margin-bottom:6px; }
.qc-tbl th{ background:#F6F3FF;color:#4a548a;font-weight:600;padding:4px 6px;text-align:left;border:1px solid #E9E4FB;white-space:nowrap; }
.qc-tbl td{ padding:3px 5px;border:1px solid #F3F0FC;vertical-align:middle; }
.qc-kn{ color:#4a548a;white-space:nowrap; }
.qc-mini{ width:50px;border:1px solid #E5E0FA;border-radius:7px;padding:4px 5px;font-size:12px;text-align:center; }
.qc-tbl i{ color:#a39fd6;font-style:normal;padding:0 2px; }
.qc-sel{ width:54px;border:1px solid #E5E0FA;border-radius:7px;padding:4px;font-size:12px;background:#fff; }
.qc-tbl input[type=text]{ width:100%;box-sizing:border-box;border:1px solid #E5E0FA;border-radius:7px;padding:4px 6px;font-size:12px; }
.qc-del{ cursor:pointer;color:#cbc6e8;font-weight:700;padding:0 4px; } .qc-del:hover{ color:#ef4444; }
.qc-tbl .seg3{ gap:5px; } .qc-tbl .seg3 span{ padding:3px 9px;font-size:11.5px; }


/* 产品档案筛选 */
.prod-filters{ margin-bottom:10px; }
.pf-row{ display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px; }
.pf-l{ font-size:12px;color:#a39fd6;width:42px;flex-shrink:0; }
.pf-chip{ font-size:12px;padding:3px 10px;border-radius:20px;background:#F3F1FA;color:#4a548a;cursor:pointer;border:1px solid transparent; }
.pf-chip:hover{ background:#E9E4FB; }
.pf-chip.on{ background:var(--vi);color:#fff; }
.pf-search{ border:1px solid #E5E0FA;border-radius:20px;padding:4px 12px;font-size:12.5px;width:200px;max-width:100%;outline:none;background:#fff; }
.pf-search:focus{ border-color:var(--vi); }
.pf-bar{ display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:7px; }
.pf-more{ background:#EEF0FF;color:#5B53C8;font-weight:600;border:1px solid #DAD8F7; }
.pf-more:hover{ background:#E3E2FB; }
.pf-clear{ background:#FEE2E2;color:#B91C1C; }
.pf-primary .pf-row{ margin-bottom:0; }
.pf-morebox{ margin-top:5px;padding-top:8px;border-top:1px dashed var(--line); }

/* 图片 / 上传 */
.thumb{ border-radius:9px;object-fit:contain;border:1px solid var(--line);background:#FAF8FF;flex-shrink:0;display:inline-block;vertical-align:middle; }
.thumb.noimg{ display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:#cbc6e8; }
img.zoomable{ cursor:zoom-in; }   /* 全站图片点击放大(老板令·统一)：封样图/缩略图/品牌Logo/头像等内容图·点击→imgZoom 全屏放大(委托见 app.js click capture) */
.imgpick{ display:flex;align-items:center;gap:12px;outline:none; }
.imgpick-pre{ width:72px;height:72px;border-radius:12px;object-fit:contain;border:1px solid var(--line); }
.imgpick-ph{ width:72px;height:72px;border-radius:12px;border:1px dashed #cbc6e8;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;color:#cbc6e8;text-align:center;cursor:pointer; }
.imgpick:focus .imgpick-ph,.imgpick:focus .imgpick-pre{ border-color:#7c5cff;border-style:solid;box-shadow:0 0 0 2px rgba(124,92,255,.18); }   /* 老板2026-06-29·问题4b·聚焦框=当前粘贴落点高亮 */
.imgpick-drag .imgpick-ph,.imgpick-drag .imgpick-pre{ border-color:#7c5cff;border-style:solid;background:rgba(124,92,255,.06); }
.dl-link{ display:inline-block;font-size:12px;color:var(--vi);background:#F3EDFF;border-radius:7px;padding:2px 8px;margin:2px 4px 2px 0;text-decoration:none; }
.dl-link:hover{ background:#E9E0FF; }

/* AI 模型卡片 */
.model-cards{ display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px; }
.mcard{ border:1.5px solid var(--line);border-radius:15px;padding:12px 14px;background:#fff;transition:.15s; }
.mcard.on{ border-color:var(--vi);background:#FAF7FF;box-shadow:0 4px 16px rgba(124,58,237,.14); }
.mc-h{ display:flex;align-items:center;gap:6px;font-size:14px; }
.mc-h b{ font-size:14.5px; }
.mc-badge{ margin-left:auto;font-size:11px;background:var(--vi);color:#fff;border-radius:20px;padding:1px 8px; }
.mc-desc{ font-size:12px;color:#6A6499;margin:6px 0; }
.mc-in{ width:100%;border:1px solid #E5E0FA;border-radius:9px;padding:5px 9px;font-size:12.5px;box-sizing:border-box;margin:4px 0; }
.mc-foot{ display:flex;align-items:center;justify-content:space-between;margin-top:8px; }
.mc-calls{ font-size:11.5px;color:#6B7AA8; }

/* 机制标签 */
.mech-tag{ font-size:11px;color:var(--vi);background:#EFE9FF;border-radius:7px;padding:1px 8px;font-weight:400; }

/* 需要关注台 + 最近动态 */
.atn-row{ display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:8px; }
.atn-stat{ background:#F8F6FF;border-radius:13px;padding:10px 12px;cursor:pointer;text-align:center;transition:.12s;border:1px solid transparent; }
.atn-stat:hover{ background:#F3EDFF;transform:translateY(-1px);border-color:#E2D6FF; }
.atn-stat b{ font-size:22px;display:block; }
.atn-stat span{ font-size:12px;color:#6B7AA8; }
.atn-list{ margin-top:6px; }
.atn-item{ font-size:13px;padding:5px 8px;border-bottom:1px dashed #F3F0FC;color:#4a548a;overflow-wrap:anywhere; }
.rec-item{ font-size:13px;padding:6px 0;border-bottom:1px dashed #F3F0FC;color:#4a548a;overflow-wrap:anywhere; }
.rec-t{ display:inline-block;font-size:11px;background:#EFE9FF;color:var(--vi);border-radius:6px;padding:1px 7px;margin-right:8px; }

/* 产品矩阵 */
.matrix-wrap{ overflow-x:auto; }
.mx{ border-collapse:collapse;width:100%;font-size:13px; }
.mx th,.mx td{ border:1px solid #F3F0FC;padding:7px 10px;text-align:center; }
.mx th{ background:#FAF8FF;color:#4a548a;font-weight:600;font-size:12px; }
.mx td:first-child,.mx th:first-child{ text-align:left; }
.mx-b{ font-weight:600;color:var(--ink);background:#FCFBFF; }
.mx-c{ font-weight:600; }
.mx-on{ background:#EFE9FF;color:#6D28D9; }
.mx-0{ color:#cbc6e8; }
.mx-t{ background:#F3F1FA;font-weight:700; }
.mx-foot td{ background:#FAF8FF;font-weight:700;color:#3c4677; }
/* 品类产品地图 */
.cm-mx td{ vertical-align:top; }
.cm-c{ cursor:pointer;min-width:92px;transition:.12s; }
.cm-c:hover{ box-shadow:inset 0 0 0 2px var(--vi); }
.cm-n{ font-size:19px;font-weight:800;color:var(--ink);line-height:1.1; }
.cm-tgt{ font-size:12px;font-weight:600;color:#a39fd6; }
.cm-tag{ font-size:11px;font-weight:700;margin-top:2px; }
.cm-brands{ font-size:10.5px;color:#6B7AA8;margin-top:3px;line-height:1.3; }
.cm-rowgap{ font-size:10.5px;color:#ef4444;font-weight:600;margin-top:2px; }
.cm-gap{ background:#fef2f2; } .cm-gap .cm-tag{ color:#ef4444; }
.cm-thin{ background:#fffbeb; } .cm-thin .cm-tag{ color:#d97706; }
.cm-ok{ background:#f0fdf4; } .cm-ok .cm-tag{ color:#10b981; }
.cm-lg{ display:inline-block;padding:1px 8px;border-radius:6px;font-size:11px;margin:0 3px;font-weight:600; }

/* 项目工作区 */
.ws-stages{ display:flex;align-items:center;gap:2px;overflow-x:auto; }
.ws-st{ font-size:12.5px;padding:5px 12px;border-radius:9px;background:#F3F1FA;color:#a39fd6;white-space:nowrap; }
.ws-st.on{ background:#EFE9FF;color:var(--vi);font-weight:600; }
.ws-st.cur{ background:linear-gradient(95deg,var(--vi),var(--vi2));color:#fff;font-weight:700; }
.ws-arr{ color:#cbc6e8;font-size:14px; }
.ws-kv{ display:flex;gap:24px;flex-wrap:wrap; }
.ws-kv > div{ display:flex;flex-direction:column;gap:2px; }
.ws-kv span{ font-size:11.5px;color:#a39fd6; }
.ws-kv b{ font-size:13.5px;color:var(--ink); }
.ws-seg-h{ font-size:12.5px;font-weight:700;color:#3c4677;margin:12px 0 6px;display:flex;align-items:center;gap:8px; }
.ws-seg-h span{ font-weight:400;color:#a39fd6;font-size:11.5px; }
.ws-own{ font-size:11px;color:#6B7AA8;background:#F3F1FA;border-radius:6px;padding:1px 6px;margin-left:8px; }

/* 红线否决门 */
.kill-row{ display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap; }
.kill-row .chk.on{ background:#c0392b;border-color:#c0392b;color:#fff; }
.kill-row .jdg-ev{ flex:1;min-width:160px; }

/* 资料交付·逐项清单 */
.dlv-row{ display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed #F3F0FC; }
.dlv-n{ font-size:13.5px;color:#3c4677;font-weight:600; }
.dlv-seg{ display:flex;gap:4px;flex-shrink:0; }
.dlv-seg span{ padding:4px 12px;border:1px solid #E5E0FA;border-radius:9px;cursor:pointer;font-size:12.5px;color:#6B7AA8;background:#fff; }
.dlv-seg span.on{ background:var(--vi);border-color:var(--vi);color:#fff; }

/* 倒排并行泳道 */
.ln-legend{ font-size:12px;color:#6B7AA8;background:#FAF8FF;border-radius:10px;padding:7px 10px;margin-bottom:10px; }
.ln-lane{ display:flex;gap:12px;align-items:flex-start;margin:8px 0; }
.ln-lvl{ width:78px;flex:0 0 78px;font-weight:700;color:#4a548a;font-size:12.5px;padding-top:8px; }
.ln-lvl small{ display:block;color:#a39fd6;font-weight:400;font-size:11px; }
.ln-row{ display:flex;gap:10px;flex-wrap:wrap;flex:1; }
.ln-row-track{ margin-top:6px; }
.ln-card{ border:1px solid var(--line);border-radius:13px;padding:10px 12px;min-width:210px;flex:1;background:#fff; }
.ln-card.ln-crit{ border-color:#ef4444;box-shadow:0 0 0 1px #fee2e2 inset; }
.ln-card.ln-track{ background:#FAF8FF;opacity:.92; }
.ln-hist{ border-top:1px dashed #E9E4FB;margin-top:10px;padding-top:6px; } .ln-hist .ln-lvl{ color:#a39fd6; }
.ln-t{ font-weight:700;font-size:13.5px;margin-bottom:4px; }
.ln-hint{ font-size:12px;color:#6B7AA8;line-height:1.45; }
.ln-dept{ font-size:11px;color:var(--vi);background:#EFE9FF;border-radius:6px;padding:1px 7px;display:inline-block;margin-top:5px; }
.ln-foot{ display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;color:#a39fd6; }
.ln-act{ margin-top:8px;display:flex;gap:6px;flex-wrap:wrap; }

/* 上市落地 */
.gl-grid{ display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:10px; }
.gl-col{ background:#FAF8FF;border-radius:13px;padding:10px 12px; }
.gl-h{ font-weight:700;font-size:13px;margin-bottom:8px;display:flex;align-items:center;gap:6px; }
.gl-row{ font-size:12.5px;color:#4a548a;padding:4px 0;border-bottom:1px dashed #EDE9FA; }
.gl-foot{ padding-top:6px;border-top:1px solid #F3F0FC; }

/* 角标↔红点对应（老板2026-06-11拍：导航数字要能在页内定位到具体任务行） */
.rdot{ display:inline-block;color:#EF4444;font-size:11px;line-height:1;vertical-align:middle;animation:rdotPulse 1.6s ease-in-out infinite; }
@keyframes rdotPulse{ 0%,100%{opacity:1} 50%{opacity:.35} }
.rdot-legend{ display:inline-flex;align-items:center;gap:5px;background:#FEF2F2;color:#B91C1C;border-radius:9px;padding:3px 10px;font-size:12px;font-weight:600;margin-left:8px; }

/* 🔍 全局搜索（顶栏·老板2026-06-11拍：关键词直达产品） */
.gsearch{ position:relative;flex:1;max-width:420px;margin:0 18px; }
.gsearch input{ width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:12px;padding:8px 14px;font-size:13px;background:#FBFAFF;transition:border-color .15s; }
.gsearch input:focus{ outline:none;border-color:#7C3AED;background:#fff; }
.gs-drop{ position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(76,29,149,.14);z-index:300;max-height:420px;overflow:auto;padding:6px; }
.gs-row{ display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;font-size:13px; }
.gs-row:hover{ background:#F5F3FF; }
.gs-row .gs-nm{ font-weight:700;color:var(--ink); }
.gs-row .gs-ft{ color:#8A93B8;font-size:12px;flex:1; }
.gs-empty{ padding:12px;text-align:center;color:#94a3b8;font-size:12.5px; }

/* 上市倒排·渠道节奏流程图（老板2026-06-11拍：箭头流程图，一列=同日并行批） */
.lnf-wrap{ display:flex;align-items:stretch;overflow-x:auto;padding:10px 2px 6px;gap:0; }
.lnf-col{ flex:0 0 185px;background:#FBFAFF;border:1px solid var(--line);border-radius:13px;padding:8px 9px;display:flex;flex-direction:column;gap:6px; }
.lnf-coldone{ background:#F4FBF7;border-color:#BBE7D2; }
.lnf-h{ font-size:11.5px;font-weight:800;color:#4C1D95;display:flex;align-items:center;gap:5px;padding-bottom:4px;border-bottom:1px dashed #E9E4FB; }
.lnf-h small{ font-weight:600;color:#8A93B8; }
.lnf-arrow{ flex:0 0 auto;display:flex;align-items:center;font-size:19px;color:#A78BFA;padding:0 3px;font-weight:900; }
.lnf-node{ background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 8px; }
.lnf-node.lnf-crit{ border-left:3px solid #EF4444;border-radius:0 10px 10px 0; }
.lnf-node.lnf-ops{ background:#F8FAFC;opacity:.8; }
.lnf-nm{ font-size:12px;font-weight:700;color:var(--ink);line-height:1.45; }
.lnf-dept{ font-size:10.5px;color:#8A93B8;margin-top:2px; }
.lnf-act{ margin-top:4px;display:flex;gap:4px;align-items:center;flex-wrap:wrap; }

/* 倒排流程图·方形回流(蛇形)版（老板2026-06-11拍：一屏全貌不横拉·批次序号=串行·同格=并行·行尾⬇拐弯） */
.lnf-board{ padding:10px 2px 4px; }
.lnf-srow{ display:flex;align-items:stretch;margin-bottom:2px; }
.lnf-srow .lnf-col{ flex:1 1 0;min-width:0; }
.lnf-turn{ display:flex;padding:0 64px; }
.lnf-turn .lnf-arrow{ font-size:17px;padding:0; }
.lnf-step{ display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;border-radius:50%;background:#7C3AED;color:#fff;font-size:10.5px;font-weight:800;margin-right:4px;flex:0 0 auto; }
.lnf-nm{ word-break:break-all; }

/* 🔴 游戏角标式大红点（老板2026-06-11拍：默认全收起·红点挂栏目外·不处理不消失·悬停列清单） */
.bigdot{ display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:50%;background:#EF4444;color:#fff;font-size:12.5px;font-weight:800;box-shadow:0 0 0 3px rgba(239,68,68,.22);cursor:help;margin-left:8px;animation:rdotPulse 1.6s ease-in-out infinite;vertical-align:middle; }
.lnf-srow .lnf-arrow{ padding:0 1px;font-size:15px; }
.lnf-act .btn{ padding:1px 6px !important;font-size:10.5px !important;white-space:normal;line-height:1.4; }
/* 「▾详情」按钮高亮（老板2026-06-11拍：详情默认折叠·按钮要明显） */
.btn-detail{ border-color:#C4B5FD !important;background:#F5F3FF !important;color:#4C1D95 !important;font-weight:800;padding:1px 10px;font-size:11.5px; }
.btn-detail:hover{ background:#EDE9FE !important;border-color:#A78BFA !important; }
/* 红点防变形（老板2026-06-11：页面收缩后圆点不许压扁/拉伸）——固定尺寸禁止flex压缩，两位数自动变胶囊但高度不变 */
.bigdot{ flex:0 0 auto !important;width:auto;height:20px !important;min-width:20px !important;border-radius:999px;line-height:1;white-space:nowrap;box-sizing:border-box; }
.bigdot{ display:inline-flex !important;vertical-align:middle; }

/* ============================================================
   决策工作台组件套件 .wb-*（2026-06-13 五大决策窗统一重构·五窗复用）
   结论先行 → 继承证据 → 维度判断 → AI建议 → 人工拍板+下游影响
   ============================================================ */
.wb{ display:flex;flex-direction:column;gap:13px; }
/* 决策链面包屑：机会→定义书→评分→品牌→渠道→立项 */
.wb-flow{ display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--sub);margin:-2px 0 6px; }
.wb-flow .s{ padding:4px 11px;border-radius:20px;background:#F3F0FF;color:#7A6DB0;font-weight:700; }
.wb-flow .s.cur{ background:linear-gradient(95deg,#7C3AED,#A855F7);color:#fff;box-shadow:0 4px 12px rgba(124,58,237,.28); }
.wb-flow .s.done{ background:#E6FBF1;color:var(--ok); }
.wb-flow .ar{ color:#cdc7e6; }
/* ① 结论摘要卡 */
.wb-sum{ border:1px solid #E2D6FF;border-radius:15px;overflow:hidden;box-shadow:0 6px 20px rgba(124,58,237,.08); }
.wb-sum-top{ display:grid;grid-template-columns:1fr 1fr;gap:0; }
.wb-sum-ai{ background:linear-gradient(135deg,#F7F3FF,#FBF5FF);padding:11px 14px;border-right:1px solid #EEE6FF; }
.wb-sum-human{ background:#FFFFFF;padding:11px 14px; }
.wb-sum h4{ margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.3px;display:flex;align-items:center;gap:5px; }
.wb-sum-ai h4{ color:var(--vi2); }
.wb-sum-human h4{ color:var(--ink); }
.wb-sum .verdict{ font-size:18px;font-weight:800;color:var(--ink);line-height:1.25; }
.wb-sum .verdict.pend{ font-size:13px;font-weight:600;color:var(--sub); }
.wb-sum-row{ display:flex;flex-wrap:wrap;gap:6px 14px;padding:9px 14px;background:#FAF8FF;border-top:1px solid #EEE6FF;font-size:12px; }
.wb-sum-row b{ color:var(--ink); }
.wb-kv{ display:inline-flex;gap:5px;align-items:baseline; }
.wb-kv .k{ color:#94A0C8;font-size:10.5px; }
.wb-kv .v{ color:var(--ink);font-weight:700; }
.wb-kv .v.risk{ color:var(--mg); }
.wb-kv .v.ok{ color:var(--accent2); }
/* ② 继承证据网格 */
.wb-inherit{ border:1px solid var(--line);border-left:3px solid var(--accent2);border-radius:12px;background:#F6FEFB;padding:10px 13px; }
.wb-inherit .hd{ font-size:12px;font-weight:700;color:#0E9F6E;margin-bottom:7px;display:flex;align-items:center;gap:6px;justify-content:space-between; }
.wb-inherit .gr{ display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:6px 14px; }
.wb-inherit .it{ display:flex;flex-direction:column;gap:1px;min-width:0; }
.wb-inherit .it .k{ font-size:10.5px;color:#8FA3B5; }
.wb-inherit .it .v{ font-size:12.5px;color:#1f3a32;font-weight:600;overflow-wrap:anywhere; }
/* ③ 维度卡：证据→判断→结论→影响 */
.wb-dim{ border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden; }
.wb-dim-h{ display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:#FBFAFF;cursor:default; }
.wb-dim-h b{ font-size:13px;color:var(--ink); }
.wb-dim-h .sub{ font-size:11px;color:var(--sub);font-weight:400; }
.wb-dim-b{ padding:9px 12px;display:flex;flex-direction:column;gap:7px; }
.wb-pre{ font-size:12px;color:#475569;background:#F8FAFF;border-radius:8px;padding:6px 9px; }
.wb-pre .lab{ color:#94A0C8;font-size:10.5px;margin-right:5px; }
.wb-impact-line{ font-size:11px;color:#7A6DB0;background:#F5F3FF;border-radius:6px;padding:3px 8px; }
/* 档位 pill 组（强/够格/弱 等） */
.wb-verdict{ display:inline-flex;gap:5px;flex-wrap:wrap; }
.wb-verdict .pill{ padding:4px 13px;border-radius:20px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:600;color:var(--sub);cursor:pointer;user-select:none; }
.wb-verdict .pill:hover{ border-color:var(--vi2); }
.wb-verdict .pill.on{ background:var(--vi);border-color:var(--vi);color:#fff; }
.wb-verdict .pill.on.warn{ background:#F59E0B;border-color:#F59E0B; }
.wb-verdict .pill.on.bad{ background:var(--mg);border-color:var(--mg); }
.wb-verdict .pill.on.good{ background:var(--accent2);border-color:var(--accent2); }
/* ④ AI 建议块 */
.wb-ai{ border:1px solid #E2D6FF;border-radius:12px;background:linear-gradient(180deg,#FBF8FF,#fff);padding:10px 13px; }
.wb-ai .hd{ font-size:12.5px;font-weight:800;color:var(--vi2);display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px; }
.wb-ai .conf{ font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px; }
.wb-ai .conf.high{ background:#E6FBF1;color:#0E9F6E; }
.wb-ai .conf.medium{ background:#FEF3C7;color:#B45309; }
.wb-ai .conf.low{ background:#FEE2E2;color:#B91C1C; }
.wb-ai-card{ background:#fff;border:1px solid #EEE6FF;border-radius:8px;padding:6px 9px;margin:5px 0;font-size:12.5px;color:#334155;line-height:1.65; }
.wb-ai-card b{ color:#0f172a;font-size:12px; }
.wb-ai .miss{ background:#FFF7ED;border:1px solid #FED7AA;border-radius:8px;padding:6px 9px;margin:5px 0;color:#9A3412;font-size:12px; }
/* ⑤ 下游影响预览 */
.wb-impact{ border:1px dashed #C4B5FD;border-radius:12px;background:#FaF9FF;padding:9px 13px; }
.wb-impact .hd{ font-size:12px;font-weight:700;color:#6D28D9;margin-bottom:5px; }
.wb-impact ul{ margin:0;padding-left:17px;font-size:12px;color:#4b4570;line-height:1.7; }
.wb-impact li::marker{ color:var(--vi2); }
/* 推荐高亮（矩阵自动推荐行/候选卡） */
.wb-rec{ box-shadow:inset 0 0 0 2px var(--vi);position:relative; }
.wb-rec-tag{ display:inline-block;background:var(--vi);color:#fff;font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;margin-left:6px; }
/* 决策矩阵：宽屏=表格，窄屏=卡片（防横向失控） */
.wb-matrix-tbl{ border-collapse:collapse;width:100%;font-size:12.5px; }
.wb-matrix-tbl th,.wb-matrix-tbl td{ border:1px solid #F0EDFF;padding:7px 9px;text-align:center;vertical-align:middle; }
.wb-matrix-tbl th{ background:#FAF8FF;color:#4a548a;font-weight:700;font-size:11px; }
.wb-matrix-tbl td:first-child,.wb-matrix-tbl th:first-child{ text-align:left; }
.wb-mcard{ display:none; }
.wb-score-badge{ font-weight:800;font-size:13px;color:var(--vi); }
@media(max-width:760px){
  .wb-sum-top{ grid-template-columns:1fr; }
  .wb-sum-ai{ border-right:none;border-bottom:1px solid #EEE6FF; }
  .wb-inherit .gr{ grid-template-columns:1fr 1fr; }
  .wb-matrix-wrap .wb-matrix-tbl{ display:none; }
  .wb-mcard{ display:block; }
  .wb-mcard .c{ border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:7px;background:#fff; }
  .wb-mcard .c.wb-rec{ box-shadow:inset 0 0 0 2px var(--vi); }
  .wb-mcard .c .nm{ font-weight:800;font-size:13px;color:var(--ink);margin-bottom:4px;display:flex;justify-content:space-between;align-items:center; }
  .wb-mcard .c .r{ display:flex;justify-content:space-between;font-size:12px;padding:2px 0;border-top:1px dashed #F0EDFF; }
  .wb-mcard .c .r .k{ color:#94A0C8; }
}
.wb-matrix-wrap{ overflow-x:auto; }

/* ===== AI 配置中心重构（Provider管理 / 按钮注册表 / 消耗统计） ===== */
.cfg-tabs{ display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap; }
.cfg-tab{ border:1px solid var(--line,#e2e8f0);background:#fff;border-radius:9px;padding:8px 14px;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;transition:.15s; }
.cfg-tab:hover{ border-color:#c7d2fe;color:#4338ca; }
.cfg-tab.on{ background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(99,102,241,.3); }
.prov-grid{ display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px; }
.prov-card{ border:1px solid var(--line,#e2e8f0);border-radius:12px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:8px; }
.prov-card.on{ border-color:#a5b4fc;box-shadow:0 0 0 2px rgba(99,102,241,.12); }
.prov-card .mc-h{ display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:14px; }
.prov-row{ display:flex;align-items:center;gap:7px;flex-wrap:wrap; }
.prov-keys{ display:flex;flex-direction:column;gap:4px;background:#f8fafc;border:1px solid #eef2f7;border-radius:9px;padding:8px; }
.prov-keys label{ font-size:11px;color:#94a3b8;font-weight:600; }
.prov-stat{ font-size:11.5px;line-height:1.6;border-top:1px dashed #eef2f7;padding-top:6px; }
.mc-in{ border:1px solid var(--line,#e2e8f0);border-radius:7px;padding:6px 9px;font-size:12.5px;width:100%;box-sizing:border-box; }
.chip.mini,.chip-mini{ font-size:10.5px;padding:1px 7px;border-radius:20px;display:inline-flex;align-items:center;width:fit-content; }
.btnreg-mod{ margin-bottom:12px; }
.btnreg-modh{ font-size:12px;font-weight:800;color:#4338ca;background:#eef2ff;border-radius:7px;padding:5px 10px;margin-bottom:5px; }
.btnreg-row{ display:flex;gap:10px;align-items:flex-start;justify-content:space-between;border:1px solid #eef2f7;border-radius:9px;padding:8px 11px;margin-bottom:5px;background:#fff; }
.btnreg-row.off{ opacity:.55;background:#fafafa; }
.btnreg-main{ flex:1;min-width:0; }
.btnreg-main b{ font-size:13px;color:#0f172a; }
.btnreg-act{ display:flex;gap:5px;flex-shrink:0;align-items:center; }

/* ===== 双图展示（我方图 + 竞品图） ===== */
.dual-imgs{ display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0; }
.dual-col{ border:1px solid #eef2f7;border-radius:10px;padding:8px;background:#fafbff; }
.dual-col .dual-h{ font-size:11.5px;font-weight:700;color:#64748b;margin-bottom:6px;display:flex;align-items:center;gap:5px; }
.dual-col.ours .dual-h{ color:#6d28d9; }
.dual-col.comp .dual-h{ color:#c2410c; }
.dual-thumbs{ display:flex;flex-wrap:wrap;gap:6px; }
.dual-thumbs img{ width:72px;height:72px;object-fit:contain;border-radius:8px;border:1px solid #e2e8f0;cursor:zoom-in;background:#fff; }
.dual-thumbs .ph{ width:72px;height:72px;border-radius:8px;border:1px dashed #cbd5e1;display:flex;align-items:center;justify-content:center;color:#cbd5e1;font-size:11px;text-align:center; }
.dual-cap{ font-size:10px;color:#94a3b8;text-align:center;margin-top:2px;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
@media(max-width:680px){ .dual-imgs{ grid-template-columns:1fr; } }

/* ===== 即梦多图画廊 ===== */
.imggal{ margin:8px 0; }
.imggal-main{ position:relative;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;background:#f8fafc; }
.imggal-main img{ width:100%;max-height:360px;object-fit:contain;display:block;cursor:zoom-in;background:#fff; }
.imggal-aux{ display:flex;gap:8px;flex-wrap:wrap;margin-top:8px; }
.imggal-aux .it{ position:relative; }
.imggal-aux img{ width:84px;height:84px;object-fit:contain;border-radius:9px;border:2px solid transparent;cursor:pointer; }
.imggal-aux img.on{ border-color:#8b5cf6; }
.imggal-aux .lab{ font-size:10px;color:#94a3b8;text-align:center;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.imggal-aux .it .re{ position:absolute;top:2px;right:2px;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:6px;font-size:10px;padding:1px 5px;cursor:pointer; }
.imggal-tools{ display:flex;gap:6px;flex-wrap:wrap;margin-top:8px; }

/* ===== 图片设计中心 ===== */
.idc-tabs{ display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap; }
.idc-cap{ display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:7px; }
.idc-capc{ border:1px solid #e2e8f0;border-radius:10px;padding:8px 6px;background:#fff;cursor:pointer;transition:.15s;text-align:center; }
.idc-capc:hover{ border-color:#a5b4fc;box-shadow:0 3px 10px rgba(99,102,241,.12); }
.idc-capc .ic{ font-size:18px; }
.idc-capc .nm{ font-weight:700;font-size:12px;color:#0f172a;margin-top:3px; }
.idc-capc .ds{ font-size:11px;color:#94a3b8;line-height:1.5; }
/* 创作工作台三栏 */
.idc-wrap{ display:grid;grid-template-columns:210px 1fr 250px;gap:12px;align-items:start; }
.idc-left,.idc-right{ background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:11px; position:sticky;top:8px; }
.idc-mid{ background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:13px;min-width:0; }
.idc-llabel{ font-size:11.5px;font-weight:700;color:#64748b;margin:0 0 5px; }
.idc-modeh{ font-size:14px;font-weight:800;color:#4338ca;margin-bottom:8px; }
.idc-chips{ display:flex;flex-direction:column;gap:5px; }
.idc-chipgrp{ display:flex;flex-wrap:wrap;gap:4px;align-items:center; }
.idc-chipgrp .lbl{ font-size:10.5px;color:#94a3b8;width:52px;flex:0 0 52px; }
.idc-chip{ font-size:11.5px;border:1px solid #e2e8f0;border-radius:20px;padding:2px 9px;cursor:pointer;background:#fff;color:#475569;transition:.12s; }
.idc-chip:hover{ border-color:#c7d2fe; }
.idc-chip.on{ background:#6366f1;color:#fff;border-color:#6366f1;font-weight:600; }
.idc-refrow{ display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.idc-mat{ display:grid;grid-template-columns:1fr 1fr;gap:5px;max-height:340px;overflow:auto; }
.idc-mati{ position:relative;border-radius:8px;overflow:hidden;border:1px solid #eef2f7; }
.idc-mati img{ width:100%;height:62px;object-fit:contain;cursor:zoom-in;display:block; }
.idc-mati .freetag{ position:absolute;left:2px;top:2px;background:rgba(99,102,241,.85);color:#fff;font-size:8px;padding:0 4px;border-radius:4px; }
.idc-mati video{ width:100%;height:62px;object-fit:contain;cursor:zoom-in;display:block;background:#000; }
.aid-nav{ display:flex;flex-direction:column;gap:3px; }
.aid-navi{ display:flex;align-items:center;gap:6px;font-size:12.5px;color:#475569;padding:6px 8px;border-radius:8px;cursor:pointer;transition:.12s; }
.aid-navi:hover{ background:#f5f3ff; }
.aid-navi.on{ background:#eef2ff;color:#4338ca;font-weight:700; }
.aid-navi .ic{ font-size:14px; }
.aid-dot{ width:7px;height:7px;border-radius:50%;flex:0 0 7px; }
.aid-dot.real{ background:#16a34a; }
.aid-dot.beta{ background:#f59e0b; }
.aid-dot.soon{ background:#cbd5e1; }
@media(max-width:1100px){ .idc-wrap{ grid-template-columns:1fr; } .idc-left,.idc-right{ position:static; } }
.plat-grid{ display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px; }
.plat-chip{ border:1px solid #e2e8f0;border-radius:9px;padding:8px 10px;font-size:12px;cursor:pointer;background:#fff; }
.plat-chip.on{ border-color:#8b5cf6;background:#f5f3ff;color:#6d28d9;font-weight:700; }

/* ===== AI 设计中心顶部入口按钮行（样式同 AI 配置中心 cfg-tab） ===== */
.idc-toprow{ display:flex;gap:8px;flex-wrap:wrap;margin-top:10px; }

/* ===== 🧩 独立创作空间（沉浸式 AI 自由创作·参考积木/Agent 模式） ===== */
.fc-shell{ display:flex;flex-direction:column;height:calc(100vh - 150px);min-height:520px;max-width:880px;margin:0 auto; }
.fc-top{ display:flex;align-items:center;gap:12px;padding:2px 2px 12px;border-bottom:1px solid #eef2f7;margin-bottom:10px; }
.fc-title{ font-size:15px;font-weight:800;color:#1e293b;flex:1; }
.fc-title .fc-sub{ font-size:11.5px;font-weight:400;color:#94a3b8;margin-left:8px; }
.fc-body{ flex:1;overflow-y:auto;padding:6px 4px 14px; }
.fc-welcome{ text-align:center;padding:40px 16px 26px;color:#475569; }
.fc-hello{ font-size:24px;font-weight:800;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:10px; }
.fc-hello-sub{ font-size:13px;color:#64748b;max-width:520px;margin:0 auto 20px;line-height:1.7; }
.fc-ex{ display:flex;flex-direction:column;gap:8px;max-width:520px;margin:0 auto;align-items:stretch; }
.fc-exc{ text-align:left;border:1px solid #e9eef5;background:#fbfcfe;border-radius:11px;padding:11px 14px;font-size:12.5px;color:#475569;cursor:pointer;transition:.14s; }
.fc-exc:hover{ border-color:#c7d2fe;background:#f5f3ff;color:#4338ca; }
.fc-row{ display:flex;gap:9px;margin-bottom:14px;align-items:flex-start; }
.fc-row.user{ justify-content:flex-end; }
.fc-ava{ width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 3px 9px rgba(99,102,241,.28); }
.fc-bub{ max-width:78%;padding:11px 14px;border-radius:14px;font-size:13px;line-height:1.72;white-space:normal;word-break:break-word; }
.fc-bub.user{ background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-bottom-right-radius:5px; }
.fc-bub.ai{ background:#f6f8fc;border:1px solid #eef2f7;color:#1e293b;border-bottom-left-radius:5px; }
.fc-matt{ margin-top:6px;font-size:11px;opacity:.85; }
.fc-img{ margin-top:9px; }
.fc-img img{ max-width:320px;width:100%;border-radius:11px;border:1px solid #e2e8f0;cursor:zoom-in;display:block; }
.fc-imgtools{ margin-top:5px; }
.fc-typing span{ animation:fcblink 1.2s infinite both; }
.fc-typing span:nth-child(2){ animation-delay:.2s; } .fc-typing span:nth-child(3){ animation-delay:.4s; }
@keyframes fcblink{ 0%,80%,100%{ opacity:.2; } 40%{ opacity:1; } }
.fc-composer{ border:1px solid #e2e8f0;border-radius:15px;padding:10px 12px;background:#fff;box-shadow:0 6px 22px rgba(15,23,42,.06); }
.fc-atts{ display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px; }
.fc-att{ font-size:11px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:7px;padding:3px 8px;color:#475569; }
.fc-att a{ color:#dc2626;cursor:pointer;margin-left:4px; }
.fc-input{ width:100%;box-sizing:border-box;border:none;outline:none;resize:none;font-size:13.5px;line-height:1.6;font-family:inherit;color:#1e293b;background:transparent; }
.fc-bar{ display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap; }
.fc-bar-l{ display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0; }
.fc-seg{ display:inline-flex;border:1px solid #e2e8f0;border-radius:9px;overflow:hidden; }
.fc-seg button{ border:none;background:#fff;font-size:12px;font-weight:600;color:#64748b;padding:6px 11px;cursor:pointer;transition:.12s; }
.fc-seg button.on{ background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff; }
.fc-toggle{ border:1px solid #e2e8f0;background:#fff;border-radius:9px;font-size:12px;font-weight:600;color:#64748b;padding:6px 11px;cursor:pointer;transition:.12s; }
.fc-toggle.on{ border-color:#a7f3d0;background:#ecfdf5;color:#059669; }
.fc-icbtn{ border:1px solid #e2e8f0;background:#fff;border-radius:9px;font-size:14px;color:#64748b;padding:5px 10px;cursor:pointer;display:inline-flex;align-items:center; }
.fc-icbtn:hover{ border-color:#c7d2fe; }
.fc-skills{ display:inline-flex;gap:5px;flex-wrap:wrap; }
.fc-skill{ border:1px solid #e2e8f0;background:#fff;border-radius:8px;font-size:11.5px;color:#64748b;padding:5px 9px;cursor:pointer;transition:.12s; }
.fc-skill:hover{ border-color:#c7d2fe;color:#4338ca; }
.fc-skill.on{ border-color:#8b5cf6;background:#f5f3ff;color:#6d28d9;font-weight:700; }
.fc-send{ flex:0 0 auto; }
@media(max-width:760px){ .fc-shell{ height:calc(100vh - 130px); } .fc-bub{ max-width:90%; } .fc-send{ width:100%;margin-top:4px; } .fc-bar-l{ width:100%; } }
/* 创作类型/技能/产品 下拉 + 关联产品 chip + 能力徽章 + 修饰词 chips（独立创作空间·即梦式统一工作台） */
.fc-prodchip{ font-size:11.5px;background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca;border-radius:8px;padding:3px 9px; }
.fc-prodchip a{ color:#dc2626;cursor:pointer;margin-left:5px; }
.fc-caps{ display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:0 auto 18px;max-width:580px; }
.fc-cap{ font-size:11.5px;border-radius:8px;padding:4px 10px;border:1px solid #e2e8f0;background:#fff;color:#475569; }
.fc-cap i{ font-style:normal;opacity:.85;font-size:10.5px;margin-left:3px; }
.fc-cap.real{ border-color:#a7f3d0;background:#ecfdf5;color:#059669; }
.fc-cap.beta{ border-color:#fde68a;background:#fffbeb;color:#b45309; }
.fc-cap.soon{ border-color:#e2e8f0;background:#f8fafc;color:#94a3b8; }
.fc-composer{ position:relative; }
.fc-menu{ position:absolute;bottom:100%;left:0;margin-bottom:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 34px rgba(15,23,42,.16);padding:6px;min-width:252px;max-height:340px;overflow:auto;z-index:30; }
.fc-menu-prod{ min-width:288px; }
.fc-menu-h{ font-size:11px;color:#94a3b8;padding:6px 9px 4px; }
.fc-mi{ display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;font-size:12.5px;color:#334155;cursor:pointer; }
.fc-mi:hover{ background:#f5f3ff; }
.fc-mi.on{ background:#eef2ff;color:#4338ca;font-weight:700; }
.fc-mi .ic{ font-size:16px; }
.fc-mi .t{ flex:1;display:flex;flex-direction:column;line-height:1.3; }
.fc-mi .t i{ font-style:normal;font-size:10.5px;font-weight:400; }
.fc-mi .ck{ color:#6366f1; }
.fc-dot.real{ color:#059669; } .fc-dot.beta{ color:#d97706; } .fc-dot.soon{ color:#94a3b8; }
.fc-pick{ border:1px solid #e2e8f0;background:#fff;border-radius:9px;font-size:12px;font-weight:600;color:#475569;padding:6px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:4px; }
.fc-pick:hover{ border-color:#c7d2fe;color:#4338ca; }
.fc-pick .fc-dot{ font-size:9px; }
.fc-chips{ display:flex;flex-wrap:wrap;gap:5px;margin-top:7px; }
.fc-chip{ font-size:11px;border:1px solid #e9eef5;background:#fbfcfe;border-radius:7px;padding:3px 8px;color:#64748b;cursor:pointer; }
.fc-chip:hover{ border-color:#c7d2fe;color:#4338ca; }
.fc-ctag{ display:inline-block;font-size:10.5px;background:rgba(255,255,255,.25);border-radius:6px;padding:1px 7px;margin-bottom:4px; }
/* AI 设计中心落地页（简洁·只留 独立创作空间入口 + 素材库 + 关联产品 + 说明） */
.aid-land{ display:grid;grid-template-columns:1fr 300px;gap:14px;align-items:start; }
.aid-hero{ background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #e9e5fb;border-radius:16px;padding:26px 28px; }
.aid-hero-t{ font-size:24px;font-weight:800;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:10px; }
.aid-hero-d{ font-size:13px;color:#475569;line-height:1.75;max-width:620px;margin-bottom:16px; }
.aid-caps{ display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px; }
.aid-caps .fc-cap{ background:rgba(255,255,255,.72); }
.aid-hero-act{ display:flex;flex-wrap:wrap;gap:10px;align-items:center; }
.aid-enter{ font-size:14px;padding:11px 22px; }
.aid-mat-panel{ background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:13px; }
.aid-mat{ display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px; }
@media(max-width:980px){ .aid-land{ grid-template-columns:1fr; } }
/* 手动拆机会种子·多截图证据上传 */
.seed-evid{ position:relative;width:96px;display:flex;flex-direction:column;gap:3px;border:1px solid #e2e8f0;border-radius:8px;padding:4px;background:#fff; }

/* ===== 渐变背景兜底（老板反馈：深色底白字按钮"放上去变白色看不见"）=====
   根因：部分设备/浏览器/内嵌 webview 不渲染 CSS linear-gradient 背景图层；这些按钮用 `background:linear-gradient(...)` 简写时把 background-color 置为透明，渐变图不画→白字落到透明(白)底上=看不见。
   修法：放在文件末尾（覆盖各自渐变规则后），给所有"深色渐变底 + 白字"的按钮/标签补一层 solid 背景色——渐变正常时盖在其上不影响观感；渐变失效时白字仍有深色底，永不白字白底。 */
.btn-primary,.wstabs span.on,.stepseg.cur,.ws-st.cur,.wb-flow .s.cur,.cfg-tab.on,.fc-bub.user,.fc-seg button.on,.logo,.sect-no,.fc-ava{ background-color:#7C3AED; }
.hero{ background-color:#3B1D8F; }
/* 渐变文字标题（background-clip:text + 透明字）兜底：不支持时给可见纯色字，避免标题透明看不见 */
@supports not ((-webkit-background-clip:text) or (background-clip:text)){ .hero .en i,.fc-hello,.aid-hero-t{ -webkit-text-fill-color:#6D28D9 !important;color:#6D28D9 !important; } }
.seed-evid img{ width:88px;height:66px;object-fit:contain;border-radius:6px;cursor:zoom-in;border:1px solid #eef2f7; }
.seed-evid-del{ position:absolute;top:3px;right:5px;background:rgba(15,23,42,.6);color:#fff;border-radius:50%;width:16px;height:16px;line-height:15px;text-align:center;font-size:11px;cursor:pointer; }
.seed-evid select{ font-size:10.5px;padding:2px;border:1px solid #e2e8f0;border-radius:5px;max-width:88px; }
.seed-evid input{ font-size:10.5px;padding:2px 4px;border:1px solid #e2e8f0;border-radius:5px;width:80px;box-sizing:border-box; }
.seed-evid-add{ height:96px;border:1px dashed #cbd5e1!important;background:#fafafa;color:#64748b; }

/* ===== 产品卡片双图（未展开列表/卡片左侧·我方主图大+竞品图小） ===== */
.card-imgs{ flex:0 0 auto;display:flex;flex-direction:column;gap:4px;align-items:flex-start; }
.ci-row{ display:flex;gap:6px;align-items:flex-end; }
.ci-main{ width:128px;height:150px;object-fit:contain;border-radius:12px;border:1px solid #e2e8f0;cursor:zoom-in;background:#fff;box-shadow:0 3px 12px rgba(99,102,241,.16); }
.ci-main.ph{ display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1.5px dashed #c7d2fe;cursor:pointer;color:#94a3b8;box-shadow:none; }
.ci-main.ph .e{ font-size:30px;line-height:1; }
.ci-main.ph .ci-gen{ font-size:10px;color:#6366f1;font-weight:700;text-align:center;line-height:1.2; }
.ci-side{ position:relative;width:46px;height:46px;flex:0 0 46px; }
.ci-side>img{ width:46px;height:46px;object-fit:contain;border-radius:8px;border:1px solid #fed7aa;cursor:zoom-in;background:#fff; }
.ci-side .ci-tag{ position:absolute;left:0;bottom:-3px;background:#c2410c;color:#fff;font-size:9px;font-weight:700;padding:0 4px;border-radius:5px;transform:scale(.9);transform-origin:left bottom; }
.ci-side.ph2{ display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px dashed #fed7aa;border-radius:8px;cursor:pointer;color:#fb923c; }
.ci-side.ph2 .p{ font-size:15px;font-weight:800;line-height:1; }
.ci-side.ph2 .ci-hint{ font-size:8px;text-align:center;line-height:1.05;margin-top:1px; }
.ci-studio{ font-size:10px;color:#6366f1;background:#eef2ff;border:none;border-radius:6px;padding:2px 7px;cursor:pointer;white-space:nowrap; }
.ci-studio:hover{ background:#e0e7ff; }
/* 品牌凸显chip（老板2026-06-28·已立项/待上线/已上线/产品档案 列表一眼看到品牌） */
.bchip{ display:inline-flex;align-items:center;gap:2px;background:linear-gradient(135deg,#7C3AED,#4338CA);color:#fff;font-weight:800;font-size:12px;padding:1.5px 10px;border-radius:8px;margin-left:7px;letter-spacing:.3px;box-shadow:0 1px 5px rgba(99,102,241,.28);vertical-align:middle;white-space:nowrap; }
.todo .tm span.bchip{ display:inline-flex;width:auto;color:#fff;font-size:12px;margin-top:0; }   /* 老板2026-06-28·待上线池卡片 .todo .tm span{display:block} 会把品牌chip拉满整行→专门覆盖回 inline(跟字宽走·不随页面拉长) */
.imgzoom-in{ display:flex;flex-direction:column;align-items:center;gap:10px;max-width:92vw;max-height:92vh; }
.imgzoom-cap{ color:#fff;font-size:13px;background:rgba(15,23,42,.62);padding:6px 14px;border-radius:9px;max-width:560px;text-align:center;line-height:1.5; }
/* 第80批·AI设计工作台配置控件（步进/版本/图文占比滑块/参考图缩略/文案流程） */
.idc-stepper{ display:flex;align-items:center;gap:6px; }
.idc-step-b{ border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:7px;min-width:30px;height:26px;padding:0 9px;cursor:pointer;font-size:12px;font-weight:600;line-height:1; }
.idc-step-b:hover{ border-color:#c7d2fe; }
.idc-step-b.on{ background:#6366f1;color:#fff;border-color:#6366f1; }
.idc-step-n{ min-width:26px;text-align:center;font-weight:800;font-size:14px;color:#1e293b; }
.idc-layout{ display:flex;flex-direction:column;gap:3px; }
.idc-slide{ display:flex;align-items:center;gap:8px;font-size:11.5px;color:#64748b; }
.idc-slide span{ flex:0 0 54px; }
.idc-slide input[type=range]{ flex:1;accent-color:#7c3aed; }
.idc-slide b{ flex:0 0 40px;text-align:right;color:#7c3aed; }
.idc-refs{ display:flex;flex-wrap:wrap;gap:7px;margin-top:6px; }
.idc-refthumb{ position:relative;border:1px solid #e2e8f0;border-radius:8px;padding:3px;display:flex;flex-direction:column;align-items:center;gap:3px;width:84px; }
.idc-refthumb img{ width:76px;height:60px;object-fit:contain;border-radius:6px;cursor:zoom-in; }
.idc-refthumb select{ font-size:10px;border:1px solid #e2e8f0;border-radius:5px;width:78px;padding:1px; }
.idc-refthumb a{ position:absolute;top:-7px;right:-7px;background:#ef4444;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer; }
.idc-copyflow{ margin-top:8px;border:1px dashed #e9d5ff;border-radius:9px;padding:8px;background:#faf5ff; }
/* 第80批·组织成员分组表头行 */
tr.org-grp td{ background:#f1f5ff;font-weight:800;color:#3730a3;font-size:12.5px;padding:7px 10px;border-top:2px solid #c7d2fe; }
/* 第83批·考核中心 Tab 驾驶舱 */
.kpi-tabs{ display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;border-bottom:2px solid #eef2f7;padding-bottom:8px; }
.kpi-tabs .cfg-tab{ font-size:13.5px;font-weight:700; }
/* 第80批·薪酬激励配置（可编辑输入） */
.pay-grid{ display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px; }
.pay-f{ display:flex;flex-direction:column;font-size:11px;color:#64748b;gap:2px; }
.pay-f input{ border:1px solid #e2e8f0;border-radius:6px;padding:4px 6px;font-size:13px;color:#1e293b; }
.pay-f input:focus{ border-color:#a5b4fc;outline:none; }

/* ═══════════════════════════════════════════════════════════════════════════
   第5.0步·移动端登录与手机可用 polish（仅 ≤768px 生效·桌面零影响）
   桌面端布局完全不变；以下仅在手机/窄屏增强：触摸目标、防 iOS 聚焦缩放、弹窗满屏+吸底操作栏+底部安全区。
   ═══════════════════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  /* 触摸目标够大不挤压 */
  .btn{ min-height:42px; }
  .btn-sm{ min-height:38px; }
  /* 表单/弹窗输入框：够高好点 + 字号≥16px 防 iOS 聚焦时自动放大页面 */
  #f-body input, #f-body select, #f-body textarea,
  .form .fld input, .form .fld select, .form .fld textarea, .inp{ font-size:16px; min-height:42px; box-sizing:border-box; }
  /* 表单弹窗：满屏宽（#fdrawer inset:0 已满屏）+ 底部安全区 + 操作栏吸底（长表单随时可点保存/退出，不超屏不遮挡） */
  #fdrawer .drawer-body{ padding:16px 14px calc(20px + env(safe-area-inset-bottom)); }
  #fdrawer .form-foot{ position:sticky; bottom:0; background:#fff; margin:14px -14px 0; padding:12px 14px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); z-index:2; }
  /* 顶栏窄屏换行不挤压 */
  .top{ row-gap:6px; }
  /* 老板2026-06-28·手机端产品列表大图按比例缩小(桌面 .ci-main 128x150 → 窄屏 104x122·保持~0.85竖比例·给文字列让空间·与已立项池 .deal2-img 移动端统一为竖图)。必须放在 .ci-main 定义(行862)之后的本块：同特异性靠源码顺序覆盖·放更靠前的@media块会被862反盖(已真机验证) */
  .ci-main{ width:104px;height:122px; }
  #pc-onlinetbl input, #pc-onlinetbl select, #pc-onlinetbl textarea{ font-size:16px; }   /* 老板2026-06-28·已上线批量表格手机端·输入框≥16px 防 iOS 聚焦自动放大页面(该表在overlay·不在#f-body·上面16px规则覆盖不到) */
}
