/* 绩效考核模块样式（2026-09-10 新增）。依赖 tokens.css 变量。 */
.perf-wrap { width: 100%; max-width: none; margin: 0; }
/* 绩效考核页顶层页签：考核 / 指标模板（B 方案，原弹窗改为页内 Tab） */
.perf-tabs2 { display: inline-flex; gap: 6px; margin-bottom: 14px; border-bottom: 1px solid var(--line); }
.perf-tabs2 .pt2 { border: 1px solid var(--line); border-bottom: none; background: #fff; color: var(--text2); border-radius: 8px 8px 0 0; padding: 8px 18px; font-size: 14px; font-weight: 600; cursor: pointer; margin-bottom: -1px; }
.perf-tabs2 .pt2.on { background: var(--blue); border-color: var(--blue); color: #fff; }
.perf-bar { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; margin-bottom: 14px; }
.perf-bar label { font-size: 13px; color: var(--text2); display: inline-flex; align-items: center; gap: 6px; }
.perf-bar select, .perf-bar input { border: 1px solid var(--line); border-radius: 6px; padding: 5px 8px; font-size: 13px; background: #fff; color: var(--text); }
.perf-body { min-height: 120px; }
.perf-hint { color: var(--muted); font-size: 13px; padding: 18px; background: #fff; border: 1px dashed var(--line); border-radius: 8px; }
.perf-cards { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; align-items: start; }
.perf-cards .perf-card:first-child { grid-row: span 3; }
.perf-card { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 14px; }
.pc-h { font-size: 15px; font-weight: 700; color: var(--blue); }
.pc-sub { font-size: 12px; color: var(--muted); margin: 2px 0 10px; }
.perf-tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.perf-tbl th, .perf-tbl td { border-bottom: 1px solid var(--line); padding: 7px 8px; text-align: left; }
.perf-tbl th { background: var(--bg2); color: var(--text2); font-weight: 600; font-size: 12px; }
.perf-tbl .r { text-align: right; }
.perf-tbl input { border: 1px solid var(--line); border-radius: 6px; width: 74px; padding: 4px 6px; font-size: 13px; text-align: right; }
.perf-tbl input.pf-t { background: #fffbe6; }
.perf-tbl input.pf-a { background: #fff; }
.perf-tbl input:focus { border-color: var(--blue2); outline: none; }
.tag-tim { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 11px; background: #e7f5ff; color: #0b69c7; }
.tag-acc { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 11px; background: #e8f8ee; color: #1a8a4a; }
.tag-ql { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 11px; background: #fff2e6; color: #c4740a; }
.tag-all { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 11px; background: #f0ecff; color: #6b46c1; }
.perf-msg { font-size: 13px; margin-left: 8px; }
.perf-msg.ok { color: #1a8a4a; }
.perf-msg.err { color: #d23b3b; }
.perf-err { color: #d23b3b; font-weight: 600; }
#pfResult, #pfProfit { font-size: 13px; line-height: 1.8; color: var(--text); }
#pfResult b, #pfProfit b { color: var(--blue); }
#pfSave { margin-top: 4px; }

/* ===== 配置弹窗：指标模板 / 利润目标（2026-09-11 新增）===== */
.perf-tools { display: inline-flex; gap: 8px; margin-left: auto; }
.perf-note { font-size: 12.5px; color: var(--text2); line-height: 1.7; background: var(--bg2); border: 1px solid var(--line); border-radius: 8px; padding: 9px 12px; margin-bottom: 12px; }
.perf-warn { font-size: 13px; color: #a35a00; background: #fff8e6; border: 1px solid #f0d9a8; border-radius: 8px; padding: 9px 12px; margin-bottom: 12px; line-height: 1.7; }
.perf-hint .btn-ghost { margin-right: 8px; }
.perf-form { max-width: 640px; }
.perf-form .pf-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.perf-form .pf-lb { flex: 0 0 156px; font-size: 13px; color: var(--text2); text-align: right; }
.perf-form .pf-in { border: 1px solid var(--line); border-radius: 6px; padding: 6px 9px; font-size: 13px; background: #fff; color: var(--text); width: 200px; }
.perf-form .pf-in[readonly] { background: var(--bg2); color: var(--text2); }
.perf-tpl { max-width: 100%; }
.pf-tabs { display: flex; gap: 6px; margin-bottom: 12px; border-bottom: 1px solid var(--line); padding-bottom: 10px; flex-wrap: wrap; }
.pf-tab { border: 1px solid var(--line); background: #fff; color: var(--text2); border-radius: 999px; padding: 5px 14px; font-size: 13px; cursor: pointer; }
.pf-tab.on { background: var(--blue); border-color: var(--blue); color: #fff; }
.pf-sec { margin-bottom: 16px; }
.pf-sec-h { font-size: 13px; font-weight: 700; color: var(--blue); margin-bottom: 6px; }
.perf-tbl.pf-edt th, .perf-tbl.pf-edt td { padding: 5px 6px; }
.perf-tbl.pf-edt input, .perf-tbl.pf-edt select { width: 100%; max-width: 92px; text-align: right; }
.perf-tbl.pf-edt input[data-f="k"] { text-align: left; max-width: none; min-width: 170px; }
.perf-tbl.pf-edt select { text-align: left; }
.pf-ro { font-size: 12px; color: var(--muted); }
.pf-del { color: #d23b3b; }
.perf-tpl .pf-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.perf-tpl .pf-lb { flex: 0 0 auto; font-size: 13px; color: var(--text2); }
.perf-tpl .pf-in { border: 1px solid var(--line); border-radius: 6px; padding: 6px 9px; font-size: 13px; background: #fff; color: var(--text); width: 260px; }
@media (max-width: 820px) { .perf-cards { grid-template-columns: 1fr; } .perf-cards .perf-card:first-child { grid-row: auto; } .perf-tools { margin-left: 0; width: 100%; } .perf-form .pf-lb { flex-basis: 112px; } .perf-tbl.pf-edt input[data-f="k"] { min-width: 110px; } }
