/* ══════════════════════════════════════════════════════════════
 *  أداء الموظفين والبوت
 * ══════════════════════════════════════════════════════════════
 *
 * ‏صفحتان تُقرآن للحكم: من كفءٌ ومن لا، وهل البوت يستاهل. فالرقمُ هو
 * الصوتُ العالي وحده، وكلُّ ما حوله هادئ: حدودٌ شعريّة، وأعمدةٌ رفيعة،
 * ولونٌ واحد (`--accent`) لما يُقاس، ورماديٌّ لما يُقارَن به.
 *
 * ‏ولا لونَ مكتوبٌ بيد: كلُّه من `tokens.css`، فالثيمان يتبدّلان من مكانٍ واحد.
 */

/* ─────────────── الشريط: المدّة ─────────────── */

.pf-toolbar { flex-wrap: wrap; gap: var(--sp-3); }

.pf-custom { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
.pf-custom .form-input { width: auto; min-width: 150px; }
.pf-to { font-size: var(--fs-sm); color: var(--text-muted); }

/* ‏وإعادةُ القراءة تُبقي ما رُسم باهتا حتى يصل الجديد — لا هيكلَ يومض ولا قفزة */
.pf-body { transition: opacity .15s; }
.pf-body.is-loading { opacity: .5; pointer-events: none; }

/* ─────────────── السطر التمهيديّ ─────────────── */

.pf-note {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-2);
  margin: 0 0 var(--sp-4);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  line-height: 1.7;
}
.pf-note i, .pf-note svg { width: var(--icon-sm); height: var(--icon-sm); flex: none; margin-top: 5px; }
.pf-note.is-warn { color: var(--warning-text); }

/* ─────────────── اللوحة ─────────────── */

.pf-card {
  background: var(--surface-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: var(--sp-5);
  margin-bottom: var(--sp-4);
  box-shadow: var(--shadow-sm);
  min-width: 0;
}

.pf-card > h3 {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-md);
  font-weight: var(--fw-semibold);
  color: var(--text-strong);
}
.pf-card > h3 i, .pf-card > h3 svg { width: var(--icon-md); height: var(--icon-md); flex: none; }
.pf-card-sub { margin: calc(var(--sp-2) * -1) 0 var(--sp-3); font-size: var(--fs-sm); color: var(--text-muted); }

/* ─────────────── جدول المقارنة ─────────────── */

.pf-table td, .pf-table th { white-space: nowrap; vertical-align: top; }
.pf-table td.pf-num, .pf-table th.pf-num { text-align: center; }

.pf-val {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  color: var(--text-strong);
  font-variant-numeric: tabular-nums;
}
.pf-val.is-zero { color: var(--text-muted); font-weight: var(--fw-normal); opacity: .7; }

/* ‏الأعلى في عموده: نقطةٌ بلون المقياس بجانب رقمه — والنصُّ بحبره لا بلونها */
.pf-best-dot {
  width: 8px; height: 8px;
  border-radius: var(--radius-full);
  background: var(--accent);
  flex: none;
}

.pf-sub { display: block; margin-top: 2px; font-size: var(--fs-xs); color: var(--text-muted); font-weight: var(--fw-normal); }

.pf-person { display: flex; align-items: center; gap: var(--sp-3); }
.pf-avatar {
  width: 36px; height: 36px;
  border-radius: var(--radius-full);
  background: var(--accent-soft);
  color: var(--accent);
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: var(--fw-bold);
  flex: none;
}
.pf-person-name { font-weight: var(--fw-bold); color: var(--text-strong); }
.pf-person-role { display: block; font-size: var(--fs-xs); color: var(--text-muted); }

.pf-legend { display: flex; align-items: center; gap: var(--sp-2); margin-top: var(--sp-3); font-size: var(--fs-xs); color: var(--text-muted); }

/* ─────────────── الأعمدة الصغيرة ───────────────
 *
 * ‏الزمنُ من اليسار إلى اليمين كما في رسم الرئيسية: الأعمدةُ مواضعُ على
 * محور، والمحورُ لا ينقلب مع اتّجاه الصفحة. وكلُّ عمودٍ هدفُ نقرٍ بعرض
 * خانته كلِّها لا بعرض ما رُسم منه.
 */

.pf-multiples { display: flex; flex-direction: column; gap: var(--sp-4); }

.pf-row {
  display: grid;
  grid-template-columns: minmax(110px, 170px) minmax(0, 1fr);
  gap: var(--sp-3);
  align-items: end;
}
.pf-row-label { font-size: var(--fs-sm); color: var(--text-primary); font-weight: var(--fw-semibold); padding-bottom: 22px; }
.pf-row-label .pf-sub { font-weight: var(--fw-normal); }

.pf-chart { position: relative; min-width: 0; }

.pf-cols {
  direction: ltr;
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 64px;
  border-bottom: 1px solid var(--border-default);
}
.pf-chart.is-tall .pf-cols { height: 96px; }

.pf-col {
  flex: 1 1 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  cursor: default;
  outline: none;
  border-radius: var(--radius-xs) var(--radius-xs) 0 0;
}
.pf-col:focus-visible { box-shadow: 0 0 0 2px var(--accent); }

.pf-bar {
  width: 100%;
  max-width: 24px;
  min-height: 2px;
  background: var(--accent);
  border-radius: 4px 4px 0 0;
  transition: filter .12s;
}
.pf-bar.is-zero { background: var(--border-default); }
.pf-col:hover .pf-bar, .pf-col:focus-visible .pf-bar { filter: brightness(1.18); }

.pf-axis {
  direction: ltr;
  display: flex;
  justify-content: space-between;
  margin-top: 4px;
  font-size: var(--fs-xs);
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}

.pf-peak { position: absolute; top: -2px; inset-inline-end: 0; font-size: var(--fs-xs); color: var(--text-muted); }

.pf-tip {
  position: absolute;
  z-index: 20;
  bottom: calc(100% + 8px);
  transform: translateX(-50%);
  min-width: 150px;
  padding: var(--sp-2) var(--sp-3);
  background: var(--surface-3);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
  font-size: var(--fs-xs);
  color: var(--text-primary);
  pointer-events: none;
  white-space: nowrap;
  direction: rtl;
  text-align: start;
}
.pf-tip[hidden] { display: none; }
.pf-tip-value { display: block; font-size: var(--fs-sm); font-weight: var(--fw-bold); color: var(--text-strong); }

.pf-days { margin-top: var(--sp-3); font-size: var(--fs-sm); }
.pf-days summary { cursor: pointer; color: var(--text-muted); }
.pf-days .table-wrap { margin-top: var(--sp-2); }

/* ─────────────── رأسُ البوت: ما جاب وما كلّف ─────────────── */

.pf-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--sp-4);
}
.pf-hero-block { display: flex; flex-direction: column; gap: var(--sp-1); min-width: 0; }
.pf-hero-label { font-size: var(--fs-sm); color: var(--text-muted); font-weight: var(--fw-semibold); }
.pf-hero-value {
  font-size: var(--fs-3xl);
  font-weight: var(--fw-bold);
  line-height: 1.15;
  color: var(--text-strong);
}
.pf-hero-block.is-cost .pf-hero-value { font-size: var(--fs-2xl); }
.pf-hero-sub { font-size: var(--fs-sm); color: var(--text-muted); }

.pf-verdict {
  margin: var(--sp-4) 0 0;
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--radius-md);
  background: var(--accent-soft);
  color: var(--text-strong);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-base);
}

/* ─────────────── صفُّ الأرقام ─────────────── */

.pf-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--sp-3);
  margin-bottom: var(--sp-4);
}
.pf-kpi {
  background: var(--surface-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: var(--sp-4);
  box-shadow: var(--shadow-sm);
  min-width: 0;
}
.pf-kpi-label { display: flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--text-muted); font-weight: var(--fw-semibold); }
.pf-kpi-label i, .pf-kpi-label svg { width: var(--icon-sm); height: var(--icon-sm); color: var(--accent); flex: none; }
.pf-kpi-value { margin-top: var(--sp-2); font-size: var(--fs-xl); font-weight: var(--fw-bold); color: var(--text-strong); line-height: 1.2; }
.pf-kpi-sub { margin-top: var(--sp-1); font-size: var(--fs-xs); color: var(--text-muted); line-height: 1.6; }

/* ─────────────── كلَّ يوم: ثلاثةُ رسومٍ صغيرة، لكلٍّ مقياسُه ─────────────── */

.pf-trio {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--sp-5);
}
.pf-trio-title { display: flex; justify-content: space-between; gap: var(--sp-2); margin-bottom: var(--sp-3); font-size: var(--fs-sm); font-weight: var(--fw-semibold); color: var(--text-primary); }
.pf-trio-title span:last-child { color: var(--text-muted); font-weight: var(--fw-normal); font-variant-numeric: tabular-nums; }

/* ─────────────── المشاكل ─────────────── */

.pf-problems { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--sp-4); }
.pf-problem-head { display: flex; align-items: baseline; gap: var(--sp-2); flex-wrap: wrap; margin-bottom: var(--sp-2); }
.pf-problem-count { font-size: var(--fs-xl); font-weight: var(--fw-bold); color: var(--text-strong); }
.pf-problem-title { font-weight: var(--fw-semibold); color: var(--text-primary); }
.pf-problem-title i, .pf-problem-title svg { width: var(--icon-sm); height: var(--icon-sm); vertical-align: -2px; }
.pf-problem-title.is-warn i, .pf-problem-title.is-warn svg { color: var(--warning); }
.pf-problem-title.is-danger i, .pf-problem-title.is-danger svg { color: var(--danger); }

.pf-list { list-style: none; margin: var(--sp-2) 0 0; padding: 0; display: flex; flex-direction: column; }
.pf-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--sp-1) var(--sp-3);
  padding: var(--sp-3) 0;
  border-top: 1px solid var(--border-hairline);
}
.pf-item-who { font-weight: var(--fw-semibold); color: var(--text-primary); min-width: 0; overflow-wrap: anywhere; }
.pf-item-when { font-size: var(--fs-xs); color: var(--text-muted); font-weight: var(--fw-normal); margin-inline-start: 6px; }
.pf-item-quote {
  grid-column: 1 / -1;
  margin: 0;
  padding-inline-start: var(--sp-3);
  border-inline-start: 2px solid var(--border-default);
  color: var(--text-primary);
  font-size: var(--fs-sm);
  overflow-wrap: anywhere;
}
.pf-item .btn { align-self: start; }
.pf-empty-line { margin: var(--sp-2) 0 0; font-size: var(--fs-sm); color: var(--text-muted); }

/* ─────────────── البوت جنب الموظفين ─────────────── */

.pf-vs td { vertical-align: middle; }
.pf-vs-cell { display: flex; flex-direction: column; gap: 6px; min-width: 150px; }
.pf-vs-track { height: 8px; border-radius: var(--radius-full); background: var(--surface-inset); overflow: hidden; }
.pf-vs-fill { height: 100%; border-radius: var(--radius-full); background: var(--accent); }
.pf-vs-fill.is-staff { background: var(--text-muted); opacity: .45; }

/* ─────────────── كيف نحسب ─────────────── */

.pf-how { font-size: var(--fs-sm); color: var(--text-muted); }
.pf-how summary { cursor: pointer; font-weight: var(--fw-semibold); color: var(--text-primary); }
.pf-how ul { margin: var(--sp-3) 0 0; padding-inline-start: var(--sp-5); line-height: 1.9; }
.pf-how li strong { color: var(--text-primary); }

/* ─────────────── الجوال ─────────────── */

@media (max-width: 720px) {
  .pf-card { padding: var(--sp-4); }
  .pf-hero { grid-template-columns: minmax(0, 1fr); }
  .pf-hero-value { font-size: var(--fs-2xl); }
  .pf-row { grid-template-columns: minmax(0, 1fr); gap: var(--sp-1); }
  .pf-row-label { padding-bottom: 0; }
  .pf-problems { grid-template-columns: minmax(0, 1fr); }
  .pf-custom .form-input { min-width: 0; flex: 1 1 130px; }
  /* ‏رقمان في الصفّ لا واحد: خمسُ بطاقاتٍ فوق بعضها تدفع الرسمَ بعيدا */
  .pf-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pf-kpi { padding: var(--sp-3); }
}
