/* ==========================================================================
   GELEX HUB — Hồ sơ cá nhân (Profile) — G-E2
   Header + KPI + GitHub heatmap + timeline vinh nhận.
   ========================================================================== */

/* Header */
.pf-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}
.pf-avatar {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--brand), var(--brand-dark));
  color: #fff;
  font-size: 24px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex: none;
}
.pf-header-info { flex: 1; min-width: 0; }
.pf-name { font-size: 20px; font-weight: 700; color: var(--text); letter-spacing: -0.01em; }
.pf-sub { display: flex; align-items: center; gap: 8px; margin-top: 6px; flex-wrap: wrap; }
.pf-code { font-size: 12px; color: var(--text-3); }

/* 2 cột */
.pf-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
@media (max-width: 860px) { .pf-grid { grid-template-columns: 1fr; } }

.pf-card {
  padding: 14px 16px;
  background: var(--surface-raised);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
}

/* Heatmap (GitHub style) */
.pf-heat {
  display: flex;
  gap: 3px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.pf-heat-col { display: flex; flex-direction: column; gap: 3px; }
.pf-heat-cell {
  width: 11px; height: 11px;
  border-radius: 2px;
  background: var(--border-subtle);
  display: block;
}
.pf-heat-cell.lvl-0 { background: var(--border-subtle); }
.pf-heat-cell.lvl-1 { background: #fecaca; }
.pf-heat-cell.lvl-2 { background: #fca5a5; }
.pf-heat-cell.lvl-3 { background: #f87171; }
.pf-heat-cell.lvl-4 { background: var(--brand); }
.pf-heat-cell.future { background: transparent; }
.pf-heat-months { display: flex; gap: 3px; margin-top: 4px; min-height: 14px; }
.pf-heat-month { font-size: 10px; color: var(--text-3); width: 14px; flex: none; white-space: nowrap; }
.pf-heat-legend {
  display: flex; align-items: center; gap: 4px;
  margin-top: 10px;
  font-size: 10.5px;
  color: var(--text-3);
}
.pf-heat-legend .pf-heat-cell { width: 11px; height: 11px; }

/* Recognition timeline */
.pf-rec-list { padding: 6px 10px; }
.pf-rec-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 6px;
  border-bottom: 1px solid var(--border-subtle);
}
.pf-rec-row:last-child { border-bottom: none; }
.pf-rec-pts {
  font-size: 13px; font-weight: 700;
  color: var(--brand);
  min-width: 36px;
  flex: none;
}
.pf-rec-body { flex: 1; min-width: 0; font-size: 12.5px; color: var(--text-2); }
.pf-rec-body b { font-weight: 600; color: var(--text); }
.pf-rec-time { font-size: 11px; color: var(--text-3); margin-top: 2px; }
.pf-rec-proj { color: var(--text-3); }

/* Done list */
.pf-done-list { padding: 4px 8px; }
.pf-done-list .e-row { cursor: pointer; }

/* Y Tưởng link */
.pf-ytuong-link {
  display: block;
  margin-top: 12px;
  padding: 10px 14px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--brand);
  background: var(--brand-soft);
  border: 1px solid var(--brand-border);
  border-radius: var(--radius);
  text-decoration: none;
  text-align: center;
}
.pf-ytuong-link:hover { background: #fee2e2; }
