/* 多级项目选择 */
select.pp-native { position:absolute !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; margin:0 !important; padding:0 !important; border:0 !important; }
.pp { position:relative; width:100%; min-width:0; }
.pp-input { width:100%; box-sizing:border-box; cursor:pointer; text-overflow:ellipsis; }
.pp-input:focus { cursor:text; }
.pp-panel { position:absolute; z-index:3000; top:calc(100% + 4px); left:0; min-width:100%; width:max-content; max-width:min(420px, calc(100vw - 24px)); max-height:340px; overflow:auto;
  background:#181a24; border:1px solid #33374a; border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,.45); padding:4px 0; font-size:13px; text-align:left; }
.pp-group { padding:8px 12px 4px; font-size:11px; font-weight:700; color:#8b8d9b; letter-spacing:.5px; }
.pp-sub { padding:4px 12px 2px 20px; font-size:11px; color:#a4adc1; }
.pp-opt { padding:7px 12px 7px 20px; color:#e6e8f0; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pp-opt.pp-indent { padding-left:32px; }
.pp-opt.is-active, .pp-opt:hover { background:rgba(37,244,238,.10); }
.pp-opt.is-on { color:#25f4ee; font-weight:700; }
.pp-empty { padding:10px 12px; color:#8b8d9b; }
body[data-theme="light"] .pp-panel { background:#fff; border-color:#cbd5e1; box-shadow:0 10px 30px rgba(15,23,42,.15); }
body[data-theme="light"] .pp-group { color:#64748b; }
body[data-theme="light"] .pp-sub { color:#475569; }
body[data-theme="light"] .pp-opt { color:#1f2937; }
body[data-theme="light"] .pp-opt.is-active, body[data-theme="light"] .pp-opt:hover { background:#ecfeff; }
body[data-theme="light"] .pp-opt.is-on { color:#0f766e; }
body[data-theme="light"] .pp-empty { color:#64748b; }

/* 项目管理汇总树（project-tree.js） */
.pf-tree-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:18px; align-items:start; }
.pf-tree { border:1px solid var(--card-border,#2b2e40); border-radius:10px; padding:8px; max-height:72vh; overflow:auto; position:sticky; top:90px; }
.pf-tree-head { display:flex; justify-content:space-between; align-items:center; gap:6px; padding:4px 4px 8px; font-size:13px; }
.pf-tree-head .studio-action-btn { height:26px; padding:0 8px; font-size:11px; margin:0; }
.pf-tree-node { display:flex; align-items:center; gap:6px; width:100%; text-align:left; border:0; background:transparent; color:var(--text-main,#e6e8f0); font-size:12.5px; padding:6px 8px; border-radius:6px; cursor:pointer; }
.pf-tree-node.d0 { font-weight:700; margin-top:4px; }
.pf-tree-node.d1 { padding-left:20px; color:var(--text-muted,#a4adc1); }
.pf-tree-node.d2 { padding-left:34px; color:var(--text-muted,#a4adc1); font-size:12px; }
.pf-tree-node:hover { background:rgba(255,255,255,.05); }
.pf-tree-node.is-on { background:rgba(37,244,238,.12); color:#25f4ee; }
.pf-tree-n, .pf-tree-c { margin-left:auto; font-size:10.5px; font-weight:600; padding:0 6px; border-radius:999px; background:rgba(255,255,255,.08); color:var(--text-muted,#a4adc1); }
.pf-tree-legacy { margin:12px 4px 4px; padding-top:8px; border-top:1px dashed var(--card-border,#2b2e40); font-size:11.5px; font-weight:700; color:#f59e0b; }
.pf-tree-legacy small { display:block; font-weight:400; color:var(--text-muted,#8b8d9b); margin-top:2px; line-height:1.4; }
.pf-node-summary { border:1px solid var(--card-border,#2b2e40); border-radius:10px; padding:12px 14px; margin-bottom:14px; }
.pf-node-title { font-weight:700; font-size:14px; display:flex; flex-wrap:wrap; gap:10px; align-items:baseline; }
.pf-node-title span { font-weight:400; font-size:12px; color:var(--text-muted,#8b8d9b); }
.pf-node-accts { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.pf-node-accts span { font-size:12px; padding:2px 8px; border-radius:999px; border:1px solid var(--card-border,#2b2e40); }
.pf-node-accts em { font-size:12px; color:var(--text-muted,#8b8d9b); font-style:normal; }
.pf-node-tip { font-size:11.5px; color:var(--text-muted,#8b8d9b); margin:8px 0 0; }
body[data-theme="light"] .pf-tree, body[data-theme="light"] .pf-node-summary, body[data-theme="light"] .pf-node-accts span { border-color:#e2e8f0; }
body[data-theme="light"] .pf-tree-node { color:#1f2937; }
body[data-theme="light"] .pf-tree-node.d1, body[data-theme="light"] .pf-tree-node.d2 { color:#475569; }
body[data-theme="light"] .pf-tree-node:hover { background:#f1f5f9; }
body[data-theme="light"] .pf-tree-node.is-on { background:#ecfeff; color:#0f766e; }
body[data-theme="light"] .pf-tree-n, body[data-theme="light"] .pf-tree-c { background:#f1f5f9; color:#475569; }
@media (max-width:800px) { .pf-tree-layout { grid-template-columns:minmax(0,1fr); } .pf-tree { position:static; max-height:260px; } }
.pp::after { content:""; position:absolute; right:12px; top:50%; width:0; height:0; margin-top:-2px; border:5px solid transparent; border-top-color:#8b8d9b; pointer-events:none; }
.pp-input { padding-right:28px !important; }
/* 分栏级联（不搜索时） */
.pp-panel.pp-cascade { display:flex; padding:0; width:auto; max-width:min(660px, calc(100vw - 24px)); overflow-x:auto; overflow-y:hidden; }
.pp-cascade .pp-col { min-width:150px; max-width:240px; max-height:320px; overflow-y:auto; padding:4px 0; border-left:1px solid #2b2e40; flex:0 0 auto; }
.pp-cascade .pp-col:first-child { border-left:0; }
.pp-cascade .pp-opt { padding-left:14px; }
.pp-branch { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:7px 14px; cursor:pointer; color:#e6e8f0; white-space:nowrap; }
.pp-branch span { color:#8b8d9b; font-size:15px; }
.pp-branch:hover, .pp-branch.is-open { color:#25f4ee; background:rgba(37,244,238,.06); }
body[data-theme="light"] .pp-cascade .pp-col { border-left-color:#e2e8f0; }
body[data-theme="light"] .pp-branch { color:#1f2937; }
body[data-theme="light"] .pp-branch:hover, body[data-theme="light"] .pp-branch.is-open { color:#0f766e; background:#f0fdfa; }
/* 项目管理：顶部切换外部/内部，左侧树只显示当前范围；业务线筛选与树重复，隐藏 */
#tab-profiles .pf-filters label:has(#pfFilterType) { display:none !important; }
.pp-panel[hidden] { display:none !important; }

/* 2026-11-05 用户反馈：内外部切换要醒目、左侧菜单字太小 */
#tab-profiles .pf-scope-tabs { padding:4px; border-radius:10px; gap:6px; }
#tab-profiles .pf-scope-tabs button { height:40px; padding:0 20px; font-size:15px; font-weight:700; border-radius:8px; }
#tab-profiles .pf-scope-tabs button span { font-size:12px; }
#tab-profiles .pf-scope-tabs button.active { background:#25f4ee; color:#06080f; box-shadow:0 2px 8px rgba(37,244,238,.25); }
#tab-profiles .pf-scope-tabs button.active span { color:rgba(6,8,15,.7); }
body[data-theme="light"] #tab-profiles .pf-scope-tabs button.active { background:#0f766e; color:#fff; box-shadow:0 2px 8px rgba(15,118,110,.25); }
body[data-theme="light"] #tab-profiles .pf-scope-tabs button.active span { color:rgba(255,255,255,.85); }
#tab-profiles .pf-scope-tabs button:not(.active):hover { background:rgba(255,255,255,.06); color:var(--text-main,#e6e8f0); }
body[data-theme="light"] #tab-profiles .pf-scope-tabs button:not(.active):hover { background:#e2e8f0; color:#111827; }
.pf-tree-layout { grid-template-columns:250px minmax(0,1fr); }
.pf-tree { padding:10px; }
.pf-tree-head strong { font-size:15px; }
.pf-tree-node { font-size:14px; padding:8px 10px; }
.pf-tree-node.d0 { font-size:15px; margin-top:8px; }
.pf-tree-node.d1 { padding-left:24px; font-size:14px; }
.pf-tree-node.d2 { padding-left:40px; font-size:13.5px; }
.pf-tree-legacy { font-size:13px; }
/* 客户要求的分项折叠 */
.pf-more { border:1px dashed var(--card-border,#2b2e40); border-radius:8px; padding:8px 12px; margin-bottom:12px; }
.pf-more summary { cursor:pointer; font-size:12.5px; color:var(--text-muted,#8b8d9b); }
.pf-more-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; margin-top:10px; }
@media (max-width:700px) { .pf-more-grid { grid-template-columns:1fr; } }
body[data-theme="light"] .pf-more { border-color:#cbd5e1; }
@media (max-width:800px) {
  .pf-tree-layout { grid-template-columns:minmax(0,1fr); }
  #tab-profiles .pf-scope-tabs { display:flex; width:100%; }
  #tab-profiles .pf-scope-tabs button { flex:1; padding:0 10px; font-size:14px; }
  #tab-profiles .pf-scope-tabs button span { display:none; }
}
/* 弹窗内不再切换内外部：范围由页面顶部切换决定（2026-11-06 用户） */
#profileModal .pf-modal-scope { display:none !important; }
/* 内部内容去向：地区＋方向（nurture-target.js） */
.nt-target { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px; }
.nt-target[hidden] { display:none !important; }
.nt-target label { display:flex; flex-direction:column; gap:4px; font-size:11px; font-weight:700; color:var(--text-muted,#8b8d9b); margin:0; }
.nt-target select, .nt-target input { width:100%; height:32px; font-size:12px; box-sizing:border-box; }
.nt-hint { grid-column:1/-1; margin:0; font-size:11px; color:var(--text-muted,#8b8d9b); }
.nt-tag { display:inline-block; margin-right:6px; padding:0 6px; border-radius:4px; font-size:11px; font-weight:600; line-height:18px; background:rgba(37,244,238,.12); color:#25f4ee; vertical-align:middle; }
body[data-theme="light"] .nt-tag { background:#ecfeff; color:#0f766e; }
/* 2026-11-06 用户：上一版太大，回到与页面协调的尺寸 */
#tab-profiles .pf-scope-tabs { padding:3px; gap:4px; border-radius:8px; }
#tab-profiles .pf-scope-tabs button { height:32px; padding:0 14px; font-size:13px; font-weight:600; border-radius:6px; }
#tab-profiles .pf-scope-tabs button span { font-size:11.5px; }
.pf-tree-layout { grid-template-columns:220px minmax(0,1fr); }
.pf-tree-head strong { font-size:13.5px; }
.pf-tree-node { font-size:13px; padding:7px 10px; }
.pf-tree-node.d0 { font-size:13.5px; margin-top:4px; }
.pf-tree-node.d1 { font-size:13px; }
.pf-tree-node.d2 { font-size:12.5px; }
.pp-panel { font-size:12.5px; }
@media (max-width:800px) { .pf-tree-layout { grid-template-columns:minmax(0,1fr); } #tab-profiles .pf-scope-tabs { display:flex; width:100%; } #tab-profiles .pf-scope-tabs button { flex:1; padding:0 10px; } #tab-profiles .pf-scope-tabs button span { display:none; } }
