:root { color-scheme: light; }
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  background: #f4f6fa;
  color: #1c2333;
  direction: rtl;
}
header.admin-top {
  background: linear-gradient(120deg, #17213b, #283d72);
  color: #fff;
  padding: 18px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header.admin-top a { color: #cfd6ff; text-decoration: none; font-size: 14px; }
main { max-width: 1080px; margin: 0 auto; padding: 32px 24px 64px; }
h1 { font-size: 22px; margin: 0 0 16px; }
.breadcrumbs { margin-bottom: 16px; font-size: 14px; color: #555; }
.breadcrumbs button {
  background: none;
  border: none;
  color: #3452e1;
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-decoration: underline;
}
.summary-row { display: flex; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.summary-card {
  background: #fff;
  border: 1px solid #e4e8f1;
  border-radius: 14px;
  padding: 18px 22px;
  min-width: 180px;
  box-shadow: 0 8px 24px rgba(28, 35, 51, .06);
}
.summary-card strong { display: block; font-size: 28px; }
.summary-card span { color: #666; font-size: 13px; }
table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(28, 35, 51, .06);
}
th, td { padding: 10px 14px; text-align: right; border-bottom: 1px solid #eee; font-size: 14px; }
th { background: #eef0f8; font-weight: 600; }
tr.clickable { cursor: pointer; }
tr.clickable:hover { background: #f3f5ff; }
.muted { color: #888; }
.course-tag {
  display: inline-block;
  background: #eef0f8;
  border-radius: 6px;
  padding: 2px 8px;
  margin: 2px;
  font-size: 12px;
}
.score-block { display: inline-block; margin-inline-end: 14px; font-size: 13px; }
.score-block b { display: block; font-size: 15px; }
.state-message { padding: 40px; text-align: center; color: #666; }
.status-tag {
  font-size: 11px;
  padding: 1px 6px;
  border-radius: 4px;
  background: #e4f6e8;
  color: #1a7a34;
}

@media (max-width: 700px) {
  main { padding: 24px 12px 48px; overflow-x: auto; }
  header.admin-top { padding: 16px; }
  .summary-card { flex: 1 1 140px; min-width: 140px; }
  th, td { padding: 9px; }
}
