.pt-wrap { padding: 4px 0 16px; min-height: 0; }
.pt-order-hint { margin-bottom: 12px; flex-shrink: 0; }
.pt-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; min-height: 0; align-items: stretch; }
@media (max-width: 1100px) { .pt-grid { grid-template-columns: 1fr; } }
.pt-card {
  background: #fff;
  border: 1px solid #edf0f5;
  border-radius: 10px;
  padding: 16px;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.pt-title { font-weight: 600; font-size: 14px; margin-bottom: 12px; color: #1f1f1f; flex-shrink: 0; }
.pt-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px 16px;
  flex: 1;
  min-height: 0;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  align-content: start;
}
.pt-field { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: #595959; min-width: 0; }
.pt-field select, .pt-field input { height: 32px; border: 1px solid #d9d9d9; border-radius: 6px; padding: 0 8px; font-size: 13px; color: #262626; background: #fff; max-width: 100%; min-width: 0; box-sizing: border-box; }
.pt-field em { font-style: normal; font-size: 12px; color: #8c8c8c; }
.pt-layers { display: flex; flex-direction: column; gap: 8px; flex: 1; min-height: 0; overflow-y: auto; }
.pt-layer { display: grid; grid-template-columns: 24px 110px 1fr auto; align-items: center; gap: 10px; border: 1px solid #edf0f5; border-radius: 8px; padding: 10px 12px; font-size: 13px; }
.pt-layer.off { opacity: .55; }
.pt-idx { width: 22px; height: 22px; border-radius: 50%; background: #f0f0f0; color: #8c8c8c; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; }
.pt-layer.on .pt-idx { background: #1677ff; color: #fff; }
.pt-why { color: #8c8c8c; font-size: 12px; }
.pt-amt { font-weight: 600; white-space: nowrap; }
.pt-plus { color: #d46b08; } .pt-minus { color: #389e0d; } .pt-muted { color: #8c8c8c; font-weight: 400; }
.pt-guard { margin-top: 10px; border: 1px dashed #d9d9d9; border-radius: 8px; padding: 8px 12px; font-size: 13px; color: #595959; flex-shrink: 0; }
.pt-final { margin-top: 12px; background: #eef5ff; border-radius: 10px; padding: 14px 16px; display: flex; align-items: baseline; gap: 12px; font-size: 13px; flex-shrink: 0; }
.pt-final strong { font-size: 28px; color: #1677ff; }
.menu-badge-new { margin-left: auto; font-size: 11px; line-height: 16px; padding: 0 6px; border-radius: 4px; background: #e6f0ff; color: #1677ff; }
/* 来源详情 · 相关进线规则 / 资源明细 */
.v24-rule-intro { background: #f6f9ff; border: 1px solid #e3ecff; border-radius: 8px; padding: 10px 14px; margin-bottom: 12px; font-size: 13px; line-height: 1.8; color: #434343; }
.v24-rule-intro .drawer-section-title { margin: 0 0 4px; }
.v24-rule-intro b { color: #1677ff; font-weight: 600; }
.v24-source-rule-table td.v24-rule-explain { text-align: left; white-space: normal; min-width: 260px; max-width: 420px; line-height: 1.6; font-size: 12px; color: #595959; }
.v24-source-rule-table td.v24-rule-explain b { color: #389e0d; }
.v24-rule-fallback-row td { background: #fffaf2; }
.v24-lead-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
/* 线索（新版视图） */
.lv-wrap { padding: 2px 0 12px; }
.lv-intro { background: #f6f9ff; border: 1px solid #e3ecff; border-radius: 8px; padding: 8px 12px; font-size: 13px; color: #434343; margin-bottom: 10px; line-height: 1.7; }
.lv-intro b { color: #1677ff; }
.lv-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; align-items: center; }
.lv-page-toolbar .lv-toolbar { margin-bottom: 0; gap: 8px; }
.lv-page-toolbar .page-toolbar-left { flex-wrap: wrap; row-gap: 8px; }
.lv-page-toolbar .lv-search-wrap { flex: none; max-width: 220px; min-width: 160px; }
.lv-filter-body-simple > nav { display: none; }
.lv-filter-body-simple .v24-filter-content { padding: 24px 28px; }
.lv-input { height: 32px; border: 1px solid #d9d9d9; border-radius: 6px; padding: 0 8px; font-size: 13px; background: #fff; }
input.lv-input { width: 260px; }
.lv-btn { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px; border-radius: 6px; border: 1px solid #d9d9d9; background: #fff; font-size: 13px; cursor: pointer; }
.lv-btn.primary { background: #1677ff; border-color: #1677ff; color: #fff; }
.lv-btn.primary [data-lucide] { stroke: currentColor; }
.lv-table td { white-space: nowrap; }
.lv-sub { color: #8c8c8c; font-size: 12px; }
.lv-warn { color: #d46b08; }
.lv-tags { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; }
.lv-tag { display: inline-block; font-size: 12px; line-height: 20px; padding: 0 6px; border-radius: 4px; background: #f5f5f5; color: #595959; border: 1px solid #e8e8e8; }
.lv-tag.blue { background: #e6f0ff; color: #1677ff; border-color: #c7dcff; } .lv-tag.green { background: #f0fbe9; color: #389e0d; border-color: #c9eeb3; }
.lv-tag.orange { background: #fff4e6; color: #d46b08; border-color: #ffd8a8; } .lv-tag.red { background: #fff1f0; color: #cf1322; border-color: #ffccc7; }
.lv-foot { display: flex; justify-content: center; align-items: center; gap: 12px; padding: 12px 0; font-size: 13px; color: #595959; }
.lv-pg { width: 28px; height: 28px; border: 1px solid #d9d9d9; border-radius: 4px; background: #fff; cursor: pointer; } .lv-pg:disabled { opacity: .4; cursor: default; }
#lv-drawer .lv-mask { position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 900; }
#lv-drawer .lv-panel { position: fixed; top: 0; right: 0; bottom: 0; width: min(860px, 96vw); background: #fff; z-index: 901; display: flex; flex-direction: column; box-shadow: -8px 0 24px rgba(0,0,0,.12); }
.lv-head { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid #f0f0f0; font-size: 16px; }
.lv-x { font-size: 22px; line-height: 1; border: 0; background: none; cursor: pointer; color: #8c8c8c; }
.lv-tabs { display: flex; gap: 4px; padding: 10px 20px 0; border-bottom: 1px solid #f0f0f0; }
.lv-tabs button { border: 0; background: none; padding: 8px 14px; font-size: 14px; color: #595959; cursor: pointer; border-bottom: 2px solid transparent; }
.lv-tabs button.on { color: #1677ff; border-bottom-color: #1677ff; }
.lv-body { padding: 16px 20px; overflow: auto; flex: 1; font-size: 13px; }
.lv-hint { color: #8c8c8c; font-size: 12px; margin-bottom: 10px; }
.lv-kv { display: grid; grid-template-columns: 110px 1fr; gap: 8px 12px; } .lv-kv dt { color: #8c8c8c; } .lv-kv dd { margin: 0; color: #262626; }
.lv-row { display: flex; gap: 8px; align-items: center; margin-bottom: 12px; }
.lv-tl { border-left: 2px solid #e8e8e8; margin-left: 6px; padding-left: 16px; }
.lv-tl-item { position: relative; padding: 0 0 14px; } .lv-tl-item::before { content: ''; position: absolute; left: -23px; top: 3px; width: 10px; height: 10px; border-radius: 50%; border: 2px solid #1677ff; background: #fff; }
.lv-tl-item.warn::before { border-color: #d46b08; } .lv-tl-item.ok::before { background: #52c41a; border-color: #52c41a; }
.lv-tl-item div { color: #595959; margin-top: 2px; }
.lv-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.lv-field { display: flex; flex-direction: column; gap: 4px; color: #595959; } .lv-field.lv-full { grid-column: 1 / -1; }
.lv-field select, .lv-field input, .lv-field textarea { height: 32px; border: 1px solid #d9d9d9; border-radius: 6px; padding: 0 8px; font-size: 13px; }
.lv-field textarea { height: 72px; padding: 6px 8px; }
.lv-actions { margin-top: 16px; display: flex; justify-content: flex-end; }
.lv-sim-result { margin-top: 14px; background: #eef5ff; border-radius: 8px; padding: 10px 12px; color: #262626; }

/* ===== 资源分组：分组资料 → ① 接哪些线索 → ② 谁来接 → ③ 怎么分 ===== */
.v24-grp-flow, .v24-grp-overview { display:flex; flex-wrap:wrap; align-items:stretch; gap:8px; padding:12px; border:1px solid #e6ebf2; border-radius:8px; background:#f7f9fc; }
#page-drawer .v24-grp-form > .v24-grp-flow { grid-column:1 / -1; margin-bottom:4px; }
.v24-grp-flow__step, .v24-grp-overview__step { flex:1 1 180px; display:flex; align-items:flex-start; gap:10px; padding:10px 12px; border-radius:6px; background:#fff; border:1px solid #e6ebf2; min-width:0; text-align:left; }
.v24-grp-flow__step b, .v24-grp-overview__step b { display:block; font-size:13px; color:#303846; font-weight:600; }
.v24-grp-flow__step small, .v24-grp-overview__step small { display:block; font-size:12px; color:#8c8c8c; margin-top:2px; line-height:1.5; }
.v24-grp-overview__step strong { display:block; font-size:15px; color:#1677ff; font-weight:600; margin-top:2px; }
.v24-grp-overview__step { cursor:pointer; transition:border-color .15s, box-shadow .15s; }
.v24-grp-overview__step:hover { border-color:#1677ff; box-shadow:0 2px 8px rgba(22,119,255,.12); }
.v24-grp-flow__no, .v24-grp-card__no { flex:none; display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:#e6f4ff; color:#1677ff; font-size:12px; font-weight:600; }
.v24-grp-flow__step.is-done .v24-grp-flow__no { background:#1677ff; color:#fff; }
.v24-grp-flow__arrow { align-self:center; font-style:normal; color:#bfc6d1; }
.v24-grp-flow__warn { flex-basis:100%; margin:2px 0 0; font-size:12px; color:#d46b08; }
.v24-grp-flow__warn::before { content:'⚠ '; }
/* 步骤区块标题与「分组资料」一致：drawer-section-title + 说明行，不再使用序号圆标卡片头 */
#page-drawer .v24-grp-form > .v24-form-section.v24-grp-card {
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
}
#page-drawer .v24-grp-form > .v24-form-section.v24-grp-card + .v24-form-section.v24-grp-card {
  margin-top: 4px;
}
.v24-grp-section-head {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:0;
}
.v24-grp-section-head .drawer-section-title { margin-bottom:0; flex:1; min-width:0; }
.v24-grp-section-sub {
  margin:4px 0 14px;
  padding-left:11px;
  font-size:12px;
  line-height:1.6;
  color:#8c8c8c;
}
.v24-grp-card__badge { margin-left:auto; font-size:12px; color:#1677ff; flex-shrink:0; }
.v24-rule-pick-summary { font-size:12px; color:#8c8c8c; line-height:1.5; }
.v24-rule-chip--move { color:#d46b08; background:#fff7e6; }
.v24-rule-chip--warn { color:#d46b08; background:#fff7e6; }
.v24-grp-staff-row { align-items:flex-start; }
.v24-grp-staff-row > input { margin-top:3px; }
.v24-grp-staff-main { display:flex; flex-direction:column; gap:6px; min-width:0; }
.v24-grp-staff-main strong { font-size:13px; font-weight:500; color:#303846; }
.v24-grp-weights--off input { color:#bfbfbf; }
@media(max-width:760px) { .v24-grp-flow__arrow { display:none; } }

/* ===== 超时转派（超时资源待跟踪） ===== */
.v24-to-inline { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.v24-to-inline > span { color:#8c8c8c; font-size:13px; }
.v24-to-quick { height:30px; padding:0 10px; border:1px solid #dcdfe6; border-radius:4px; background:#fff; color:#4e5969; font-size:12px; cursor:pointer; }
.v24-to-quick:hover { border-color:#1677ff; color:#1677ff; }
.v24-to-quick.is-on { border-color:#1677ff; background:#e6f4ff; color:#1677ff; }
.v24-to-fields .is-hidden { display:none !important; }
.v24-to-sub { margin:16px 0 8px; font-size:13px; font-weight:600; color:#303846; }
.v24-to-sub::before { content:''; display:inline-block; width:3px; height:12px; margin-right:6px; border-radius:2px; background:#91caff; vertical-align:-1px; }
.lv-tag.timeout { color:#d46b08; background:#fff7e6; border-color:#ffd591; }
.lv-to-box { margin:0 0 12px; padding:10px 12px; border:1px solid #ffe7ba; border-radius:6px; background:#fffbf2; font-size:13px; color:#4e5969; line-height:1.7; }
.lv-to-box b { color:#d46b08; }
.lv-trace-section-title { margin:16px 0 12px; }
#page-drawer [data-unified-trace] .lv-trace-section-title { margin-top:20px; }
#lv-drawer .lv-trace-section-title { margin-top:12px; }
#page-drawer .v24-to-inline > input.drawer-input[type="number"] { width:90px !important; flex:none; }
#page-drawer .v24-to-inline > input.drawer-input[type="time"] { width:140px !important; flex:none; }

#pt-host { display: flex; flex-direction: column; min-height: 0; }
#pt-host .pt-wrap { flex: 1; min-height: 0; display: flex; flex-direction: column; }
#pt-host .pt-grid { flex: 1; min-height: 0; }

#pt-host .pt-card{display:flex;flex-direction:column;overflow:hidden;min-height:0;min-width:0;padding:24px;border-radius:16px;box-shadow:0 4px 20px #14274805}
#pt-host .pt-form{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;gap:20px 16px}
#pt-host .pt-layers{flex:1;min-height:0;overflow-y:auto}
#pt-host .pt-guard,#pt-host .pt-final{flex-shrink:0}
.pt-wrap{padding:12px 4px 16px;max-width:1560px;margin:auto;background:transparent}.pt-title{font-size:16px;padding-bottom:14px;border-bottom:1px solid #eef1f6}.pt-field input,.pt-field select{height:40px}.pt-layer{grid-template-columns:24px 96px 1fr auto;min-height:64px}.pt-final{padding:22px;flex-shrink:0}.pt-final strong{font-size:34px}@media(max-width:650px){.pt-form{grid-template-columns:minmax(0,1fr)}.pt-layer{grid-template-columns:24px 1fr auto}.pt-why{grid-column:2/-1}.pt-wrap{padding:8px 0 12px}}

/* 表格操作栏沿用列表主按钮，资源分组页签内容铺满可用宽度。 */
.v24-table-toolbar { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
#page-drawer.v24-detail-drawer .v24-group-drawer-pane { max-width:none; width:100%; }
.v24-transfer-header strong { font-size:13px; font-weight:500; color:#262626; margin-right:auto; }
