*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:#f0f2f5;color:#222;line-height:1.6}
.wrap{max-width:1200px;margin:0 auto;padding:20px}
h1{font-size:22px;margin-bottom:16px}
h3{font-size:16px;margin-bottom:10px}
.card{background:#fff;border-radius:8px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
label{display:block;font-weight:600;margin:10px 0 4px;font-size:14px}
input[type=text],input[type=password],input[type=number],textarea,select{width:100%;padding:8px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;font-family:inherit;background:#fff}
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield}
textarea{min-height:60px;resize:vertical}
.row{display:flex;gap:16px;flex-wrap:wrap}
.row>div{flex:1;min-width:160px}
button{background:#1890ff;color:#fff;border:none;padding:8px 18px;border-radius:4px;font-size:14px;cursor:pointer;margin-top:12px}
button:hover{background:#40a9ff}
button.ghost{background:#fff;color:#1890ff;border:1px solid #1890ff}
button.sm{padding:3px 10px;margin:0;font-size:12px}
button.danger{background:#fff;color:#ff4d4f;border:1px solid #ff4d4f}
.hint{color:#6c6c6c;font-size:12px;margin-top:4px}
.err{background:#fff1f0;color:#a8071a;padding:10px;border-radius:4px;margin:10px 0}
a{color:#1890ff}
.tabs{display:flex;gap:4px;border-bottom:2px solid #1890ff;margin-bottom:16px;flex-wrap:wrap}
.tab{padding:8px 20px;cursor:pointer;border:1px solid transparent;border-bottom:none;border-radius:4px 4px 0 0;background:#fafafa;font-size:14px}
.tab.active{background:#1890ff;color:#fff}
.tab-badge{display:inline-block;background:#cf1322;color:#fff;font-size:11px;font-weight:600;min-width:18px;padding:0 5px;border-radius:9px;margin-left:6px;line-height:16px;text-align:center;vertical-align:middle}  /* 七十四步 C #19:审批 tab 待审核数徽标(红底白字,蓝/灰 tab 均醒目) */
.tabpane{display:none}.tabpane.active{display:block}
/* 七十一步:tab 导航分组——4 组(工作流/审核/分析/管理)间竖线分隔,不 reorder 保肌肉记忆。tab-group-start 加左间距+::before 竖线。 */
.tab.tab-group-start{margin-left:14px;position:relative}
.tab.tab-group-start::before{content:"";position:absolute;left:-8px;top:20%;bottom:20%;width:1px;background:#d9d9d9}
.tab.tab-group-start.row-leading{margin-left:0}  /* 七十一步:group-start 落行首(flex 换行)时去左间距+竖线,防游离竖线与左缘锯齿;_adjustGroupDividers 动态加 */
.tab.tab-group-start.row-leading::before{display:none}
/* 七十一步:跨 tab 深链跳转返回浮条(左下圆角 pill,selectProduct/jumpToProductPricing 跨 tab 时显,手动切 tab 清) */
#deepLinkReturn{position:fixed;bottom:18px;left:18px;background:#1890ff;color:#fff;padding:7px 16px;border-radius:18px;cursor:pointer;font-size:13px;font-family:inherit;box-shadow:0 2px 10px rgba(0,0,0,.18);z-index:100;display:none;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#deepLinkReturn:hover{background:#40a9ff}
table.lst{border-collapse:collapse;width:100%;font-size:14px}
table.lst th,table.lst td{border:1px solid #eee;padding:6px 8px;text-align:left;vertical-align:middle}
table.lst th{background:#fafafa}
.scrollx{overflow-x:auto}
.legend{display:flex;gap:16px;margin-bottom:10px;font-size:13px;align-items:center;flex-wrap:wrap}
.legend span{display:inline-flex;align-items:center;gap:4px}
/* 一四〇步:.prodsel(独立产品筛选框)随搜索合一退役删规则;下拉锚点改挂 .att-search(position:relative) */
.prod-dropdown{position:absolute;top:100%;left:0;right:0;max-height:320px;overflow-y:auto;background:#fff;border:1px solid #d9d9d9;border-top:none;border-radius:0 0 4px 4px;z-index:60;display:none;box-shadow:0 4px 8px rgba(0,0,0,.12)}
.prodopt{padding:7px 10px;cursor:pointer;font-size:14px;border-bottom:1px solid #f5f5f5}
.prodopt:last-child{border-bottom:none}
.prodopt:hover,.prodopt.active{background:#e6f7ff}
.prodopt small{margin-left:6px}
/* 对标导图:Excel 风格行内编辑表格 */
.mindmap-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.mindmap-toolbar .stats{font-size:15px}
.mindmap-toolbar .stats b{color:#1890ff}
#pane-pool .card.mindmap-toolbar{position:sticky;top:0;z-index:5}  /* 八十六步:#3 工具栏吸顶——窄屏/工具栏换行致页滚时,批量按钮(申请/对标/上链接/删除)钉顶可视;.card 自带 #fff 底+shadow 覆盖下滚内容;仅 pool(单工具栏无碰撞),overview 双 mindmap-toolbar(pickBar+toolbar)做 sticky 会重叠故不做 */
.gap-table-wrap{overflow-x:auto}  /* 八十六步:冻结表头——overflow-x:auto 经 CSS 怪癖把 overflow-y 算成 auto,wrap 成双向滚动盒;配下方 per-tab max-height 限高→真垂直滚动盒,th{sticky;top:0} 钉盒顶可见(无高度限制则不垂直滚,sticky 钉了也不显,表头随页滚走)。同时救活 td.master-cell sticky 左列。 */
#pane-pool .gap-table-wrap{max-height:calc(100vh - 280px)}  /* 八十八步#2 定值:外部仅工具栏+页头;280 留余量,窄屏工具栏换行超高时由 sticky 工具栏兜底(08-30 晚:筛选独立行与表顶引导灰字条退役,工具栏更矮,余量更足,280 沿用;滚动盒首子=表格) */
#pane-overview .gap-table-wrap{max-height:calc(100vh - 350px)}  /* overview:pickBar+toolbar+页头,无 sticky 兜底故偏松避页滚 */
#pane-opportunity .gap-table-wrap{max-height:calc(100vh - 290px)}  /* 机会矩阵:chrome 最少;矩阵在 .gap-table-wrap 内(app.js:3978),th sticky-top 配合生效 */
.dev-group-body .gap-table-wrap{max-height:none}  /* 八十六步:developing/审批分组内小表(每组几行)不冻结——否则每个 .dev-group 一个 100vh 滚动盒堆叠灾难;小表整页滚表头不会跑远,无需冻结 */
.card.gap-table-wrap{padding:0}  /* 七十六步:scroll 容器去 padding——sticky 列贴 card 左边框无缝隙,根治"最左列没贴左边、往右滑右侧内容从 padding 缝隙透出"(padding 在 scroll 容器上→sticky 钉在 content-box 边留 padding 缝,内容滚入透出;去 padding 则 content-box=padding-box=0,sticky 贴边无缝) */
.card.gap-table-wrap .legend{padding:8px 20px 0}  /* legend 保留内边距避贴 card 圆角;表 full-bleed 贴边 */
.gap-table{border-collapse:collapse;width:100%;min-width:1120px;font-size:13px}
.gap-table th{background:#f5f5f5;border-bottom:2px solid #d9d9d9;padding:8px 10px;text-align:left;white-space:nowrap;position:sticky;top:0;z-index:2}
.gap-table td{border-bottom:1px solid #f0f0f0;padding:7px 10px;vertical-align:top}
.gap-table tbody tr:hover td:not(.master-cell){background:#fafcff}
.gap-table td.master-cell{background:linear-gradient(to right,#fff calc(100% - 2px),#595959 calc(100% - 2px));border-bottom:1px solid #fafafa;width:44px;vertical-align:middle;text-align:center;position:sticky;left:0;z-index:1}
/* 七十步:宽表 sticky 左列——对标导图主品列(产品图)横向滚动时钉住;th 主品=左+顶双 sticky 角,z-index:3 高于顶 sticky th(:2)避穿帮。
   七十五步定案(workflow 4视角):bg 改#fff+gradient右缘2px#595959 Excel冻结线(删#fafafa浮板色差+border-right);删outset投影(=悬浮感,Excel冻结无投影);锁特异性.gap-table td.master-cell(0,2,1);配套?v=75+no-store击败缓存(三次"没变"根因)。 */
.gap-table th.sticky-corner{left:0;z-index:3;background:linear-gradient(to right,#f5f5f5 calc(100% - 2px),#595959 calc(100% - 2px))}
.master-cell .mc-inner{padding:2px}
.master-cell .mc-name{font-weight:700;font-size:13px;margin:1px 0;line-height:1.3}
.master-cell .mc-stat{font-size:11px;color:#666;line-height:1.3}
.comp-row .col-name{min-width:140px;border-left:3px solid #d9d9d9}
.comp-row.new-row .col-name{border-left-style:dashed;border-left-color:#faad14}
/* 九十一步:录入人列——纯 <span> 只读(无 data-cid/data-field,valOf 读不到→collectRowBody 不传,红线#4 防线2/3)。
   窄列小字灰;pool 在 col-name(末个左冻结 left:170)后滚动,非冻结,偏移不变(CSS 按 class 非 nth-child)。 */
.col-entered{min-width:62px;max-width:92px;white-space:nowrap}
.col-entered .entered-by{display:inline-block;font-size:11px;color:#8c8c8c;max-width:86px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.col-sp,.col-note{min-width:130px}
.col-idx{width:38px;min-width:38px;text-align:center;color:#6e6e6e;font-size:12px;user-select:none}
.op-bar{height:14px;background:#1890ff;border-radius:3px;min-width:2px}  /* 九十五步:仪表盘录入统计分布条 */
.col-pay{min-width:100px}
.col-unit{min-width:80px}
.th-src{display:block;font-size:11px;color:#6e6e6e;font-weight:normal;line-height:1.3;white-space:nowrap;margin-bottom:2px}
.col-unit .cell-in{text-align:center}
.col-url{min-width:130px}  /* 八十三步:160→130(URL 缩小 10px 后可收窄) */
.col-our{min-width:130px}
/* 八十三步:竞品链接列——URL 字母对人眼无用,缩小 10px + 右侧内嵌打开按钮(新标签不泄露来源) */
.url-cell{position:relative}
.col-url .cell-url{font-size:10px;padding-right:46px}  /* 八十四:22→42→46(两按钮位+安全余量,对抗修复防宽字形 emoji 相触遮文字) */
.url-open{position:absolute;right:2px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;padding:1px 3px;font-size:13px;line-height:1;border-radius:3px;color:#1890ff}
.url-copy{position:absolute;right:24px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;padding:1px 3px;font-size:12px;line-height:1;border-radius:3px;color:#8c8c8c}  /* 八十四:复制按钮(打开按钮左侧,right 22→24 与打开按钮留缝) */
.url-open:hover,.url-copy:hover{background:#e6f7ff}
.url-cell:has(.cell-url:placeholder-shown) .url-open,
.url-cell:has(.cell-url:placeholder-shown) .url-copy{opacity:.3;pointer-events:none;cursor:default}  /* 空链自动置灰两按钮不可点 */
.col-op2{min-width:90px}
.col-ops{white-space:nowrap}
.col-ops button{margin-right:3px}
/* 七十步:对标导图段头(seg-head=每条我方链接下竞品分组头)——此前无 CSS 规则,裸 td 不像分组头。
   蓝系浅底+上下蓝边框区别普通行;seg-head-inner flex 排版让链接/方向/操作一行铺开不挤;seg-ops margin-left:auto 推右。 */
.gap-table tr.seg-head td{background:#f0f7ff;border-top:2px solid #91d5ff;border-bottom:2px solid #91d5ff;padding:0}
.seg-head-inner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px}
.seg-link{font-weight:600}
.seg-meta{font-size:12px;color:#555}
.seg-ops{margin-left:auto;white-space:nowrap}
.seg-ops button{margin-left:3px}
.gap-table tbody tr.seg-head:hover td{background:#f0f7ff}  /* 七十步:seg-head hover 保蓝底(避 .gap-table tbody tr:hover td:not(.master-cell) (0,3,3) 覆盖段头 bg;同特异性源码序在后胜) */
.cell-in{width:100%;min-width:50px;box-sizing:border-box;border:1px solid transparent;background:transparent;padding:3px 5px;border-radius:3px;font-size:13px;font-family:inherit;color:#333}
.cell-in:hover{background:#f0f7ff}
.cell-in:focus{border-color:#40a9ff;background:#fff;outline:none}
.col-name .cell-in{font-weight:600;min-width:120px}
.col-brand{min-width:100px}
.col-brand .cell-in{min-width:80px}
/* 价格带(双输入+杠) */
.col-price{min-width:130px}
.price-band{display:flex;align-items:center;gap:2px}
.price-band input{width:58px;min-width:48px;padding:3px 5px;border:1px solid transparent;background:transparent;border-radius:3px;font-size:13px;font-family:inherit;text-align:center;color:#333}
.price-band input:hover{background:#f0f7ff}
.price-band input:focus{border-color:#40a9ff;background:#fff;outline:none}
.price-band .dash{color:#8c8c8c;font-size:11px;margin:0 -1px}
.col-rev{min-width:80px}
.col-rev .cell-in{text-align:center}
.col-rev:has(.trend-btn){position:relative}  /* 八十八步#5:绝对定位贴 cell 右中(镜像 .url-cell 模式,非 td display:flex 免 border-collapse 行框错位) */
.col-rev:has(.trend-btn) .cell-in{padding-right:20px}  /* 预留 📈 位(box-sizing:border-box,width:100% 盒不变,右内边距让按钮不压数字);:has 仅命中带按钮的已存竞品行(pool 1506/overview 1277),new-row/只读 .col-rev 无按钮不受影响 */
/* 主打方向(单选下拉+其他手输) */
.col-dir{min-width:96px}
.maindir-wrap{display:flex;flex-direction:column;gap:3px}
select.cell-sel{width:100%;min-width:90px;padding:3px 5px;border:1px solid transparent;background:transparent;border-radius:3px;font-size:13px;font-family:inherit;cursor:pointer;color:#333}
select.cell-sel:hover{background:#f0f7ff}
select.cell-sel:focus{border-color:#40a9ff;background:#fff;outline:none}
.maindir-wrap input.md-custom{padding:3px 5px;border:1px solid #d9d9d9;border-radius:3px;font-size:13px;min-width:90px}
/* 目标人群(多选 chips 下拉面板) */
.col-aud{min-width:110px}
.col-pay .price-band input{width:40px;min-width:36px}
.aud-cell{position:relative}
.aud-display{min-height:24px;cursor:pointer;padding:3px 6px;border:1px solid transparent;border-radius:3px;font-size:13px;line-height:1.6;min-width:100px}
.aud-display:hover{background:#f0f7ff}
.aud-display.empty{color:#8c8c8c}
.aud-chip{display:inline-block;background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff;border-radius:10px;padding:0 8px;margin:2px 3px 2px 0;font-size:12px;line-height:1.7}
/* 八十四步:目标人群 >2 个标签收起——第3个起 CSS 隐藏 + +N 计数(title 含剩余、hover 展开)。显示层,hidden 值不变(红线#4)。 */
.aud-display .aud-chip:nth-child(n+3){display:none}
.aud-more{display:inline-block;background:#fafafa;color:#8c8c8c;border:1px dashed #d9d9d9;border-radius:10px;padding:0 8px;margin:2px 3px 2px 0;font-size:12px;line-height:1.7}
.aud-display:hover .aud-chip:nth-child(n+3){display:inline-block}
.aud-display:hover .aud-more{display:none}
.aud-panel{position:fixed;z-index:80;background:#fff;border:1px solid #d9d9d9;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.15);padding:8px 10px;min-width:210px;display:none}
.aud-panel.show{display:block}
.aud-panel label{display:flex;align-items:center;gap:6px;font-weight:400;margin:3px 0;font-size:13px;cursor:pointer}
.aud-panel .aud-other{margin-top:6px;border-top:1px dashed #eee;padding-top:6px}
.aud-panel .aud-other input{margin-top:3px}
.root-pic{width:20px;height:20px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:6px;border:2px solid #fff}
.prod-pic{width:42px;height:42px;object-fit:cover;border-radius:4px;border:1px solid #eee;vertical-align:middle}
.root-pic,.prod-pic{cursor:zoom-in}
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9999;align-items:center;justify-content:center;cursor:zoom-out}
.lightbox.show{display:flex}
.lightbox img{max-width:90vw;max-height:90vh;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.5)}
/* 竞品池:状态标签 + 开品中行 + 对标 modal */
.col-status{min-width:78px;text-align:center;white-space:nowrap}  /* 八十八步(部分回退八十七#4):恢复 nowrap 保徽标横排一行(status-tag+low-price 同行);dup-warn 另设 white-space:normal 突破继承允折行不撑列 */
.status-tag{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;background:#f0f0f0;color:#666}
.col-status .status-tag,.col-status .low-price-warn{display:inline-block;font-size:10px;line-height:1.4;padding:1px 5px;margin-top:0;vertical-align:middle;white-space:nowrap}  /* 八十八步(部分回退八十七#4):横排一行+缩字(12→10px);特异性(0,2,0)>.status-tag/.low-price-warn(0,1,0) 确定性胜;display:inline-block 显式钉防全局漂移;white-space:nowrap 与 cell 继承双保险一行;low-price-warn 仅 col-status 作用域——overview 件单价列/developing/opp 弹窗三处 12px 横排不受影响 */
.col-status .dup-warn{display:block;width:fit-content;max-width:100%;margin:2px auto 0;white-space:normal;font-size:10px;padding:1px 5px}  /* dup-warn 独占一行:block+white-space:normal 突破 cell nowrap 继承,长品名在列宽内折行不撑列;width:fit-content+max-width:100% 短文居中 pill/长文 cap 折行;app.js 换序(lpwHtml 在前)使 status+low-price 同行 line1、dup 独占 line2 */
.status-tag.dev{background:#fff7e6;color:#ad6800;border:1px solid #ffd591}
.comp-row.dev-row td{background:#fffbf5}
.comp-row.dev-row:hover td{background:#fff5e6}
.col-ops button.op-match{background:#fff;color:#52c41a;border:1px solid #52c41a}
.col-ops button.op-dev{background:#fff;color:#fa8c16;border:1px solid #fa8c16}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;display:flex;align-items:flex-start;justify-content:center;padding-top:70px}
.modal-card{background:#fff;border-radius:8px;padding:20px;width:460px;max-width:92vw;max-height:80vh;overflow-y:auto;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.modal-card h3{margin-bottom:6px}
#matchList{max-height:320px;overflow-y:auto;border:1px solid #eee;border-radius:4px;margin-top:8px}
/* 定价管理:定价卡片(状态边框) + 迷你价格轴 */
.price-card{border:1px solid #eee;border-left:4px solid #52c41a;border-radius:4px;padding:10px 12px;margin-bottom:10px;background:#fafcff}
.price-card.pstat-yellow{border-left-color:#faad14;background:#fffbe6}
.price-card.pstat-red{border-left-color:#ff4d4f;background:#fff1f0}
.price-card .pc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.price-card .pc-head b{font-size:14px}
.price-card .pc-info{margin:2px 0}
.price-axis{margin-top:8px;padding:6px 0;border-top:1px dashed #eee}
.price-axis .pa-title{margin-bottom:4px}
.price-axis .pa-row{display:flex;align-items:center;gap:8px;margin:3px 0}
.price-axis .pa-name{width:64px;flex-shrink:0;font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}
.price-axis .pa-track{position:relative;flex:1;height:14px;background:#f5f5f5;border-radius:2px;min-width:120px}
.price-axis .pa-bar{position:absolute;top:2px;height:10px;background:#91d5ff;border-radius:2px}
.price-axis .pa-line{position:absolute;top:-2px;height:18px;width:2px}
.price-axis .pa-our{background:#1890ff;width:3px}
.price-axis .pa-redline{background:#ff4d4f;width:2px}
.price-axis .pa-red-lbl{color:#ff4d4f;font-size:12px;font-weight:600}
/* SKU 价格带:摘要格(点击弹窗编辑明细) */
.priceband-summary{cursor:pointer;padding:3px 6px;border:1px solid transparent;border-radius:3px;min-height:24px;display:flex;align-items:center}
.priceband-summary:hover{background:#f0f7ff;border-color:#91d5ff}
.priceband-summary .pbs-text{font-size:13px;color:#1890ff;font-weight:600;white-space:nowrap}
/* SKU 明细编辑行(modal 内) */
.sku-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.sku-row .sku-spec{flex:1.4}
.sku-row .sku-price{flex:1;text-align:center;max-width:120px}
/* 定价管理:SKU 级只读对比表 */
.pricing-meta{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:14px;margin-bottom:8px}
.pricing-meta span{display:inline-flex;align-items:center;gap:4px}
.pricing-legend{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.sku-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;line-height:1.6;white-space:nowrap}
.sku-badge.green{background:#f6ffed;color:#389e0d;border:1px solid #b7eb8f}
.sku-badge.yellow{background:#fffbe6;color:#ad6800;border:1px solid #ffe58f}
.sku-badge.red{background:#fff1f0;color:#a8071a;border:1px solid #ffa39e}
.sku-badge.none{background:#fafafa;color:#6b6b6b;border:1px solid #e8e8e8}
.pricing-summary{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:15px;margin-top:8px}
.att-sum{display:inline-flex;align-items:center;gap:4px}
.att-clickable{cursor:pointer;padding:2px 8px;border-radius:6px}
.att-clickable:hover{background:#fff1f0}
/* 一三九步:.diff-badge(较上次徽章)随基线对比 UI 整链退役 */
#lowList{max-height:60vh;overflow-y:auto;margin-top:8px}
.att-section{margin-bottom:14px}
.att-h{font-weight:600;margin-bottom:6px;padding:4px 10px;border-radius:4px;display:inline-block}
.att-h.red{background:#fff1f0;color:#a8071a;border-left:3px solid #ff4d4f}
.att-h.yellow{background:#fffbe6;color:#ad6800;border-left:3px solid #faad14}
table.att-tbl{font-size:13px}
table.att-tbl td{max-width:200px;word-break:break-all}
table.sku-cmp{min-width:720px}
table.sku-cmp th{white-space:nowrap}
table.sku-cmp tr.st-red td{background:#fff1f0}
table.sku-cmp tr.st-yellow td{background:#fffbe6}
table.sku-cmp tr.st-green td{background:#f6ffed}
table.sku-cmp tr.st-none td{background:#fafafa;color:#6b6b6b}  /* 一二五步(密度):#999 对比度≈2.8:1 难读,#6b6b6b≈4.6:1 */
table.sku-cmp tr.st-red:hover td{background:#ffe9e8}      /* 一二五步(密度):hover 分态——统一浅蓝会盖掉红/黄行染色(指针下状态色消失) */
table.sku-cmp tr.st-yellow:hover td{background:#fff8d0}
table.sku-cmp tr.st-green:hover td{background:#effbe3}
table.sku-cmp tr.st-none:hover td{background:#f0f0f0}
.cth-name{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}  /* 一二五步(密度):竞品列头限宽省字,全名悬浮 title 看;nowrap 审查修:无它 ellipsis 不生效 */
.alerts-block{display:block;font-size:11px;color:#8c8c8c;margin-top:2px;white-space:normal;line-height:1.5}  /* 一二五步(密度):alerts 从 nowrap 徽章内移出,块级换行不撑宽状态列 */
tr.flash-hl td{outline:2px solid #faad14;outline-offset:-2px}  /* 一二五步#4:SKU 行级锚定高亮(卡级 .pricing-link-card.flash-hl 动画已有) */
/* 竞品池:批量勾选列 + 待开品组 card(组=一个待开品,左边框橙色标识开品) */
.col-sel{width:36px;min-width:36px;text-align:center}
.col-sel input[type=checkbox]{margin:0;cursor:pointer}
.dev-group{border-left:4px solid #fa8c16}
/* 机会矩阵(价格带 × 主打方向 交叉热力图) */
table.matrix-tbl{border-collapse:collapse;font-size:13px;margin-top:6px}
table.matrix-tbl th,table.matrix-tbl td{border:1px solid #ececec;padding:6px 4px;text-align:center;vertical-align:middle}
table.matrix-tbl th{background:#fafafa;font-weight:600;white-space:nowrap;position:sticky;top:0;z-index:2}  /* 八十六步:矩阵表头冻结(配 #pane-opportunity .gap-table-wrap max-height 真滚动盒);列头 th z-index:2;角 th 见下行 234 z-index:3(高于列头 2+列体 1,避横向滚列头覆盖角) */
table.matrix-tbl td.matrix-rowlabel{background:linear-gradient(to right,#fff calc(100% - 2px),#595959 calc(100% - 2px));font-weight:600;white-space:nowrap;position:sticky;left:0;z-index:1;border-right:none}  /* 七十五步定案(workflow 4视角):三次"没变"根因=①浏览器缓存(no-cache 无ETag/304校验器吐旧CSS)②outset投影本身是悬浮elevation感(Excel冻结窗格无投影,"锦上添花"反加重漂浮)③#b0b0b0太弱糊进#ececec+#fafafa底色差制造浮板;改:删投影/主体#fff同tbody消除浮板/分隔#595959 Excel冻结深灰2px/锁特异性0,2,2>td 0,1,2/border-right:none+相邻border-left:none消竞争#ececec让深灰唯一分隔;配套index.html?v=75+server.py no-store击败缓存 */
table.matrix-tbl td.matrix-rowlabel + td{border-left:none}  /* collapse 两侧都 none 才真消竞争边框 */
table.matrix-tbl thead th:first-child{position:sticky;left:0;z-index:3;background:linear-gradient(to right,#fafafa calc(100% - 2px),#595959 calc(100% - 2px))}  /* 七十五步定案:角 th 同步#595959分隔(与列体连续);删投影(Excel冻结无投影);主体#fafafa同thead;★九十八步d:z-index 2→3 高于列头 th z-index:2,横向滚动时列头向左移不覆盖 sticky 角 th(原 2=2 同值 DOM 靠后覆盖 bug) */
.matrix-cell{min-width:92px;height:58px;line-height:1.4}
.matrix-cell b{font-size:15px}
.matrix-cell.tag-opportunity{box-shadow:inset 0 0 0 2px #52c41a}
.matrix-cell.tag-redocean{box-shadow:inset 0 0 0 2px #ff4d4f}
/* 竞品趋势 */
.trend-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);cursor:pointer;font-size:13px;line-height:1}  /* 八十八步#5:绝对定位贴 cell 右中(镜像 .url-cell 模式,非 td display:flex 免 border-collapse 行框错位);input padding-right:20px 让位,原 inline+width:100% 致 📈 换行撑高→现单行缩高 */
.trend-btn:hover{background:#e6f7ff;border-radius:3px}  /* UI 清理批:📈 悬停显可点(镜像 .url-open/.url-copy hover 范式) */
.trend-chart{margin-bottom:8px}
.trend-svg{border-bottom:1px solid #f0f0f0;padding-bottom:4px;margin-bottom:6px}
.trend-svg svg{display:block;margin-top:2px}
/* 待开品列表 审核态徽标 */
.badge-pending{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;line-height:1.6;background:#fff7e6;color:#ad6800;border:1px solid #ffd591}
.badge-approved{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;line-height:1.6;background:#f6ffed;color:#389e0d;border:1px solid #b7eb8f}
.badge-rejected{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;line-height:1.6;background:#fff1f0;color:#cf1322;border:1px solid #ffa39e}
/* 九十一步:顶栏当前用户 + 账号管理/改密 modal 表单 */
.cur-user{font-size:13px;color:#333;margin-right:4px}
.cur-user .sso-title{font-size:12px;color:#888;margin-left:2px;max-width:120px;overflow:hidden;
text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}
.ua-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ua-form .cell-in{min-width:0}
/* 待开品列表 三段标题(待审核/审核通过/审核驳回) */
.dev-section-title{font-size:16px;margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid #eee;color:#333;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dev-section-title b{color:#1890ff}
/* 快速录入条样式已随 ⚡快速录入卡整体退役删除(08-30 用户令;录入入口=表底新增行)。 */
/* 建议徽章样式已随自动归类退役删除(08-24)。 */
/* 去重提示(同链接重复录入,不阻断仅警告) */
.dup-warn{margin-top:3px;font-size:12px;color:#a8071a;background:#fff1f0;border:1px solid #ffa39e;border-radius:3px;padding:1px 5px;line-height:1.5}
/* 同产品同方向碰撞提醒(琥珀,提醒≠红色防呆;seg-meta/by_link h4 行内 span) */
.dir-coll-warn{display:inline-block;margin-left:4px;font-size:12px;color:#ad6800;background:#fff7e6;border:1px solid #ffd591;border-radius:3px;padding:1px 5px;line-height:1.5}
/* 竞品代表价低于地板价提醒(琥珀,只读不阻断;池 div 块栈/opp 弹窗 span 行内) */
.low-price-warn{display:inline-block;margin-top:3px;font-size:12px;color:#ad6800;background:#fff7e6;border:1px solid #ffd591;border-radius:3px;padding:1px 5px;line-height:1.5}
/* 六十三步 (g):低价分诊徽标(复用 .low-price-warn 基类 + kind 修饰色) */
.kind-just{color:#a8071a;background:#fff1f0;border-color:#ffa39e}     /* 🔴刚降价:红系(价格战信号) */
.kind-persist{color:#ad6800;background:#fff7e6;border-color:#ffd591}  /* ⚠️持续低:琥珀(背景噪音=基类色) */
.kind-new{color:#096dd9;background:#e6f7ff;border-color:#91d5ff}       /* 🔵新增低价:蓝系(新入局) */
/* 六十三步 (a):已开品完成徽标(蓝灰,区别于已审核绿) */
.badge-done{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;line-height:1.6;background:#e6f7ff;color:#096dd9;border:1px solid #91d5ff}
/* 六十三步 (c):停留时长预警(只读徽标,琥珀提醒超期未跟进) */
.stale-badge{color:#ad6800;background:#fff7e6;border:1px solid #ffd591;border-radius:3px;padding:0 4px;margin-left:4px}
/* 机会矩阵:我方覆盖角标(✓对标X/Y 绿 / ✗未对标 红) */
.matrix-cell .cov{display:block;color:#237804;font-size:11px;line-height:1.2;margin-top:1px}
.matrix-cell .cov-no{display:block;color:#cf1322;font-size:11px;line-height:1.2;margin-top:1px}
/* 按运营表(二十九步):窄列+数据缺口/待开品/定价预警徽章,横向 scrollx 容纳多列 */
.op-tbl th,.op-tbl td{white-space:nowrap;vertical-align:top}
.op-tbl td:last-child{white-space:normal}  /* 负责的链接列允许换行 */
.gap-warn{display:inline-block;color:#a8071a;background:#fff1f0;border:1px solid #ffa39e;border-radius:3px;padding:1px 5px;font-size:12px;line-height:1.5}
.dev-tag{display:inline-block;color:#ad6800;background:#fff7e6;border:1px solid #ffd591;border-radius:3px;padding:1px 5px;font-size:12px;line-height:1.5}
.pk-badge{display:inline-block;font-size:12px;line-height:1.5;white-space:nowrap}
.op-tbl .dir-chip{display:block;margin:1px 0;font-size:12px;line-height:1.4;white-space:nowrap}
/* 按产品视图:一行一产品折叠+定价徽章(定价跳转+布局重构) */
.prod-row{border:1px solid #eee;border-radius:4px;margin-bottom:6px;background:#fafcff;overflow:hidden}
.prod-row > summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px}
.prod-row > summary::-webkit-details-marker{display:none}
.prod-row[open] > summary{border-bottom:1px solid #eee;background:#f0f7ff}
.prod-row .pr-name{font-weight:600;flex:0 0 auto;min-width:120px}
.prod-row .pr-cell{font-size:13px;white-space:nowrap;flex:0 0 auto}
.prod-row .pr-dirs{display:flex;gap:3px;flex-wrap:wrap;align-items:center;flex:1 1 auto;min-width:120px}
.prod-row > table{margin:0}
.pk-click{cursor:pointer}
.pk-click:hover{background:#e6f7ff;border-radius:3px}
/* 我方链接统计:三视图搜索框 + 按链接块 */
#pane-links .card h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.link-search{margin-left:auto;width:220px;padding:4px 8px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px;font-family:inherit}
.link-block{margin-bottom:8px}
/* 待开品列表:双层折叠(段级 details + 组级 details)+ 组标题命名(三十六步) */
.dev-section{margin-bottom:8px}
.dev-section>summary{cursor:pointer;list-style:none}
.dev-section>summary::-webkit-details-marker{display:none}
.dev-section-tools{margin:4px 0 8px;display:flex;gap:6px}
.dev-group{padding:0;overflow:hidden}                 /* 覆盖 .card padding:20px,保留 border-left:#fa8c16 */
.dev-group>summary.dev-group-summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px}
.dev-group>summary::-webkit-details-marker{display:none}
.dev-group[open]>summary{border-bottom:1px solid #eee;background:#fffaf2}
.dev-arrow{display:inline-block;color:#6e6e6e;font-size:12px;transition:transform .15s}
.dev-group[open]>summary .dev-arrow{transform:rotate(90deg)}   /* ▶→▼ 纯 CSS */
.dev-prodname{font-weight:600;font-size:15px;color:#222;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dev-meta{font-size:12px;color:#666;white-space:nowrap}
.dev-group-body{padding:12px 16px}
.dev-actions{margin-top:8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
/* ---------- 定价 SKU 跟踪留痕(三十七步)2026-09-11 随状态列(pa_status 手标层)整体退役:红/黄徽章即全部状态 ---------- */
/* ---------- 调价申请只读徽标(六十六步,方案A:纯前端 join,后端零改;09-11 迁「调价」列就地容器 .pcr-cellb) ---------- */
.pcr-cellb{white-space:nowrap;line-height:1.7}
.pcr-info{display:block;margin-bottom:3px}
.pcr-badge{display:inline-block;padding:1px 6px;border-radius:9px;font-size:12px;line-height:1.5;white-space:nowrap;vertical-align:middle}  /* 单类,源码序在 .badge-pending/approved/rejected(193-195)之后,特异性相等靠源码序覆盖其 padding/font-size/line-height;颜色 background/color/border 继承 .badge-* */
.badge-cancelled{background:#fafafa;color:#8c8c8c;border:1px solid #d9d9d9}  /* cancelled 灰:低强调(撤回≠驳回) */
.pcr-hist{display:inline-block;margin-left:4px;vertical-align:middle}
.pcr-hist>summary{display:inline-block;cursor:pointer;font-size:11px;color:#1890ff;list-style:none;white-space:nowrap}
.pcr-hist>summary::-webkit-details-marker{display:none}
.pcr-hist[open]>summary{color:#096dd9}
.pcr-hist-list{white-space:normal;max-width:320px;margin-top:4px;padding:6px 8px;background:#fafafa;border:1px solid #f0f0f0;border-radius:4px}
.pcr-hist-item{font-size:11px;line-height:1.7;color:#555}
.pcr-hist-item .pcr-badge{margin-right:4px}
/* ---------- 砍日常税(三十九步)---------- */
/* B2 脏标记:未保存的编辑行(黄系,区别于 new-row 虚线橙) */
.comp-row.dirty td{background:#fffbe6}
.comp-row.dirty:hover td{background:#fff8d0}
.comp-row.dirty .col-name{border-left:3px solid #ffe58f}
/* B3 预填方向样式已随自动归类退役删除(08-24)。 */
/* ---------- 运营上移链接级 + Q1 无对标链接清单(四十五步)---------- */
.op-missing{color:#ff4d4f}
.zero-link-click{color:#ad6800;cursor:pointer;font-weight:600}
.zero-link-click:hover{text-decoration:underline}
.zero-badge{display:inline-block;padding:1px 6px;background:#fff7e6;color:#ad6800;border:1px solid #ffd591;border-radius:3px;font-size:12px;line-height:1.5;margin-left:4px}
.link-block.zero-link{background:#fffbe6;border-left:3px solid #faad14;padding:4px 8px}
/* 六十九步:同方向碰撞高亮(紫 #722ed1 刻意区别于 zero-link 琥珀,两种状态视觉分离)。
   定义在 .zero-link 后:同时 zero-link+coll-link 时 coll-link 的 bg/border 覆盖,但两枚内联徽标(⚠️无对标/⚠️同方向碰撞)并存仍可区分。 */
.link-block.coll-link{background:#f9f0ff;border-left:3px solid #722ed1;padding:4px 8px}
.dir-coll-click{color:#722ed1;cursor:pointer;font-weight:600}
.dir-coll-click:hover{text-decoration:underline}
#collOnlyBtn.active{background:#722ed1;color:#fff;border-color:#722ed1}
/* ---------- 五十二步:我方链接统计三视图切换按钮 + 方向 chip 可点 ---------- */
.ls-tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.ls-tab{padding:6px 14px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer;font-size:13px;font-family:inherit;color:#333}
.ls-tab:hover{border-color:#1890ff;color:#1890ff}
.ls-tab.active{background:#1890ff;color:#fff;border-color:#1890ff}
.op-tbl .dir-click{cursor:pointer;color:#1890ff}
.op-tbl .dir-click:hover{text-decoration:underline}
/* ---------- 六十四步:定价管理链接搜索 + 跳转锚定高亮 ---------- */
.pricing-link-card.flash-hl{animation:pgFlash 1.5s ease-out}
@keyframes pgFlash{0%{background:#fff7e6;box-shadow:0 0 0 2px #faad14}100%{background:transparent;box-shadow:none}}
/* 七十四步 A1:#13 桌面窄窗 tab 不换行断连——内部桌面工具无移动场景,仅 1100px 断点让 11 tab 横滚而非换行(换行致分组竖线/active 态视觉断连) */
@media(max-width:1100px){.tabs{overflow-x:auto;flex-wrap:nowrap}.tab{flex:0 0 auto}}
/* 七十四步 A1:#15 生意参谋镜像列(支付/单价)左侧色条区分——border-left 不受行级 td 背景覆盖(边框独立于背景),源码序安全 */
.comp-row .col-pay{border-left:3px solid #bae7ff}
.comp-row .col-unit{border-left:3px solid #d9f7be}
/* 七十四步 A1:toast 通知样式(helper toast() 见 app.js;右下角栈,左边框配色按 kind) */
#toast-stack{position:fixed;right:20px;bottom:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:360px}
.toast{display:flex;align-items:center;gap:10px;background:#fff;border-radius:6px;padding:10px 14px;box-shadow:0 4px 16px rgba(0,0,0,.15);font-size:13px;border-left:4px solid #1890ff;animation:toastIn .18s ease-out}
.toast.toast-ok{border-left-color:#52c41a}
.toast.toast-err{border-left-color:#ff4d4f}
.toast.toast-warn{border-left-color:#faad14}
.toast.toast-info{border-left-color:#1890ff}
.toast .toast-msg{flex:1;line-height:1.5}
.toast .toast-action{margin:0;white-space:nowrap}
@keyframes toastIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}
/* 七十四步 A2 #20:数值输入软提示——cellIn number 加 min=0,负值触发 :invalid 红框(非阻断,不阻止保存);pay_low>pay_high 显黄标 */
.cell-in:invalid{border-color:#ff4d4f;background:#fff1f0}
.pay-band-warn{color:#faad14;font-size:11px;margin-left:2px;font-weight:600}
/* 七十四步 F #30:审核必填高亮——待审核组缺 brand/name/category 的 cell 红框淡红底(复用 #ff4d4f/#fff1f0 配色,非阻断只提醒) */
.req-missing{outline:1px solid #ff4d4f;background:#fff1f0;border-radius:2px}
/* ===== 八十八步#4:主打方向选「其他」时隐 select 只显 md-custom 文本一行;▾ 按钮临时显 select 切回标准项。select display:none 后 .value 仍可读——五处读取零改(红线#4 镜像不变)。 ===== */
.maindir-wrap.is-other{flex-direction:row;align-items:center;gap:2px}
.maindir-wrap.is-other>select{display:none}
.maindir-wrap.is-other>.md-custom{flex:1;min-width:0}
.md-back{display:none;cursor:pointer;padding:2px 4px;color:#1890ff;font-size:12px;line-height:1.4;border-radius:3px}
.md-back:hover{background:#f0f7ff}
.maindir-wrap.is-other>.md-back{display:inline-flex}
/* ===== 2026-08-28 退役:竞品池表冻结列层(八十八步#6 左4右1 sticky + 八十九偏移 + fz-bg 变量机制 + #595959 冻结线)整层删除 =====
   用户令:池表复用「我方链接」档案表形式(table.lst.arc-tbl:普通表格+仅表头吸顶+横滚,行高 4px/8px+13px)。
   横向滚动时行首(链接/品名)不再钉左——与档案表同款取舍;行识别靠行 hover 联动与列宽放开后更少截断。
   删除面:L398-431(宽钉/sticky 偏移/行态变量/冻结分隔线)全部;保留面:表头吸顶走基座 .gap-table th{sticky;top:0}(L60)不动。 */

/* 一百零二步:仪表盘录入统计 rank-prow(复用财务运营排行视图:序号+名|条|值,前3名奖牌金银铜;去占比列) */
.rank-prow{display:flex;flex-direction:column;gap:1px;padding:5px 4px;font-size:13px;border-radius:3px}
.rank-prow:hover{background:#f8fafc}
.rank-main{width:100%;display:flex;align-items:center;gap:6px}
.rank-idx{color:#6e6e6e;font-size:11px;min-width:16px;flex-shrink:0;font-variant-numeric:tabular-nums}
.rank-medal{font-size:16px;min-width:16px;flex-shrink:0;text-align:center;line-height:1}
.op-bar-label{width:72px;flex-shrink:0;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.op-bar-div{flex:1;display:flex;height:14px;position:relative;min-width:60px}
.op-bar-half{flex:1;display:flex;height:100%}
.op-bar-poshalf{justify-content:flex-start}
.op-bar-fill{height:100%;border-radius:2px}
.op-bar-val{width:52px;flex-shrink:0;text-align:right;color:#334155;font-weight:600;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.rank-col-foot{font-size:11px;color:#64748b;padding:6px 4px 4px;margin-top:4px;border-top:1px solid #e2e8f0;background:#f8fafc;border-radius:0 0 3px 3px}
.rank-note{font-size:11px;color:#6e6e6e;margin-top:6px}
.rank-prow.peak-op{background:rgba(251,191,36,0.13)}
.rank-prow.peak-op:hover{background:rgba(251,191,36,0.22)}
.rank-prow.peak-silver{background:rgba(148,163,184,0.15)}
.rank-prow.peak-silver:hover{background:rgba(148,163,184,0.24)}
.rank-prow.peak-bronze{background:rgba(251,146,60,0.13)}
.rank-prow.peak-bronze:hover{background:rgba(251,146,60,0.22)}
.rank-prow.peak-op .op-bar-label,.rank-prow.peak-silver .op-bar-label,.rank-prow.peak-bronze .op-bar-label{font-weight:700}

/* 一百零三步:按运营表表头冻结(#ls-view-op .scrollx 加 max-height 成垂直滚动盒 + thead th sticky;top:0 钉盒顶,上下滑表头常驻;复用 .gap-table-wrap 模式) */
#ls-view-op .scrollx{max-height:calc(100vh - 300px)}
.op-tbl thead th{position:sticky;top:0;z-index:2;background:#fafafa}
/* 一一一步:首列「运营」左冻结——「负责的链接」列极宽必横向滚,滚右后行首列常驻(行身份不丢);照抄 matrix-tbl
   左冻结范式(七十五步定案:不透明底+右侧 2px #595959 Excel 冻结深灰分隔,无投影;td z:1/角 th z:3 高于列头 z:2
   ——九十八步d 同值覆盖教训);配套 index.html ?v=81 */
.op-tbl td:first-child{position:sticky;left:0;z-index:1;background:linear-gradient(to right,#fff calc(100% - 2px),#595959 calc(100% - 2px));font-weight:600}
.op-tbl thead th:first-child{position:sticky;left:0;z-index:3;background:linear-gradient(to right,#fafafa calc(100% - 2px),#595959 calc(100% - 2px))}


/* ===== 一零五步:竞品池聚水潭式行编辑——显示态纯文本(.pv),点击行进编辑态(单行) ===== */
#pane-pool .gap-table tbody td .pv{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;line-height:normal}  /* 单行省略;08-28 行高对齐档案表(原 22px 对齐 cell-in 输入框视觉→normal=档案表 13px 自然行高,点行进编辑会略跳高,临时态可接受) */
.col-url .cell-url-pv{display:inline-block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-size:10px;padding-right:46px}  /* 镜像 .col-url .cell-url:10px 小字+46px 右内边距避让 abs 两按钮 */
.url-cell.url-view[data-url=""] .url-copy,
.url-cell.url-view[data-url=""] .url-open{opacity:.3;pointer-events:none;cursor:default}  /* 显示态空链置灰两按钮(编辑态由 :has(:placeholder-shown) 管) */
#pane-pool .gap-table tbody tr.comp-row td:not(.col-sel):not(.col-ops):not(.col-price){cursor:pointer}  /* 可点击进编辑的暗示;勾选/操作列各走各的;SKU 价格格自有 pointer(priceband-summary) */

/* ===== 一零六步:审批 tab 待办/档案双视图(对标上链接+调价审批共用) ===== */
#pane-link_requests .card.lr-toolbar,
#pane-price_change_requests .card.lr-toolbar{position:sticky;top:0;z-index:5}  /* 工具栏吸顶(镜像 pool L51 专属选择器,这里两审批 pane 各自作用域);.card 自带 #fff 底+shadow 盖住下滚内容 */
.lr-bar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lr-viewbar{display:flex;gap:6px;flex-shrink:0}
.lr-viewbar .ls-tab{margin-top:0}  /* 抵全局 button{margin-top:12px},与同行搜索框基线对齐(只作用本工具栏,不动存量 .ls-tabs) */
.lr-searchwrap{flex:1 1 360px;min-width:260px;display:flex;align-items:center;gap:6px;position:relative}
.lr-mag{font-size:14px;color:#999;flex-shrink:0}
/* 恒显白底描边:全局 .cell-in(L105)是行内编辑隐形样式(transparent 底/边,hover 才显),不适合搜索框(用户反馈:不悬停看不见);放大一号 */
.lr-searchwrap input.cell-in{flex:1;min-width:220px;background:#fff;border:1px solid #c4ccd8;border-radius:4px;padding:7px 10px;font-size:13px}
.lr-searchwrap input.cell-in:hover{background:#f7fbff;border-color:#40a9ff}
.lr-searchwrap input.cell-in:focus{border-color:#40a9ff;background:#fff}
.lr-clear{border:none;background:#f5f5f5;border-radius:4px;cursor:pointer;font-size:12px;color:#666;padding:3px 7px;line-height:1;flex-shrink:0;margin:0}  /* margin:0 抵全局 button{margin-top:12px}(审查修:居中 flex 行下沉 6px) */
.lr-clear:hover{background:#e8e8e8;color:#333}
.lr-livecount{font-size:12px;color:#888;white-space:nowrap;flex-shrink:0}
.lr-arcrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px dashed #e2e8f0}
.lr-flab{font-size:12px;color:#888}
.lr-arcrow .cell-in{padding:3px 6px;font-size:12px;width:auto;max-width:150px}
.lr-arcrow .lr-fdate{width:120px}
.lr-arcrow select.cell-in{max-width:170px}
.lr-chips{display:inline-flex;gap:6px;margin-left:4px}
.lr-chip{padding:2px 10px;border:1px solid #d9d9d9;border-radius:12px;background:#fff;cursor:pointer;font-size:12px;font-family:inherit;color:#555;margin:0}  /* margin:0 抵全局 button{margin-top:12px}(审查修) */
.lr-chip:hover{border-color:#722ed1;color:#722ed1;background:#fff}  /* background 必须显式:全局 button:hover{background:#40a9ff}(0,1,1) 会压过 .lr-chip{background:#fff}(0,1,0) 蓝底紫字(审查修) */
.lr-chip.active{background:#722ed1;border-color:#722ed1;color:#fff}  /* 激活紫,镜像 #collOnlyBtn.active */
.lr-unptip{margin:8px 0 0;padding:8px 12px;background:#fff7e6;border:1px solid #ffd591;border-radius:6px;font-size:13px;color:#ad6800}
.lr-unptip a{color:#ad6800;font-weight:600}
.lr-ghead{margin:12px 0 6px;font-size:14px;font-weight:600;color:#333}
.lr-ghead b{color:#1890ff}
.dev-group>summary.dev-group-summary .lr-sub{flex-basis:100%;font-size:11px;color:#999;font-weight:normal;padding-left:20px;line-height:1.5}  /* 摘要第 2 行元信息(两行式重构,flex-basis 换行) */
.lr-next{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;white-space:nowrap;flex-shrink:0}
.lr-next.k-amber{background:#fff7e6;color:#ad6800;border:1px solid #ffd591}
.lr-next.k-blue{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}
.lr-next.k-red{background:#fff1f0;color:#cf1322;border:1px solid #ffa39e}
.lr-next.k-gray{background:#fafafa;color:#8c8c8c;border:1px solid #e8e8e8}
.lr-up{font-size:11px;margin-left:2px}
.lr-arc-wrap{max-height:calc(100vh - 240px);overflow:auto;margin-top:8px;border:1px solid #e8e8f0;border-radius:6px}  /* 限高让 thead sticky(L60 .gap-table th top:0)真显;只作用档案表,不碰待办卡内竞品表 */
.lr-arc-tbl{margin:0}
.lr-arc-tbl tbody tr.lr-arcr{cursor:pointer}
.lr-arc-tbl tbody tr.lr-arcr:hover td{background:#f0f7ff}  /* 画在 td 上:全局 .gap-table tbody tr:hover td:not(.master-cell){#fafcff}(0,3,3) 会盖住 tr 背景(同 L104 seg-head 修法,审查修) */
.lr-arc-tbl td.lr-c-id{white-space:nowrap;font-size:12px;color:#666}
.lr-arc-tbl td.lr-c-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lr-arc-tbl td.lr-c-2l{font-size:12px;line-height:1.5}
.lr-arc-tbl td.lr-c-2l .lr-sub{display:block;font-size:11px;color:#999}
.lr-arc-tbl td.lr-exp{width:28px;color:#999;text-align:center}
.lr-arc-tbl tr.lr-arcd>td{background:#fafcff;border-bottom:1px solid #eef2f8;padding:8px 12px}
.lr-arc-mini{max-height:260px;overflow:auto;margin:4px 0}
.lr-pager{display:flex;align-items:center;gap:10px;margin:8px 0;flex-wrap:wrap}
.lr-empty{text-align:center;padding:16px}
.lr-donecard{padding:28px 16px;line-height:2}

/* ===== 一一二步(P1):🗂 链接档案第四视图 ===== */
.arc-chipbar{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px;align-items:center}
.arc-chip{border:1px solid #c4ccd8;background:#fff;border-radius:14px;padding:2px 10px;font-size:12px;cursor:pointer;color:#333;margin:0}  /* margin:0 防全局 button margin-top:12px(审查修) */
.arc-chip:hover{background:#f0f7ff;border-color:#93c5fd;color:#1d4ed8}  /* 盖全局 button:hover 纯蓝底(0,2,0)>(0,1,1) */
.arc-chip b{color:#ad6800;margin-left:2px}
.arc-chip.active,.arc-chip.active:hover{background:#eef4ff;border-color:#2563eb;color:#1d4ed8}
.arc-chip.active b{color:#1d4ed8}
.arc-x{cursor:pointer;color:#64748b;margin-left:2px}
.arc-x:hover{color:#dc2626}
table.lst.arc-tbl td,table.lst.arc-tbl th{padding:4px 8px;font-size:13px;white-space:nowrap}  /* 带 table.lst 提升特异性,压过 table.lst th/td 的 6px 密排(审查修) */
#ls-view-arc .scrollx{max-height:calc(100vh - 300px);overflow:auto}  /* 100 行/页冻结表头前提(同 ls-view-op 范式) */
.arc-tbl thead th{position:sticky;top:0;background:#fafafa;z-index:2;box-shadow:0 1px 0 #e2e8f0}
.arc-row:hover{background:#f8fafc}
.arc-miss{color:#d97706;font-size:12px}
.arc-exp{cursor:pointer;color:#64748b;font-weight:700}  /* 审查修:死类补规则(手型+色);08-28 运营格✏️复用 */
.arc-opname{cursor:pointer;text-decoration:underline dotted #94a3b8;text-underline-offset:3px}  /* 08-28 运营格方案A;09-14 点运营名=行下展开/收起时间线条(toggle;铅笔/弹窗双退役) */
.arc-opname:hover{color:#1d4ed8;background:#eff6ff}
/* 08-28 行尾🕘列退役:.arc-tbl td:last-child{width:28px;text-align:center} 随之删(末列=对标格,窄宽+居中会把⚠️徽标挤折行) */
.arc-card{border:1px solid #bfdbfe;border-radius:8px;background:#fff;padding:8px 12px}  /* 一一九步:随编辑器移入弹窗保留卡壳;09-14 三轮在 op-cell 语境覆写退役(见下) */
/* 09-14 三轮瘦身(用户令:行高尽可能小):.arc-zone/.arc-card-h + .arc-zone/.arc-zone-h/.arc-zone-h .hint
   四规则随编辑器卡头+区头整体退役删除(块头 .arc-tl-bh 即标题,保存钮并底部按钮行) */
/* 09-14 二轮(用户令:直接对照对应列):展开条改锚列起跨——空段(1-6)+SKU块(起于SKU价格列,跨3列)
   +时间线块(起于运营列,跨到表尾);两块独立开关(点SKU价格格/点运营名)。表格列宽由数据行定,
   块内内容自动换行不撑列(★对抗审查实锤修:table.lst.arc-tbl td(0,2,2) 的 nowrap/padding 直接命中
   条 td,裸 .arc-tl-tr>(0,1,1)/.arc-tl-*(0,1,0) 全败——被镜像的池先例 #pane-pool .gap-table tbody
   tr.pool-editing td 本就靠 id 前缀(1,2,3)才赢;三条规则挂 table.lst.arc-tbl 前缀 (0,3,3)/(0,3,2) 压制) */
table.lst.arc-tbl tr.arc-tl-tr > td{background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:normal}  /* 展开条内容回可换行:nowrap 会把卡头长品名/长提示撑爆表格列宽,开/关块全表列宽跳动 */
table.lst.arc-tbl td.arc-tl-gap{padding:0}  /* 空段零内边距(4px/8px 会给空 td 平添 16px 宽=列宽微跳) */
table.lst.arc-tbl td.arc-tl-cell{vertical-align:top;padding:4px 8px 5px;border-left:1px dashed #e2e8f0}  /* 两内容块以左虚线互相分隔;顶对齐=块内多行时头不悬空;09-14 三轮:padding 6/10/8→4/8/5 收行高 */
table.lst.arc-tbl td.arc-tl-op-cell .arc-card{padding:0 6px 2px;border:none;background:transparent;border-radius:0}  /* 09-14 三轮:编辑器卡壳在 op-cell 语境退役(0,4,2) 压基类 (0,1,0)——段行直接铺块单元格,与左 SKU 块同构对齐 */
.arc-tl-bh{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-weight:600;font-size:13px;margin:0 0 2px}
.arc-tl-bh .hint{font-weight:400}
.arc-tl-krow{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:12.5px;padding:1px 0;border-bottom:1px dashed #f1f5f9}  /* 09-14 三轮:padding 2→1 收行高 */
.op-arc-jump{color:#1d4ed8}
.op-arc-jump:hover{text-decoration:underline}
.arc-row-hl{animation:arcflash 2.4s}
@keyframes arcflash{0%{background:#fde68a}100%{background:transparent}}
.mono{font-family:ui-monospace,SFMono-Regular,Consolas,Menlo,monospace}  /* 审查修:本批 18 处引用的死类补规则(数字/编码列等宽对齐) */
/* 一一九步(第二批):链接档案 行内编辑格(聚水潭式) */
.arc-ced{cursor:edit}
.arc-ced:hover,.arc-ced:focus{background:#fef9c3;outline:1px dashed #d4a017;outline-offset:-2px}
/* 一二三步:档案前端ID 列可点跳转。08-23:默认即蓝色数字(用户定:不移上去也能看出能点开);文字=纯ID 可划选复制 */
.arc-fid{color:#1890ff;text-decoration:none;cursor:pointer}
.arc-fid:hover{color:#1890ff;text-decoration:underline}
.arc-fid:focus{outline:1px dashed #1890ff;outline-offset:2px}
/* 08-23 我方链接十项改:搜索框下方批量操作条(勾选行→批准/驳回/删除/改运营/对标/改上架时间/改状态) */
.arc-batchbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0 8px;padding:6px 8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}
.arc-batchbar .vsep{width:1px;align-self:stretch;background:#e2e8f0;margin:0 2px}

/* ---------- 一二五步:定价管理·需关注巡查子视图(双子视图吸顶工具条 + 43 行主表 + 行展开) ---------- */
.pr-tb{position:sticky;top:0;z-index:20;padding:8px 14px 0}  /* 吸顶工具条:子视图切换+全局汇总+巡查筛选(顶部 .tabs 不吸顶,无叠层冲突) */
.tb-row{display:flex;align-items:center;gap:8px;padding:6px 0;flex-wrap:wrap}
.pr-chiprow{padding-bottom:8px;border-top:1px dashed #f0f0f0}
.chip{border:1px solid #d9d9d9;border-radius:12px;padding:2px 10px;cursor:pointer;background:#fff;color:#595959;font-size:12px;font-family:inherit;line-height:1.6;margin:0}  /* margin:0 抵全局 button{margin-top:12px}(审查修:flex 行内 chip 下沉) */
.chip.on{background:#1890ff;color:#fff;border-color:#1890ff}
.chip.sw{background:#f6ffed;border-color:#b7eb8f;color:#52c41a}  /* 开关型 chip(隐藏已处理):绿=生效 */
.chip.sw.on{background:#52c41a;color:#fff;border-color:#52c41a}
/* 审查修:全局 button:hover{background:#40a9ff} (0,1,1) 盖过 .chip (0,1,0) → 白字蓝底变蓝字蓝底;逐态显式覆写 */
.chip:hover{background:#fff;border-color:#1890ff;color:#1890ff}
.chip.on:hover{background:#40a9ff;color:#fff;border-color:#40a9ff}
.chip.sw:hover{background:#f6ffed;border-color:#73d13d;color:#389e0d}
.chip.sw.on:hover{background:#73d13d;color:#fff;border-color:#73d13d}
.tb-row .ls-tab{margin-top:0}  /* 审查修:同款全局 button margin-top 抵消(镜像 .lr-viewbar .ls-tab 先例) */
.att-search{display:flex;align-items:center;gap:4px;border:1px solid #d9d9d9;border-radius:4px;padding:2px 8px;background:#fff;font-size:12px;position:relative}
.att-search input{border:none;outline:none;font-size:12.5px;font-family:inherit;width:250px}
.att-search-x{cursor:pointer;color:#bfbfbf;font-size:12px}
.att-search-x:hover{color:#595959}
.pr-att-card{padding:0;overflow:hidden}          /* 巡查主表卡:内滚盒交给 .att-wrap */
.att-wrap{max-height:calc(100vh - 170px);overflow:auto}
/* 巡查主表:表头冻结(滚动盒内)+左右冻结列(状态/调价),新类 pr-att-tbl 避开 lowModal 用的 att-tbl */
table.pr-att-tbl{font-size:13px}
table.pr-att-tbl thead th{position:sticky;top:0;background:#fafafa;z-index:3;white-space:nowrap;box-shadow:0 1px 0 #e2e8f0}
table.pr-att-tbl td.c-st,table.pr-att-tbl th.c-st{position:sticky;left:0;z-index:2;box-shadow:inset -2px 0 0 #e8e8e8}
table.pr-att-tbl thead th.c-st{z-index:4;background:#fafafa}
table.pr-att-tbl td.c-act,table.pr-att-tbl th.c-act{position:sticky;right:0;z-index:2;box-shadow:inset 2px 0 0 #e8e8e8}
table.pr-att-tbl thead th.c-act{z-index:4;background:#fafafa}
table.pr-att-tbl tr.st-red td,table.pr-att-tbl tr.st-yellow td{background:inherit}  /* 行染色挂在 tr,sticky td 透明继承(滚动不透底) */
table.pr-att-tbl tr.st-red{background:#fff1f0}
table.pr-att-tbl tr.st-yellow{background:#fffbe6}
table.pr-att-tbl tr.st-red:hover td{background:#ffe9e8}
table.pr-att-tbl tr.st-yellow:hover td{background:#fff8d0}
tr.grp td{font-weight:700;padding:7px 10px;font-size:13px;letter-spacing:.5px}
tr.red-grp td{background:#fff1f0;border-left:3px solid #ff4d4f;color:#ad1f2b}
tr.yellow-grp td{background:#fffbe6;border-left:3px solid #faad14;color:#8c6b0f}
.c-arrow{width:24px;text-align:center;cursor:pointer;color:#1890ff;user-select:none}
.c-arrow:hover{background:#e6f7ff}
.c-st{width:96px}
.c-prod{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.c-prod:hover{color:#1890ff;text-decoration:underline}
.c-link{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#595959}
.c-spec{max-width:120px}
.c-price{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
/* 09-25 实付区间列(定价管理巡查/明细/展开矩阵+档案SKU块):右对齐不换行,数字并排件量小字 */
.c-jst{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.jst-band{display:inline-block;min-width:0}
.jst-band small.hint{font-size:10px}
.jst-band.jst-drill{cursor:pointer;border-bottom:1px dotted #8c8c8c}   /* 09-27 成交下钻可点暗示(点开逐单明细弹窗) */
.jst-low{color:#ad6800;font-weight:600}
.c-rate{white-space:nowrap;font-variant-numeric:tabular-nums}
.c-why{font-size:12px;color:#595959;min-width:150px;line-height:1.5}
.c-act{text-align:center}
/* 一三九步:.new-tag(行内新增上标)随基线对比 UI 整链退役 */
/* 行展开:该链接全部规格×竞品 mini 矩阵 */
.att-exp td{background:#fafcff;padding:0}
.exp-box{padding:10px 14px;border-left:3px solid #1890ff;margin:4px 6px;background:#fff;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.07)}
.exp-url{font-size:11px;color:#595959;word-break:break-all;margin-bottom:6px}
.exp-url a{color:#1890ff;text-decoration:none}
.exp-decide{background:#e6f7ff;border-radius:4px;padding:6px 10px;font-size:12.5px;margin-bottom:8px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.exp-jump{color:#1890ff;text-decoration:none;margin-left:auto;cursor:pointer}
.exp-jump:hover{text-decoration:underline}
.exp-title{font-size:12px;color:#595959;margin:4px 0}
table.mini-tbl{font-size:12px}
table.mini-tbl th,table.mini-tbl td{padding:4px 8px}
table.mini-tbl tr.st-red td{background:#fff1f0}
table.mini-tbl tr.st-yellow td{background:#fffbe6}
table.mini-tbl tr.st-green td{background:#f6ffed}
table.mini-tbl tr.st-none td{background:#fafafa;color:#6b6b6b}
table.mini-tbl tr.att-cur td{outline:2px solid #1890ff;outline-offset:-2px}  /* 当前行(发起展开的那条规格)高亮 */
/* 审查修:table.lst th/td{text-align:left} (0,1,2) 盖过 .c-price/.c-act/.c-arrow (0,1,0) → 数字列左对齐;提特权显式覆写(含 mini-tbl 同挂 lst 类) */
table.pr-att-tbl th.c-price,table.pr-att-tbl td.c-price,table.mini-tbl th.c-price,table.mini-tbl td.c-price{text-align:right}
table.pr-att-tbl th.c-act,table.pr-att-tbl td.c-act,table.pr-att-tbl td.c-arrow{text-align:center}
.xcat{color:#ad6800;cursor:help;font-weight:700}   /* ⊘:有价但跨品类被滤,悬浮 title 解释 */
/* PCR 弹窗依据条(一二五步#1) */
.pcr-basis{background:#e6f7ff;border-radius:6px;padding:8px 10px;font-size:12.5px;margin:6px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
/* ===== 一三一步→2026-08-28 二次收敛:竞品池表=「我方链接」档案表形式(table.lst.arc-tbl 配方,全部锁 #pane-pool 作用域) =====
   冻结层退役后本层简化:统一 1px #eee 边框(无冻结格 carve-out)、表头 #fafafa+影线、hover/新增/编辑行态、
   长文本列 max-width+ellipsis(替固定宽钉)、数字列等宽;行高由 .pv line-height:normal 对齐档案表(见下方 .pv 规则)。 */
#pane-pool .gap-table{font-size:13px}
#pane-pool .gap-table th,#pane-pool .gap-table td{border:1px solid #eee;padding:4px 8px;white-space:nowrap;vertical-align:middle}
/* 表头:档案表=浅底+1px 影线(替基座 #f5f5f5+2px 粗黑线;边框由上方统一 1px #eee 规则出,吸顶沿用基座 .gap-table th{sticky;top:0}) */
#pane-pool .gap-table thead th{background:#fafafa;box-shadow:0 1px 0 #e2e8f0}
/* 生意参谋镜像列 3px 蓝/绿条(七十四步 A1#15)随档案表化退役:表头 .th-src「来源:生意参谋」标签已足;恢复键=b ae7ff/d9f7be 两行 */
#pane-pool .gap-table .priceband-summary{min-height:0;padding:1px 4px}
/* hover=档案色(无冻结格后无需 carve-out;(1,2,2) 压基座 .gap-table tbody tr:hover td:not(.master-cell) (0,3,3) 的 #fafcff) */
#pane-pool .gap-table tbody tr:hover td:not(.master-cell){background:#f8fafc}
/* 新增行=档案表草稿行同款淡黄底 */
#pane-pool .gap-table tr.new-row td{background:#fffdf5}
/* 长文本列 max-width+ellipsis(档案表品名 max-width:240 手法;URL 基座 min-width:130/品名 .cell-in min-width:120 保留供编辑态输入框)。
   08-28 审查补:col-brand/col-dir 两自由文本列同封顶(旧:只有 min-width,长品牌/「其他」手输长文撑爆 16 列表,冻结列退役后右滚行身份全失);
   显示态两列均走 _pvSpan(自带 title 全文悬停),挂链行方向 span.hint 无 title 但档案 Tab 可查全量 */
#pane-pool .gap-table td.col-url{max-width:230px}
#pane-pool .gap-table td.col-name{max-width:240px}
#pane-pool .gap-table td.col-aud{max-width:220px}
#pane-pool .gap-table td.col-note{max-width:280px;overflow:hidden;text-overflow:ellipsis}
#pane-pool .gap-table td.col-brand{max-width:200px;overflow:hidden;text-overflow:ellipsis}
#pane-pool .gap-table td.col-dir{max-width:200px;overflow:hidden;text-overflow:ellipsis}
/* 数字/日期列等宽(档案表 .mono 手法) */
#pane-pool .gap-table td.col-idx,#pane-pool .gap-table td.col-rev,#pane-pool .gap-table td.col-pay,
#pane-pool .gap-table td.col-unit,#pane-pool .gap-table td.col-created,#pane-pool .gap-table td.col-price .pbs-text{
  font-family:ui-monospace,SFMono-Regular,Consolas,Menlo,monospace;font-variant-numeric:tabular-nums}
/* 编辑行高亮(pool-editing 由 _rerenderPoolRow/poolNewRowHtml 编辑态挂) */
#pane-pool .gap-table tbody tr.pool-editing td:not(.master-cell){background:#e6f4ff}
/* 编辑态人群 chips:池内全平铺+隐「+N」(一三一 P2 修复:基座 .aud-display .aud-chip:nth-child(n+3) 折叠+hover 展开=3+ 人群不可全见且行高反复跳;
   08-28 重写块时误删,对抗审查找回自 .bak-132step-20260821 L654-655/672-674;min-height:0/padding 1px 2px=对齐 4px/8px 矮行,基座 min-height:24px 会撑高编辑行) */
#pane-pool .gap-table .aud-display{min-height:0;padding:1px 2px;min-width:0;line-height:1.5}
#pane-pool .gap-table .aud-chip{line-height:1.5;margin:1px 3px 1px 0}
#pane-pool .gap-table .aud-display .aud-chip{display:inline-block}
#pane-pool .gap-table .aud-display .aud-chip:nth-child(n+3){display:inline-block}
#pane-pool .gap-table .aud-display .aud-more{display:none}
/* 编辑态行回可换行:nowrap 会把全字段输入行撑出 181px 横滚,尾列保存钮挤出视野(实测内联对比);
   显示态保持档案表单行,编辑态是临时态功能优先(输入框/select 本就各自成行) */
#pane-pool .gap-table tbody tr.pool-editing td{white-space:normal}

/* ===== 一三二步:五项改造(①搜索条恒显框 ④定价审核工具栏 ⑤开品管理加工单式) ===== */
/* ①档案列搜索条恒显白底框:全局 .cell-in(L105)是行内编辑隐形样式(透明底/边),搜索条误用=不聚焦看不见;
   照 .lr-searchwrap(L484)同款范式,作用域锁 #arcColSearch(容器内只有搜索行,不波及表格行内编辑器);select 同步统一 */
#arcColSearch .cell-in{background:#fff;border:1px solid #c4ccd8;border-radius:4px;padding:6px 9px;font-size:13px;color:#333}
#arcColSearch .cell-in:hover{background:#f7fbff;border-color:#40a9ff}
#arcColSearch .cell-in:focus{border-color:#40a9ff;background:#fff;outline:none}
#arcColSearch input[type="date"].cell-in{padding:5px 6px;font-size:12.5px;color:#333}  /* date 框原生日历图标占位,内边距微收 */
.arc-ld-sep{color:#999;font-size:12px;padding:0 1px}

/* ④定价管理:聚水潭式审核工具栏 + 勾选行(一三八步:默认藏,勾选≥1 在途行 .show 浮现) */
.pr-bar{display:none}
.pr-bar.show{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0 10px}
.pr-cnt{font-size:12.5px;color:#666}
.pr-cnt b{color:#ad6800}
.pr-selinfo{background:#e6f7ff;border:1px solid #91d5ff;border-radius:4px;padding:4px 10px;font-size:12.5px;color:#1890ff;display:none}
.btn-primary{background:#1890ff;color:#fff;border:1px solid #1890ff;border-radius:4px;padding:5px 14px;font-size:13px;cursor:pointer;font-family:inherit}
.btn-primary:hover{background:#40a9ff}
.btn-outline{background:#fff;color:#1890ff;border:1px solid #1890ff;border-radius:4px;padding:5px 14px;font-size:13px;cursor:pointer;font-family:inherit}
.btn-outline:hover{background:#e6f7ff}
.btn-outline.danger{color:#ff4d4f;border-color:#ff4d4f}
.btn-outline.danger:hover{background:#fff1f0}
.btn-primary:disabled,.btn-outline:disabled{background:#f5f5f5 !important;border-color:#d9d9d9 !important;color:#b0b0b0 !important;cursor:not-allowed}
tr.pr-pend td{background:#fffbe6}  /* 有待审批申请的行淡黄底提示(与勾选高亮叠加时勾选态优先由 tr.sel 覆盖,本系统无 tr.sel 于巡查表,安全) */

/* ===== 一三八步:定价管理减法改版(单行顶栏+8 列主表+表尾脚注+展开区 SKU 账) ===== */
#pricingWinCtl{position:relative}  /* 窗选择钮锚点:下拉弹层 .win-pop 以此定位 */
.win-pop{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:40;background:#fff;border:1px solid #d9d9d9;border-radius:6px;box-shadow:0 3px 10px rgba(0,0,0,.14);padding:8px 10px;gap:6px;align-items:center;flex-wrap:wrap;max-width:660px}
.win-pop.open{display:flex}
#pricingAttChips{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
/* 产品/规格合并格:品名单行省略(可点跳产品定价),规格次行小字省略;title 悬停见全文 */
.c-prod2{max-width:240px}
.c-prod2 .p-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;font-weight:500}
.c-prod2 .p-name:hover{color:#1890ff;text-decoration:underline}
.c-prod2 .p-spec{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#595959;margin-top:1px}
/* 表尾常驻脚注:✅计数纯文本+📝/看全部/回需关注 chip 入口(一三九步:新增钮随基线对比退役);回链默认藏(chip!=att 时 .show) */
.att-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 14px;border-top:1px dashed #e8e8e8;font-size:12.5px}
.att-foot .att-back{display:none}
.att-foot .att-back.show{display:inline-block}
/* 展开区:竞品逐列矩阵收进折叠 details(默认收,summary 即入口) */
.exp-det{margin:6px 0 2px}
.exp-det>summary{cursor:pointer;font-size:12.5px;color:#1890ff;user-select:none;padding:2px 0}
.exp-det>summary:hover{text-decoration:underline}
.exp-det[open]>summary{margin-bottom:4px}
/* 审核栏全选钮(label+checkbox 行内对齐) */
.pr-chkall{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:#595959;cursor:pointer}
/* PCR 在途/终态徽章族(09-11 状态列退役后=调价列 .pcr-cellb 内唯一状态呈现,与红/黄价格徽章并存) */
.kp-badge{display:inline-block;border-radius:3px;font-size:12px;padding:1px 8px;line-height:18px;white-space:nowrap}
.kp-badge.pcr-pending{background:#e6f7ff;color:#096dd9;border:1px solid #91d5ff}
.kp-badge.pcr-approved{background:#f6ffed;color:#389e0d;border:1px solid #b7eb8f}
.kp-badge.pcr-rejected{background:#fff1f0;color:#ff4d4f;border:1px solid #ffa39e}

/* ⑤开品管理:聚水潭加工单式 */
.kp-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0 10px}
.kp-bar .cell-in{background:#fff;border:1px solid #c4ccd8;border-radius:4px;padding:6px 9px;font-size:13px}
.kp-bar select.cell-in{cursor:pointer;padding:5px 8px}
.kp-badge.st-audit{background:#fff7e6;color:#ad6800;border:1px solid #ffd591}
.kp-badge.st-pass{background:#f6ffed;color:#389e0d;border:1px solid #b7eb8f}
.kp-badge.st-rej{background:#fff1f0;color:#cf1322;border:1px solid #ffa39e}
.kp-done-sub{display:inline-block;font-size:11px;color:#8c8c8c;border:1px solid #d9d9d9;border-radius:3px;padding:0 5px;margin-left:5px;line-height:16px;vertical-align:1px}
.kp-detail{margin-top:12px;border:1px solid #c4ccd8;border-radius:6px;background:#fff}
.kp-detail-h{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:6px 6px 0 0;font-size:13px;flex-wrap:wrap}
.kp-detail-h b{font-size:14px}
.kp-detail-body{padding:10px 12px}
table.lst.arc-tbl tr.kp-rowhl td{background:#e6f7ff}  /* 开品管理选中行(带 !important 防行态覆盖;arc-row hover 在其后声明仍可覆盖非冻结格,可接受) */
.kp-mini-bar{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
/* 一三二步补充:⏳ 组+PCR 状态徽章 cell */
.pr-att-tbl tr.grp.pcr-grp td{background:#e6f7ff;color:#096dd9;font-weight:600}
.pr-newp{color:#ad6800}
.pr-att-tbl .pr-chk input[type="checkbox"]{cursor:pointer}
/* 09-26B 合并表分组:✅正常有成交(绿系)/📝无定价待补录(琥珀系) */
.pr-att-tbl tr.grp.cmp-grp td{background:#f6ffed;color:#389e0d;font-weight:600}
.pr-att-tbl tr.grp.unp-grp td{background:#fffbe6;color:#ad6800;font-weight:600}
/* 11-03 定价看板(13b_pricing_board):判色=实际推广费比 vs 现价能扛线;旧合并表折叠在 #pricingOldWrap */
.pb{background:#fff;border-radius:8px;padding:16px 18px;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,.08);color:#0b0b0b}
.pb-sub{color:#52514e;font-size:14px;margin-bottom:12px}
.pb-ref{color:#8a8984;font-size:12px}
.pb-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}
.pb-tile{background:#fcfcfb;border:1px solid #e6e5e0;border-radius:10px;padding:10px 14px;cursor:pointer}
.pb-tile.on{outline:2px solid #2a78d6}
.pb-n{font-size:26px;font-weight:600;line-height:1.3}.pb-l{color:#52514e;font-size:13px}
.pb-dot{width:9px;height:9px;border-radius:50%;display:inline-block;vertical-align:middle}
.pb-tip{background:#fcfcfb;border:1px solid #e6e5e0;border-left:4px solid #2a78d6;border-radius:8px;padding:10px 14px;margin-bottom:12px}
.pb-tip b{font-size:15px}.pb-tiprow{display:flex;gap:28px;margin:6px 0 4px;flex-wrap:wrap}
.pb-k{color:#52514e;font-size:12px}.pb-v{font-size:18px;font-weight:600}.pb-tip small{color:#8a8984;font-size:12px}
.pb-bar{display:flex;gap:8px;align-items:center;margin:8px 0;flex-wrap:wrap}
.pb-bar select{width:auto;padding:4px 8px}.pb-bar input[type=text]{width:180px;padding:4px 8px}
.pb-chip{background:#fff;color:#222;border:1px solid #e6e5e0;border-radius:14px;padding:3px 10px;margin:0 4px 0 0;font-size:13px}
.pb-chip:hover{background:#f6f8fc}.pb-chip.on{background:#2a78d6;color:#fff;border-color:#2a78d6}
.pb-tblwrap{overflow-x:auto}
table.pb-tbl{width:100%;border-collapse:collapse;border:1px solid #e6e5e0;font-size:13px}
.pb-tbl>thead>tr>th{font-weight:500;color:#52514e;font-size:12px;text-align:left;padding:7px 8px;border-bottom:1px solid #e6e5e0;background:#f4f4f1;white-space:nowrap}
.pb-tbl th.pb-sort{cursor:pointer}.pb-tbl th.pb-sort.on{color:#0b0b0b}
.pb-tbl>thead>tr>th small{display:block;color:#8a8984;font-weight:400}
.pb-tbl>tbody>tr>td{padding:7px 8px;border-bottom:1px solid #efeee9;vertical-align:middle}
.pb-tbl>tbody>tr>td.num,.pb-tbl>thead>tr>th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.pb-tbl tr.pb-r{cursor:pointer}.pb-tbl tr.pb-r:hover>td,.pb-tbl tr.pb-r.open>td{background:#f6f8fc}
.pb-tbl tr.pb-crit>td:first-child{box-shadow:inset 3px 0 0 #d03b3b}.pb-tbl tr.pb-warn>td:first-child{box-shadow:inset 3px 0 0 #fab219}
.pb-nm{font-weight:500;max-width:190px}.pb-fid{color:#8a8984;font-size:11px}
.pb-tiers{display:flex;flex-wrap:wrap;gap:3px;max-width:150px}.pb-tiers span{background:#f1f1ee;border-radius:4px;padding:1px 6px;font-size:12px;white-space:nowrap}
.pb-meter{position:relative;width:140px;height:10px;background:#f1f1ee;border-radius:5px}
.pb-mf{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:#2a78d6}
.pb-cap{position:absolute;top:-4px;bottom:-4px;width:2px;background:#0b0b0b}
.pb-meter.over .pb-mf{background:#d03b3b}
.pb-mt{font-size:12px;color:#52514e;margin-top:3px;white-space:nowrap}
.pb-st{display:inline-flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}
.pb-money{font-size:15px;font-weight:600}
.pb-chg{font-size:12px;max-width:150px}
.pb-tbl tr.pb-detail>td{background:#fafaf8;padding:14px 18px}
.pb-dgrid{display:grid;grid-template-columns:1fr 1fr 340px;gap:18px}
.pb-dbox h4{margin:0 0 6px;font-size:13px;font-weight:600}.pb-note{font-size:12px;color:#8a8984;margin-top:4px}
table.pb-mini{width:100%;border-collapse:collapse;border:1px solid #e6e5e0;font-size:12px;background:#fff}
.pb-mini td,.pb-mini th{padding:3px 8px;border-bottom:1px solid #efeee9;text-align:left;font-weight:400;vertical-align:top}.pb-mini td:first-child{white-space:nowrap}
.pb-mini th{color:#52514e;background:#f4f4f1}.pb-mini .num{text-align:right}
.pb-dbox svg text{font-size:11px;fill:#52514e}
#pbTT{position:fixed;pointer-events:none;background:#0b0b0b;color:#fff;font-size:12px;padding:5px 8px;border-radius:5px;display:none;z-index:200}
.pb-calc{background:#fcfcfb;border:1px solid #e6e5e0;border-radius:10px;padding:14px 18px;margin-top:16px}
.pb-calc h3{margin:0 0 4px;font-size:16px}
.pb-calc input[type=number],.pb-calc input[type=text]{padding:4px 8px}.pb-calc select{width:auto;max-width:320px;padding:4px 8px}
/* 11-03 新链接定价向导(效果图 _work/pricing-mockup-20261103) */
.pb-wz-step{display:flex;gap:12px;margin:0 0 16px}.pb-wz-bd{flex:1;min-width:0}.pb-wz-bd h4{margin:0 0 6px;font-size:14px}
.pb-wz-no{flex:none;width:24px;height:24px;border-radius:50%;background:#2a78d6;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.pb-wz-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pb-wz-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pb-wz-tg{display:grid;grid-template-columns:auto auto auto;gap:6px 12px;align-items:center;justify-content:start}
.pb-wz-tg input.q{width:60px}.pb-wz-tg input.p{width:100px}
.pb-wz-lad tr{cursor:pointer}.pb-wz-lad tr:hover td{background:#f6f8fc}.pb-wz-lad tr.me td{background:#eef4fc;font-weight:600}
.pb-wz-lad tr.base td:first-child{box-shadow:inset 3px 0 0 #2a78d6}.pb-wz-lad td{vertical-align:middle}
.pb-wz-out{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 8px}
.pb-wz-out>div{background:#f6f6f3;border-radius:8px;padding:10px 12px}.pb-wz-out .pb-wz-floor{background:#d6e6f8}
.pb-wz-v{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.pb-wz-msg{border-radius:8px;padding:8px 12px;margin:6px 0;font-size:13px;display:flex;gap:8px;align-items:flex-start}
.pb-wz-msg.crit{background:#fbeaea}.pb-wz-msg.warn{background:#fff5df}.pb-wz-msg.good{background:#e9f6e9}.pb-wz-msg.info{background:#f1f1ee}
.pb-wz-guide{margin:0;padding-left:18px}.pb-wz-guide li{margin:4px 0}
.pb-wz-cal{margin-top:12px;font-size:12px;color:#52514e;border-top:1px solid #efeee9;padding-top:8px}
.pb-ann{font-size:12px;color:#6b5500;background:#fffbe6;border-radius:4px;padding:0 5px;margin-left:6px}
.pb-age{display:inline-block;font-size:12px;border-radius:10px;padding:0 8px;background:#eef4fc;color:#1d5aa6;white-space:nowrap}
.pb-hint{font-size:12px;border-radius:6px;padding:3px 8px;display:inline-block;max-width:280px}
.pb-hint.crit{background:#fbeaea}.pb-hint.warn{background:#fff5df}.pb-hint.ok{background:#f1f1ee;color:#52514e}.pb-hint.good{background:#e9f6e9}
.pb-tbl svg text{font-size:10px;fill:#8a8984}
.pb-foot{margin-top:14px;font-size:12px;color:#52514e;background:#fcfcfb;border:1px solid #e6e5e0;border-radius:10px;padding:10px 14px}
.pb-foot ul{padding-left:18px}.pb-foot li{margin:2px 0}
.pb-oldbar{display:flex;align-items:center;margin:4px 0 12px}
.pb-oldbar .pb-pend{margin-left:6px;cursor:pointer}
#pricingOldWrap.pb-closed{display:none}

/* 定价看板·改价记账(11-03) */
.pb-led-h{margin:16px 0 6px;font-size:14px;font-weight:600}
.pb-led-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:10px}
.pb-led-tile{background:#fcfcfb;border:1px solid #e6e5e0;border-radius:10px;padding:10px 14px}
.pb-led-t{font-weight:600;font-size:13px}
.pb-led-prog{position:relative;height:8px;background:#f1f1ee;border-radius:4px;margin:6px 0 4px}
.pb-led-prog>div{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:#2a78d6}.pb-led-prog.done>div{background:#0ca30c}
.pb-led-vd{border-radius:8px;padding:8px 14px;margin:6px 0;font-size:13px;background:#f1f1ee}.pb-led-vd.go{background:#e9f6e9}
.pb-tbl th.pb-led-bl,.pb-tbl td.pb-led-bl{border-left:1px solid #e6e5e0}
.pb-led-gray{color:#8a8984}
.pb-tbl tr.pb-led-grp>td{border-top:2px solid #e6e5e0}
.pb-tbl tr.pb-led-refrow>td{font-size:12px}.pb-led-sub{padding-left:8px;color:#52514e}
.pb-tbl tr.pb-led-ctrl>td{background:#f6f6f3;color:#52514e;border-top:2px solid #e6e5e0}
.pb-led-tag{display:inline-block;font-size:12px;border-radius:10px;padding:0 8px;white-space:nowrap}
.pb-led-tag.dn{background:#eef4fc;color:#1d5aa6}.pb-led-tag.up{background:#f3eefc;color:#5b3aa6}.pb-led-tag.big{font-weight:600}
.pb-led-pill{display:inline-block;font-size:12px;border-radius:6px;padding:3px 7px;white-space:nowrap;line-height:1.45;background:#f1f1ee}
.pb-led-pill b{font-weight:600}.pb-led-pill.learn{background:#fff5df}
.pb-led-pill.wait{background:#fff;border:1px dashed #e6e5e0;color:#8a8984}.pb-led-pill.no{background:#fff;color:#8a8984;white-space:normal}
.pb-led-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#52514e;margin:4px 0 8px}
/* 11-04 复购看板(13c_repurchase_board):外框/卡片/表格/切换钮复用 pb-*,这里只补复购专用几样 */
.rp-h{font-size:18px;font-weight:600;margin-bottom:2px}
.rp .pb-tile.rp-tile{cursor:default}
.rp-t{font-size:15px;font-weight:600;margin:10px 0 2px}.rp-hint{margin-bottom:8px}
.rp-nm{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rp-tbl td.rp-hi{color:#0a7d2c;font-weight:600}.rp-tbl td.rp-lo{color:#999}.rp-na{color:#b5b4ae}
.rp-tag{font-size:12px;padding:1px 6px;border-radius:4px;white-space:nowrap}
.rp-tag.stop{background:#eee;color:#888}.rp-tag.up{background:#e3f5e8;color:#0a7d2c}.rp-tag.dn{background:#fdeaea;color:#b33}
.rp-warn{color:#d03b3b;font-size:13px;font-weight:600;margin:4px 0 8px}
/* 11-05 开品账本(13d_launch_ledger):照效果图 kaipin-ledger-preview.html,全部收在 .ll 下 */
.ll{max-width:1240px;font-size:14px;line-height:1.55;color:#0b0b0b}
.ll-h1{font-size:20px;font-weight:600;margin:0 0 4px}.ll-lead{color:#52514e;margin:0 0 12px}
.ll-h2{font-size:15px;font-weight:600;margin:0 0 8px;color:#0b0b0b}.ll-h3{font-size:13px;margin:0 0 8px;color:#52514e;font-weight:500}
.ll-note{background:#fcfcfb;border:1px solid #e4e3df;border-left:4px solid #2a78d6;border-radius:8px;padding:10px 14px;margin:0 0 14px;color:#52514e}.ll-note b{color:#0b0b0b}
.ll-warn{color:#d03b3b;font-size:13px;font-weight:600;margin:0 0 10px}
.ll-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.ll-tile{background:#fcfcfb;border:1px solid #e4e3df;border-radius:10px;padding:14px 16px}
.ll-tile .k{color:#52514e;font-size:13px}.ll-tile .v{font-size:26px;font-weight:600;margin:2px 0;font-variant-numeric:tabular-nums}.ll-tile .s{color:#86857f;font-size:12px}
.ll-card{background:#fcfcfb;border:1px solid #e4e3df;border-radius:10px;padding:14px 16px;margin-bottom:14px}
.ll-rules{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ll-rules ol{margin:0;padding-left:20px;color:#52514e}.ll-rules li{margin:3px 0}.ll-rules li b{color:#0b0b0b}
.ll-chk{color:#52514e;font-size:13px}.ll-chk>div{margin:3px 0}
.ll-chk .bar{display:inline-block;height:8px;border-radius:0 4px 4px 0;background:#2a78d6;vertical-align:middle;margin:0 6px}
.ll-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.ll-chip{border:1px solid #d3d2cc;background:#fcfcfb;color:#52514e;border-radius:999px;padding:5px 12px;cursor:pointer;font:inherit;font-size:13px}
.ll-chip[aria-pressed=true]{background:#0b0b0b;color:#fcfcfb;border-color:#0b0b0b}
.ll-tbl{width:100%;border-collapse:collapse;background:#fcfcfb;border:1px solid #e4e3df}
.ll-tbl th{text-align:left;font-weight:500;color:#52514e;font-size:12px;padding:9px 10px;border-bottom:1px solid #e4e3df;background:#fcfcfb;position:sticky;top:0;z-index:1}
.ll-tbl td{padding:9px 10px;border-bottom:1px solid #e4e3df;vertical-align:top}
.ll-tbl tr.ll-row{cursor:pointer}.ll-tbl tr.ll-row:hover td{background:#f3f7fd}.ll-tbl tr.ll-row.open td{background:#eaf2fc}
.ll-num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.ll-nm{font-weight:500}.ll-nm small{display:block;color:#86857f;font-weight:400}
.ll-muted{color:#86857f}
.ll-tag{display:inline-block;font-size:12px;border-radius:4px;padding:1px 6px;margin:0 4px 3px 0;border:1px solid #d3d2cc;color:#52514e;white-space:nowrap}
.ll-tag.r{border-color:#ec835a;background:#fdeee8;color:#0b0b0b}
.ll-say{font-size:13px}
.ll-st{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:2px 8px;font-size:13px;white-space:nowrap}
.ll-st i{font-style:normal;font-weight:700;width:14px;text-align:center}
.ll-st.good{background:#e6f5e6}.ll-st.good i{color:#0ca30c}
.ll-st.warn{background:#fff5df}.ll-st.warn i{color:#b07a00}
.ll-st.serious{background:#fdeee8}.ll-st.serious i{color:#ec835a}
.ll-st.crit{background:#fbe9e9}.ll-st.crit i{color:#d03b3b}
.ll-st.wait{background:#f0efec;color:#52514e}
.ll-sub2{display:block;color:#86857f;font-size:12px;margin-top:3px}
.ll-tbl tr.ll-det>td{background:#f4f4f2;padding:14px 16px;cursor:default}
.ll-dgrid{display:grid;grid-template-columns:320px 1fr;gap:16px}
.ll-box{background:#fcfcfb;border:1px solid #e4e3df;border-radius:8px;padding:12px 14px;min-width:0}
.ll-kv{display:grid;grid-template-columns:110px 1fr;gap:3px 8px;font-size:13px}.ll-kv .k{color:#86857f}
.ll-tl{display:flex;gap:4px;margin:4px 0 10px;font-size:12px}
.ll-tl div{flex:1;border-top:3px solid #d3d2cc;padding-top:5px;color:#52514e}.ll-tl div.on{border-top-color:#2a78d6;color:#0b0b0b}
.ll-empty{color:#86857f;font-size:13px;padding:18px;text-align:center;border:1px dashed #d3d2cc;border-radius:8px}
.ll-leaf+.ll-leaf{margin-top:16px;padding-top:12px;border-top:1px solid #e4e3df}.ll-lh{font-weight:600;font-size:13px;margin-bottom:6px}
.ll-bands{display:grid;grid-template-columns:96px 1fr 92px 108px;gap:6px 10px;align-items:center;font-size:13px}
.ll-bands .hd{color:#86857f;font-size:12px}
.ll-track{position:relative;height:18px}
.ll-track .g{position:absolute;top:0;bottom:0;width:1px;background:#e4e3df}
.ll-track .rg{position:absolute;top:3px;height:12px;background:#2a78d6;border-radius:0 4px 4px 0;opacity:.9}
.ll-bl{white-space:nowrap}.ll-bl.ours{font-weight:600}.ll-bl.ours::after{content:" ◀ 我们";color:#2a78d6;font-size:12px}
.ll-axis{display:flex;justify-content:space-between;color:#86857f;font-size:11px}
.ll-items{margin-top:10px;font-size:13px;width:100%;border-collapse:collapse}
.ll-items th{text-align:left;font-weight:500;color:#52514e;font-size:12px;padding:5px 6px;border-bottom:1px solid #e4e3df}
.ll-items td{padding:5px 6px;border-bottom:1px solid #e4e3df;background:none}
.ll-foot{color:#86857f;font-size:12px;margin-top:14px}
@media (max-width:900px){.ll-tiles{grid-template-columns:1fr 1fr}.ll-rules,.ll-dgrid{grid-template-columns:1fr}}
/* 11-06 生意参谋数据(13e_sycm_market):照效果图 sycm-market-preview.html,全部收在 .smk 下 */
.smk{max-width:1240px;font-size:14px;line-height:1.55;color:#0b0b0b}
.smk-h1{font-size:20px;font-weight:600;margin:0 0 4px}.smk-lead{color:#52514e;margin:0 0 12px}
.smk-h2{font-size:15px;font-weight:600;margin:0 0 4px}.smk-sub{color:#52514e;font-size:13px;margin:0 0 6px}
.smk-hint{color:#86857f;font-size:12px;margin:0 0 10px}.smk-muted{color:#86857f}.smk-warn{color:#d03b3b;font-weight:600}
.smk-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.smk-tile{background:#fcfcfb;border:1px solid #e4e3df;border-radius:10px;padding:12px 14px}
.smk-tile .k{color:#52514e;font-size:13px}.smk-tile .v{font-size:24px;font-weight:600;margin:2px 0;font-variant-numeric:tabular-nums}
.smk-tile .v small{font-size:14px;color:#86857f;font-weight:400}.smk-tile .v.smk-st{font-size:17px}.smk-tile .s{color:#86857f;font-size:12px}
.smk-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle;background:#86857f}
.smk-dot.good{background:#0ca30c}.smk-dot.warn{background:#fab219}.smk-dot.crit{background:#d03b3b}
.smk-seg{display:inline-flex;border:1px solid #d3d2cc;border-radius:8px;overflow:hidden;margin:0 0 14px}
.smk-seg button{border:0;background:#fcfcfb;color:#52514e;font:inherit;font-size:15px;padding:8px 22px;cursor:pointer}
.smk-seg button[aria-pressed=true]{background:#0b0b0b;color:#fcfcfb}
.smk-card{background:#fcfcfb;border:1px solid #e4e3df;border-radius:10px;padding:14px 16px;margin-bottom:14px}
.smk-picks{margin:0;padding:0;list-style:none}
.smk-picks li{display:grid;grid-template-columns:74px 1fr auto;gap:10px;align-items:start;padding:9px 0;border-top:1px solid #e4e3df}
.smk-picks li:first-child{border-top:0}
.smk-tag{display:inline-block;font-size:12px;border-radius:4px;padding:1px 7px;border:1px solid #d3d2cc;color:#52514e;white-space:nowrap;text-align:center}
.smk-tag.up{background:#cde2fb;border-color:#86b6ef;color:#0b0b0b}
.smk-go{color:#2a78d6;cursor:pointer;white-space:nowrap;background:none;border:0;font:inherit;font-size:13px;padding:0}.smk-go:hover{text-decoration:underline}
.smk-chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.smk-lb{color:#86857f;font-size:12px;align-self:center;margin-right:2px}
.smk-chip{border:1px solid #d3d2cc;background:#fcfcfb;color:#52514e;border-radius:999px;padding:4px 11px;cursor:pointer;font:inherit;font-size:13px}
.smk-chip[aria-pressed=true]{background:#0b0b0b;color:#fcfcfb;border-color:#0b0b0b}.smk-chip.dim{opacity:.45;cursor:default}
.smk-say{background:#f4f4f2;border-radius:8px;padding:9px 12px;margin:10px 0 0}.smk-say p{margin:2px 0}
.smk-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.smk-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.smk-box{border:1px solid #e4e3df;border-radius:8px;padding:10px 12px}.smk-box h4{font-size:13px;margin:0 0 6px;color:#52514e;font-weight:600}
.smk-e{color:#86857f;font-size:12px;margin:0 0 4px}
.smk-wl{list-style:none;margin:0;padding:0;font-size:13px}
.smk-wl li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-top:1px dashed #e4e3df}.smk-wl li:first-child{border-top:0}
.smk-wl .n{font-variant-numeric:tabular-nums;white-space:nowrap;color:#52514e}.smk-wl .n b{color:#0b0b0b}
.smk-dn{color:#52514e;font-size:13px;margin:10px 0 0}
.smk-bands{display:grid;grid-template-columns:110px 1fr 96px 110px 120px;gap:6px 12px;align-items:center;font-size:13px}
.smk-bands .hd{color:#86857f;font-size:12px}.smk .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.smk-track{position:relative;height:18px}.smk-track .g{position:absolute;top:0;bottom:0;width:1px;background:#e4e3df}
.smk-track .rg{position:absolute;top:3px;height:12px;background:#2a78d6;border-radius:0 4px 4px 0}.smk-track .rg.lo{background:#86b6ef;border-radius:0}
.smk-bands .q{font-size:12px;color:#52514e;white-space:nowrap}.smk-bands .q.hh{font-weight:600;color:#0b0b0b}
.smk-bands .axis{display:flex;justify-content:space-between;color:#86857f;font-size:11px;grid-column:2}
.smk-mini{width:100%;border-collapse:collapse;font-size:13px;margin-top:6px}
.smk-mini td,.smk-mini th{padding:5px 6px;border-bottom:1px solid #e4e3df;text-align:left;vertical-align:top}.smk-mini th{color:#86857f;font-weight:500;font-size:12px}
.smk-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 10px}
.smk-filters select,.smk-filters input{width:auto;max-width:260px;font:inherit;font-size:13px;padding:5px 8px;border:1px solid #d3d2cc;border-radius:6px;background:#fcfcfb;color:#0b0b0b}
.smk-btn{font:inherit;font-size:13px;padding:5px 12px;border:1px solid #d3d2cc;border-radius:6px;background:#fcfcfb;color:#0b0b0b;cursor:pointer}
.smk-tw{overflow:auto;max-height:620px;border:1px solid #e4e3df;border-radius:10px}
.smk-raw{width:100%;border-collapse:collapse;background:#fcfcfb;font-size:13px}
.smk-raw th{text-align:left;font-weight:500;color:#52514e;font-size:12px;padding:8px 9px;border-bottom:1px solid #e4e3df;background:#fcfcfb;position:sticky;top:0;z-index:1;white-space:nowrap}
.smk-raw td{padding:7px 9px;border-bottom:1px solid #e4e3df;vertical-align:top}.smk-raw td.t{max-width:380px}.smk-raw tr.off td{color:#86857f}
.smk-raw tr.mine td,.smk-mini tr.mine td{background:#eef5fd}.smk-me{display:inline-block;font-size:11px;font-weight:600;color:#1c5cab;background:#e3eefb;border-radius:4px;padding:0 5px;margin-left:4px}
.smk-btn[aria-pressed=true]{background:#0b0b0b;color:#fcfcfb;border-color:#0b0b0b}
.smk-cnt{color:#86857f;font-size:12px;margin:8px 0 0}.smk-foot{color:#86857f;font-size:12px;margin-top:14px}
.smk-tip{position:fixed;pointer-events:none;background:#0b0b0b;color:#fcfcfb;font-size:12px;padding:7px 10px;border-radius:6px;opacity:0;transition:opacity .08s;max-width:340px;z-index:99;line-height:1.5}
@media (max-width:900px){.smk-tiles,.smk-cols,.smk-two{grid-template-columns:1fr}.smk-bands{grid-template-columns:90px 1fr 70px}.smk-bands .hq,.smk-bands .gr{display:none}}
