/* 话术速查页（独立板块） */
.sop{max-width:1180px; margin:0 auto; display:grid;
  grid-template-columns:264px minmax(0,1fr); gap:18px; align-items:start;}
.sop > *{min-width:0;}
.sop select{max-width:100%;}
.doc-head h1,.sc-l,.doc-bar .db-pos,.rich,.kb-q{min-width:0; overflow-wrap:anywhere;}
.rich table{table-layout:fixed;}

/* 左侧目录 */
.sop-side{position:sticky; top:80px; background:var(--surface); border:1px solid var(--line);
  border-radius:8px; padding:12px; display:flex; flex-direction:column; box-shadow:var(--sh);
  max-height:calc(100vh - 104px);}
.sop-search{position:relative;}
.sop-search input{width:100%; font:inherit; font-size:13.5px; padding:9px 30px 9px 12px;
  border:1px solid var(--line); border-radius:var(--r-sm); background:var(--surface); color:var(--ink);}
.sop-search input:focus{outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(79,70,229,.14);}
.sop-search .clr{position:absolute; right:6px; top:50%; transform:translateY(-50%);
  border:0; background:transparent; color:var(--ink3); font-size:16px; cursor:pointer; padding:0 6px; line-height:1;}
.sop-tabs{display:flex; gap:4px; background:var(--line2); border-radius:10px; padding:3px; margin:10px 0 4px;}
.sop-tabs button{flex:1; font:inherit; font-size:13px; border:0; background:transparent; color:var(--ink2);
  padding:6px 0; border-radius:8px; cursor:pointer;}
.sop-tabs button.on{background:var(--surface); color:var(--brand); font-weight:600; box-shadow:0 1px 2px rgba(0,0,0,.08);}
.sop-list{overflow:auto; margin:6px -4px 0; padding:0 4px; flex:1; min-height:0;}
.sop-item{display:flex; align-items:center; gap:8px; width:100%; text-align:left; font:inherit;
  font-size:13px; color:var(--ink2); background:transparent; border:0; border-radius:9px;
  padding:8px 9px; cursor:pointer; line-height:1.45;}
.sop-item:hover{background:var(--bg);}
.sop-item.on{background:var(--brand-bg); color:var(--brand); font-weight:600;}
.sop-item .no{flex:0 0 auto; min-width:22px; font-size:12px; color:var(--ink3); font-variant-numeric:tabular-nums;}
.sop-item.on .no{color:var(--brand);}
.sop-item .tt{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.sop-item .dot{flex:0 0 auto; width:6px; height:6px; border-radius:50%; background:var(--ink3);}
.sop-item .cnt{flex:0 0 auto; font-size:11.5px; color:var(--ink3);}
.sop-sec-t{font-size:11.5px; color:var(--ink3); padding:12px 9px 5px; letter-spacing:.3px;}
.sop-hit{background:var(--mark-bg); border-radius:var(--r-tag); padding:0 2px;}
.sop-sub{display:block; font-size:11.5px; color:var(--ink3); margin-top:2px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.sop-item.two{display:block;}
.sop-empty{color:var(--ink3); font-size:13px; padding:16px 10px; text-align:center;}
.src-note{border-top:1px solid var(--line); margin-top:8px; padding:9px 4px 2px;
  font-size:11.5px; color:var(--ink3); line-height:1.6;}

/* 高频场景快捷入口 */
.hot-wrap{margin:4px 0 2px;}
.hot-t{font-size:11.5px; color:var(--ink3); padding:4px 4px 6px; letter-spacing:.3px;}
.hot-row{display:flex; flex-wrap:wrap; gap:5px; margin-bottom:6px;}
.hot{font:inherit; font-size:12px; color:var(--ink2); background:var(--surface); border:1px solid var(--line);
  border-radius:7px; padding:3px 8px; cursor:pointer;}
.hot:hover{border-color:var(--ink5); background:var(--bg);}
.hot.on{background:var(--brand-bg); border-color:var(--brand-bd); color:var(--brand); font-weight:600;}

/* 正文顶部工具条 */
.doc-bar{display:flex; align-items:center; gap:7px; flex-wrap:wrap;
  padding-bottom:12px; margin-bottom:14px; border-bottom:1px solid var(--line);}
.doc-bar .sp{flex:1;}
.db-pos{font-size:13px; color:var(--ink3);}

/* 右侧正文 */
.sop-main{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:22px 26px 30px; min-height:60vh;}
.mob-sel{display:none;}
.doc-head{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:4px;}
.doc-no{font-size:12px; font-weight:600; color:var(--brand); background:var(--brand-bg);
  border-radius:6px; padding:3px 8px; flex:0 0 auto;}
.doc-head h1{font-size:19px; font-weight:700; margin:0; letter-spacing:.2px;}
.doc-tag{font-size:12px; border-radius:6px; padding:3px 8px; flex:0 0 auto;}
.k-red{background:var(--c-rose-bg); color:var(--c-rose-d);} .k-orange{background:var(--warn-bg); color:var(--warn-d);}
.k-blue{background:var(--brand-bg); color:var(--brand-h);} .k-green{background:var(--ok-bg); color:var(--ok-d);}
.k-gray{background:var(--line2); color:var(--ink2);}
.doc-desc{color:var(--ink2); font-size:13.5px; line-height:1.75; margin:8px 0 18px;
  padding-left:11px; border-left:3px solid var(--line);}

.blk{margin:20px 0;}
.blk-t{font-size:13.5px; font-weight:700; color:var(--ink); margin-bottom:8px; display:flex; align-items:center; gap:7px;}
.blk-t::before{content:""; width:3px; height:13px; border-radius:2px; background:var(--brand); display:inline-block;}
.pts{margin:0; padding-left:20px; font-size:13.5px; line-height:1.85; color:var(--ink2);}
.pts li{margin:2px 0;}

/* 话术卡 */
.sc{border:1px solid var(--line); border-left:3px solid var(--ink3); border-radius:11px;
  padding:11px 14px; margin:11px 0; background:var(--surface);}
.sc.tone-green{border-left-color:var(--ok); background:var(--ok-bg);}
.sc.tone-yellow{border-left-color:var(--warn); background:var(--warn-bg);}
.sc.tone-red{border-left-color:var(--bad); background:var(--bad-bg);}
.sc.tone-blue{border-left-color:var(--brand); background:var(--panel);}
.sc-h{display:flex; align-items:center; gap:8px; margin-bottom:7px; flex-wrap:wrap;}
.sc-dot{width:7px; height:7px; border-radius:50%; background:var(--ink3);}
.tone-green .sc-dot{background:var(--ok);} .tone-yellow .sc-dot{background:var(--warn);}
.tone-red .sc-dot{background:var(--bad);} .tone-blue .sc-dot{background:var(--brand);}
.sc-l{font-size:13px; font-weight:600; color:var(--ink2);}
.sc-h .sp{flex:1;}
.lnk{border:0; background:transparent; color:var(--brand); font:inherit; font-size:13px;
  cursor:pointer; padding:2px 6px; border-radius:6px;}
.lnk:hover{background:var(--brand-bg);}
.sc-x{font-size:14px; line-height:1.85; color:var(--ink); white-space:pre-wrap;}

/* 提示 / 禁止 */
.blk.note{background:var(--warn-bg); border:1px solid var(--warn-bd); border-radius:11px; padding:12px 15px;}
.blk.note .blk-t{color:var(--c-amber-d);} .blk.note .blk-t::before{background:var(--warn);}
.blk.note .nt{font-size:13.5px; line-height:1.8; color:var(--warn-d);}
.blk.ban{background:var(--c-rose-bg); border:1px solid var(--c-rose-bd); border-radius:11px; padding:12px 15px;}
.blk.ban .blk-t{color:var(--c-rose-d);} .blk.ban .blk-t::before{background:var(--bad);}
.blk.ban .pts{color:var(--c-rose-d);}

/* 知识库 */
.kb-item{padding:16px 0 4px; border-top:1px dashed var(--line); margin-top:16px;}
.kb-item:first-of-type{border-top:0; margin-top:6px;}
.kb-q{font-size:15px; font-weight:700; margin:0 0 10px; color:var(--ink);}
.kb-std{font-size:13px; color:var(--ink2); background:var(--bg); border-radius:9px;
  padding:9px 12px; margin-bottom:10px; line-height:1.7;}
.kb-std span{font-size:11.5px; color:var(--ink3); border:1px solid var(--line); border-radius:5px;
  padding:1px 6px; margin-right:8px; background:var(--surface);}
.kb-ans{border:1px solid var(--line); border-left:3px solid var(--brand); border-radius:11px;
  padding:11px 14px; background:var(--panel);}
.kb-ans .sc-x p{margin:0 0 9px;} .kb-ans .sc-x p:last-child{margin-bottom:0;}

/* 富文本（表格、小提示） */
.rich{font-size:13.5px; line-height:1.8; color:var(--ink2);}
.rich b,.rich strong{color:var(--ink);}
.rich table{width:100%; border-collapse:collapse; font-size:13px; margin:8px 0;}
.rich th,.rich td{border:1px solid var(--line); padding:7px 9px; text-align:left; vertical-align:top;}
.rich th{background:var(--bg); font-weight:600; color:var(--ink2);}
.rich p{margin:0 0 9px;}

/* 手机端：目录换成下拉 */
@media (max-width:900px){
  .sop{grid-template-columns:1fr; gap:12px; padding:12px;}
  .sop-side{position:static; max-height:none; padding:10px;}
  .sop-side .sop-list{display:none;}
  .sop-list{max-height:320px;}
  .sop-item .tt{white-space:normal;}
  .sop-main{padding:16px 15px 26px;}
  .doc-head h1{font-size:17px;}
  .mob-sel{display:block; width:100%; margin-bottom:9px;}
}
body.srching .sop-list{display:block;}
