diff --git a/src/components/admin/round/ranking-dashboard.tsx b/src/components/admin/round/ranking-dashboard.tsx
index 403fc47..46789dd 100644
--- a/src/components/admin/round/ranking-dashboard.tsx
+++ b/src/components/admin/round/ranking-dashboard.tsx
@@ -1112,6 +1112,18 @@ export function RankingDashboard({ competitionId: _competitionId, roundId }: Ran
{selectedProjectId ? `ID: …${selectedProjectId.slice(-8)}` : ''}
+
+ {projectDetail?.project.country && (
+
+
+
+ )}
+ {projectDetail?.project.teamName && (
+
+ {projectDetail.project.teamName}
+
+ )}
+
{selectedProjectId && (
+
+ {/* Project description (collapsible) */}
+ {projectDetail.project.description && (
+
+
+ Description
+
+
+
+ {projectDetail.project.description}
+
+
+ )}
+
{/* Stats summary: combined Avg card with Raw + Balanced side-by-side */}
{projectDetail.stats && (() => {
const raw = selectedProjectId
@@ -1266,10 +1292,55 @@ export function RankingDashboard({ competitionId: _competitionId, roundId }: Ran
})()}
- {isExpanded && a.evaluation?.feedbackText && (
-
- {a.evaluation.feedbackText}
-
+ {isExpanded && (
+
+ {/* Per-criterion scores */}
+ {(() => {
+ const scores = a.evaluation?.criterionScoresJson as Record
| null
+ if (!scores || !evalForm?.criteriaJson) return null
+ const criteria = evalForm.criteriaJson as Array<{
+ id: string
+ label: string
+ type?: string
+ trueLabel?: string
+ falseLabel?: string
+ scale?: number | string
+ }>
+ const rendered = criteria
+ .map((c) => {
+ const v = scores[c.id]
+ if (v == null || v === '') return null
+ let display: string
+ if (typeof v === 'boolean') {
+ display = v ? (c.trueLabel ?? 'Yes') : (c.falseLabel ?? 'No')
+ } else if (typeof v === 'number') {
+ display = String(v)
+ } else {
+ display = String(v)
+ }
+ return { label: c.label, display, type: c.type ?? 'numeric' }
+ })
+ .filter((x): x is { label: string; display: string; type: string } => x != null)
+ if (rendered.length === 0) return null
+ return (
+
+ {rendered.map((c, i) => (
+
+ {c.label}
+ {c.display}
+
+ ))}
+
+ )
+ })()}
+
+ {/* Feedback text */}
+ {a.evaluation?.feedbackText && (
+
+ {a.evaluation.feedbackText}
+
+ )}
+
)}
)