/* تحليل أداء الموظفين — perf.js */
.pf-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0 0 12px}
.pf-filters label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted);font-weight:700}
.pf-filters select{min-width:150px;padding:7px 10px;border:1px solid var(--line-2);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:12.5px}
.pf-filters .btn{margin-inline-start:auto}

/* شريط الأقسام — أزرارٌ متلاصقة كمفتاح «شجرة · أعمدة · مسار» */
.pf-tabs{display:flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--hover);
 margin:0 0 16px;width:fit-content;max-width:100%}
.pf-tabs button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);font:inherit;
 font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:9px;cursor:pointer;white-space:nowrap}
.pf-tabs button:hover{color:var(--ink)}
.pf-tabs button.on{background:var(--surface);color:var(--ink);font-weight:800;box-shadow:var(--sh)}
.pf-tabs .ic{font-size:12px;opacity:.85}

.pf-sec{margin:0 0 18px}
.pf-sh{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:0 0 10px}
.pf-sh h3{margin:0;font-size:15px}
.pf-sh span{font-size:11.5px;color:var(--muted)}
.pf-card{padding:14px 16px;margin:0 0 14px}
.pf-card .viz{margin:0}
.pf-ch{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:13px}
.pf-ch .ct{font-size:10.5px;background:var(--hover);border:1px solid var(--line);border-radius:999px;padding:0 8px;color:var(--muted)}
.pf-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pf-stack{display:flex;flex-direction:column}
@media(max-width:1100px){.pf-g2{grid-template-columns:1fr}}
.pf-scroll{overflow-x:auto}
.pf-note{font-size:11.5px;color:var(--muted);margin:4px 0 0}

/* المؤشرات */
.pf-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:0 0 14px}
.pf-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.pf-kpis.three{grid-template-columns:1fr}}
.pf-kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 13px;border-inline-start:4px solid var(--viz-1)}
.pf-kpi.warn{border-inline-start-color:var(--viz-med)}
.pf-kpi.good{border-inline-start-color:var(--viz-low)}
.pf-kpi .l{font-size:11px;color:var(--muted);font-weight:700}
.pf-kpi .v{font-size:22px;font-weight:800;margin:3px 0 1px;font-variant-numeric:tabular-nums}
.pf-kpi .s{font-size:10.8px;color:var(--muted)}
.pf-d{display:inline-block;font-size:10.8px;font-weight:800;border-radius:999px;padding:1px 8px;margin-top:4px;white-space:nowrap}
.pf-d.good{background:var(--low-bg);color:var(--low)}
.pf-d.bad{background:var(--high-bg);color:var(--high)}
.pf-d.eq{background:var(--hover);color:var(--muted)}

/* خارج الضوابط */
.pf-alerts{display:flex;flex-direction:column;gap:6px;max-height:330px;overflow:auto}
.pf-al{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.pf-al .ic{font-weight:800}
.pf-al small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.pf-al.lo{border-color:var(--med-line);background:var(--med-bg)}.pf-al.lo .ic{color:var(--med)}
.pf-al.hi{border-color:var(--high-line);background:var(--high-bg)}.pf-al.hi .ic{color:var(--high)}
.pf-ok{font-size:12.5px;color:var(--low);font-weight:700;padding:10px}

/* الجداول */
.pf-tbl td{vertical-align:middle}
.pf-sub{font-size:10.5px;color:var(--muted)}
.pf-act{white-space:nowrap}
.pf-rc{display:flex;flex-direction:column;gap:2px;min-width:92px}
.pf-rc b{font-size:13px;font-variant-numeric:tabular-nums}
.pf-rc .bar{position:relative;display:block;height:6px;border-radius:9px;background:var(--line)}
.pf-rc .band{position:absolute;top:0;bottom:0;border-radius:9px;background:var(--low-line)}
.pf-rc .mk{position:absolute;top:-3px;width:4px;height:12px;border-radius:3px;margin-inline-start:-2px;background:var(--ink-2)}
.pf-rc small{font-size:9.5px;color:var(--muted);font-family:ui-monospace,Menlo,Consolas,monospace}
.pf-rc.ok b{color:var(--low)}.pf-rc.ok .mk{background:var(--low)}
.pf-rc.lo b{color:var(--med)}.pf-rc.lo .mk{background:var(--med)}
.pf-rc.hi b{color:var(--high)}.pf-rc.hi .mk{background:var(--high)}
.pf-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;margin:0 0 10px;align-items:center}
.pf-legend .ok{color:var(--low)}.pf-legend .lo{color:var(--med)}.pf-legend .hi{color:var(--high)}.pf-legend .na{color:var(--line-2)}
.pf-pb{height:7px;border-radius:9px;background:var(--line);overflow:hidden;min-width:90px}
.pf-pb span{display:block;height:100%;background:var(--viz-2);border-radius:9px}
.pf-pb+small{font-size:10.5px;color:var(--muted)}
.pf-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--hover);margin:0 0 12px}
.pf-seg button{border:0;background:transparent;font:inherit;font-size:12px;color:var(--muted);padding:5px 12px;border-radius:8px;cursor:pointer}
.pf-seg button.on{background:var(--surface);color:var(--ink);font-weight:800;box-shadow:var(--sh)}
.pf-sv{display:inline-block;min-width:24px;text-align:center;font-size:11px;font-weight:800;border-radius:6px;padding:1px 5px;margin-inline-end:3px}
.pf-sv.h{background:var(--high-bg);color:var(--high)}.pf-sv.m{background:var(--med-bg);color:var(--med)}.pf-sv.l{background:var(--low-bg);color:var(--low)}
.pf-u{cursor:pointer}.pf-u:hover{background:var(--hover)}
.pf-sub-r td{font-size:12px;color:var(--ink-2);background:var(--surface-2)}
.pf-spark{display:block}

/* بطاقات درجات الخطر */
.pf-sevs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
@media(max-width:800px){.pf-sevs{grid-template-columns:1fr}}
.pf-sev{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 13px;border-top:4px solid var(--c)}
.pf-sev .h{display:flex;align-items:center;gap:7px;font-size:12.5px}
.pf-sev .h i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.pf-sev .h .pf-d{margin:0 0 0 auto;margin-inline-start:auto}
.pf-sev .v{font-size:22px;font-weight:800;margin:4px 0}
.pf-sev .v small{font-size:11px;color:var(--muted);font-weight:600}
.pf-sev .pf-spark{margin-top:6px;width:100%}

/* ضوابط الأداء بنافذة المستخدم */
.pf-tg{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.pf-tg .h,.pf-tg .r{display:grid;grid-template-columns:1fr 90px 90px;gap:8px;align-items:center}
.pf-tg .h b{font-size:11px;color:var(--muted);text-align:center}
.pf-tg .r span{font-size:12.5px}
.pf-tg input{width:100%;padding:6px 8px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-size:12.5px;text-align:center}
@media print{.pf-tabs,.pf-filters{display:none!important}.pf-card{break-inside:avoid}}
/* الرسم داخل بطاقة القسم: إطارٌ واحد لا إطاران */
.pf-card>.viz,.pf-stack>.pf-card>.viz{border:0!important;box-shadow:none!important;padding:0!important;background:none!important;margin:0}
.pf-rc .bar{direction:ltr}

/* ---------------------------------------------------- مؤشر الأداء بالدور */
.pf-tiles{margin:0 0 14px}
.pf-pb.ok span{background:var(--viz-low,var(--low))}
.pf-pb.run span{background:var(--viz-1,var(--teal))}
.pf-pb.warn span{background:var(--viz-med,var(--med))}
.pf-pb.bad span{background:var(--viz-high,var(--high))}
.pf-score{display:flex;align-items:center;gap:6px;--c:var(--teal)}
.pf-score.ok{--c:var(--low)}.pf-score.warn{--c:var(--med)}.pf-score.bad{--c:var(--high)}
.pf-score .kt-ring{width:38px;height:38px}
.pf-off{font-size:10.5px;color:var(--muted);background:repeating-linear-gradient(135deg,transparent 0 5px,var(--hover) 5px 10px);
 border:1px dashed var(--line);border-radius:6px;padding:2px 8px;white-space:nowrap}
.pf-td-off{background:var(--surface-2)}
.pf-good{color:var(--low);font-weight:700}
.pf-done td{min-width:108px}
.pf-done td:first-child{min-width:150px}
.pf-avg{display:flex;align-items:center;gap:14px;margin:4px 0 10px}
.pf-avg .kt-ring{width:72px;height:72px;--c:var(--teal)}
.pf-avg .kt-ring.ok{--c:var(--low)}.pf-avg .kt-ring.warn{--c:var(--med)}.pf-avg .kt-ring.bad{--c:var(--high)}
.pf-avg b{display:block;font-size:26px;font-weight:800}
.pf-avg span{font-size:11.5px;color:var(--muted)}
.pf-dist{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.kt-ring{--c:var(--teal)}.kt-ring.ok{--c:var(--low)}.kt-ring.warn{--c:var(--med)}.kt-ring.bad{--c:var(--high)}.kt-ring.vio{--c:var(--violet)}.kt-ring.idle{--c:var(--line-2)}
.pf-roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px}
@media(max-width:520px){.pf-roles{grid-template-columns:1fr}}
.pf-role{padding:0;overflow:hidden}
.pf-role-h{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.pf-role-h b{display:block;font-size:13.5px}
.pf-role-h span{font-size:11px;color:var(--muted)}
.pf-role-h .btn{margin-inline-start:auto}
.pf-role-m{display:flex;flex-direction:column}
.pf-rm{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line);cursor:pointer;opacity:.62}
.pf-rm.on{opacity:1}
.pf-rm.lk{cursor:default}
.pf-rm .t b{display:block;font-size:12.5px}
.pf-rm .t small{font-size:10.5px;color:var(--muted)}
.pf-rm .w{font-size:10.5px;color:var(--muted);display:flex;align-items:center;gap:5px;white-space:nowrap}
.pf-rm .w input{width:58px;padding:3px 6px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);color:var(--ink);direction:ltr;font:inherit;font-size:12px}
.pf-rm .sh{position:absolute;inset-inline-start:0;bottom:0;height:2px;width:var(--w);background:var(--teal)}
.pf-rm .sh em{display:none}
.pf-rm.on:hover .sh em{display:block;position:absolute;inset-inline-start:0;bottom:3px;font-size:9px;font-style:normal;color:var(--teal)}
.pf-role-f{padding:10px 14px;font-size:12px;color:var(--ink-2)}
.pf-role-f input{width:70px;margin:0 6px;padding:3px 6px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);color:var(--ink);direction:ltr;font:inherit}
.pf-mx{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}
.pf-mx th,.pf-mx td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.pf-mx thead th{position:sticky;top:0;background:var(--surface-2);font-size:12px}
.pf-mx thead th small,.pf-mx-m small{display:block;font-weight:500;font-size:10.5px;color:var(--muted)}
.pf-mx-m{text-align:start!important;min-width:220px;max-width:300px;background:var(--surface)}
.pf-mx-m b{font-size:12.5px}
.pf-mx-g td{background:var(--hover);text-align:start!important;font-size:10.5px;font-weight:800;color:var(--muted);padding:4px 10px;letter-spacing:.3px}
.pf-mx-c{white-space:nowrap;min-width:120px;opacity:.55}
.pf-mx-c.on{opacity:1}
.pf-mx-c input[type=number],.pf-mx-t input{width:54px;padding:3px 5px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);color:var(--ink);direction:ltr;font:inherit;font-size:12px;margin-inline-start:6px}
.pf-mx-c em{display:inline-block;min-width:32px;font-style:normal;font-size:10px;color:var(--teal);font-weight:700;margin-inline-start:4px}
.pf-sw{display:inline-block;position:relative;width:30px;height:17px;vertical-align:middle;cursor:pointer}
.pf-sw input{opacity:0;width:0;height:0;position:absolute}
.pf-sw i{position:absolute;inset:0;border-radius:99px;background:var(--line-2);transition:.15s}
.pf-sw i::after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:.15s}
.pf-sw input:checked+i{background:var(--teal)}
.pf-sw input:checked+i::after{inset-inline-start:15px}
.pf-sw input:disabled+i{opacity:.6;cursor:not-allowed}
.pf-mx-f{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 4px 0;font-size:11.5px}

/* ---------------------------------------------------- محرّر الدور: تحليل الأداء */
.pf-cfgnote{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);background:var(--surface-2);
 border:1px dashed var(--line-2);border-radius:10px;padding:7px 12px;margin:0 0 12px}
.pf-cfgnote .btn{margin-inline-start:auto}
.rlp-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:stretch;margin:0 0 12px}
@media(max-width:900px){.rlp-intro{grid-template-columns:1fr}}
.rlp-intro>div:first-child b{font-size:14px}
.rlp-intro p{margin:4px 0 0;font-size:12px;color:var(--muted);line-height:1.8}
.rlp-sum{background:var(--teal-soft);border:1px solid var(--brand-line);border-radius:12px;padding:10px 14px}
.rlp-sum>span{display:block;font-size:11px;font-weight:700;color:var(--teal);margin-bottom:6px}
.rlp-sum>div{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.rlp-sum i{font-style:normal;color:var(--muted);font-size:11px}
.rlp-f{font-size:11px;background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:2px 9px;white-space:nowrap}
.rlp-f b{color:var(--teal)}
.rlp-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:12px}
@media(max-width:520px){.rlp-groups{grid-template-columns:1fr}}
.rlp-g{padding:0;overflow:hidden}
.rlp-gh{padding:9px 14px;font-size:12px;font-weight:800;color:var(--ink-2);background:var(--surface-2);border-bottom:1px solid var(--line)}
.rlp-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto 110px;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);opacity:.6}
.rlp-row:last-child{border-bottom:0}
.rlp-row.on{opacity:1}
.rlp-row .t b{display:block;font-size:12.8px}
.rlp-row .t small{display:block;font-size:10.8px;color:var(--muted);line-height:1.6}
.rlp-row .w{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--muted)}
.rlp-row input[type=number]{width:58px;padding:4px 6px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface);color:var(--ink);direction:ltr;font:inherit;font-size:12px}
.rlp-row .sh .bar{height:6px;border-radius:99px;background:var(--pill);overflow:hidden}
.rlp-row .sh .bar i{display:block;height:100%;background:var(--teal);border-radius:99px}
.rlp-row .sh em{display:block;font-style:normal;font-size:10.5px;font-weight:700;color:var(--teal);margin-top:2px}
.rlp-row:not(.on) .sh em{color:var(--muted);font-weight:500}
.rlp-t{grid-column:2/-1;font-size:11.5px;color:var(--ink-2);display:flex;align-items:center;gap:6px}
@media(max-width:600px){.rlp-row{grid-template-columns:auto minmax(0,1fr)}.rlp-row .w,.rlp-row .sh{grid-column:2}}
