:root {
  --premium-accent: #7c3aed;
  --premium-accent-soft: rgba(124, 58, 237, 0.16);
  --premium-good: #16a34a;
  --premium-warn: #d97706;
  --premium-bad: #dc2626;
  --premium-border: rgba(148, 163, 184, 0.22);
}

.tests-page .page-header,
.admin-page .page-header {
  gap: 1rem;
}

.premium-hero-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--premium-border);
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.18), rgba(14, 165, 233, 0.08) 50%, rgba(15, 23, 42, 0.06));
}

.premium-hero-card::after {
  content: "";
  position: absolute;
  inset: auto -15% -30% auto;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255,255,255,.16), transparent 70%);
  pointer-events: none;
}

.premium-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
  gap: 1rem;
  align-items: start;
}

.premium-hero-meta,
.quick-stats-grid,
.test-mode-grid,
.admin-shortcuts-grid,
.review-toolbar,
.test-progress-grid {
  display: grid;
  gap: .85rem;
}

.premium-hero-meta {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  margin-top: 1rem;
}

.hero-pill,
.quick-stat,
.test-mode-card,
.admin-shortcut,
.test-progress-card,
.answer-state-chip,
.user-mini-stat {
  border: 1px solid var(--premium-border);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  padding: .95rem 1rem;
  backdrop-filter: blur(10px);
}

[data-theme="light"] .hero-pill,
[data-theme="light"] .quick-stat,
[data-theme="light"] .test-mode-card,
[data-theme="light"] .admin-shortcut,
[data-theme="light"] .test-progress-card,
[data-theme="light"] .answer-state-chip,
[data-theme="light"] .user-mini-stat {
  background: rgba(255,255,255,.78);
}

.hero-pill strong,
.quick-stat strong,
.test-progress-card strong,
.user-mini-stat strong {
  display: block;
  font-size: 1.25rem;
  margin-top: .25rem;
}

.tests-layout-third,
.admin-grid-third {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.test-mode-card,
.admin-shortcut {
  display: flex;
  flex-direction: column;
  gap: .8rem;
}

.test-mode-card h3,
.admin-shortcut h3 {
  margin: 0;
}

.test-mode-actions,
.admin-shortcut-actions,
.review-toolbar {
  display: flex;
  gap: .65rem;
  flex-wrap: wrap;
}

.test-exam-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1rem;
  align-items: start;
}

.test-exam-main {
  min-width: 0;
}

.test-side-panel {
  position: sticky;
  top: 1rem;
  display: grid;
  gap: 1rem;
}

.test-progress-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.question-palette {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .55rem;
}

.question-palette-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  border-radius: 12px;
  border: 1px solid var(--premium-border);
  background: rgba(255,255,255,.05);
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}

.question-palette-btn.is-current {
  outline: 2px solid rgba(124, 58, 237, .55);
  transform: translateY(-1px);
}

.question-palette-btn.is-answered {
  border-color: rgba(22, 163, 74, .45);
  background: rgba(22, 163, 74, .15);
}

.question-palette-btn.is-unanswered {
  border-color: rgba(217, 119, 6, .4);
  background: rgba(217, 119, 6, .12);
}

.question-palette-btn.is-flagged {
  box-shadow: inset 0 0 0 2px rgba(124, 58, 237, .45);
}

.test-question-card {
  scroll-margin-top: 96px;
}

.test-question-card.is-current {
  box-shadow: 0 0 0 2px rgba(124, 58, 237, .35);
}

.test-question-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
  margin-top: 1rem;
}

.flag-toggle {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid var(--premium-border);
  border-radius: 999px;
  padding: .45rem .75rem;
  background: rgba(255,255,255,.05);
}

.flag-toggle input {
  accent-color: var(--premium-accent);
}

.autosave-status {
  font-size: .9rem;
  opacity: .82;
}

.result-summary-grid {
  display: grid;
  grid-template-columns: 1.3fr .9fr;
  gap: 1rem;
}

.review-toolbar {
  justify-content: space-between;
  align-items: center;
}

.review-filter-group,
.review-actions-group {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.review-filter-btn {
  border: 1px solid var(--premium-border);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: inherit;
  padding: .55rem .85rem;
  cursor: pointer;
  font: inherit;
}

.review-filter-btn.is-active {
  background: var(--premium-accent-soft);
  border-color: rgba(124, 58, 237, .45);
}

.test-review-card[hidden] {
  display: none !important;
}

.test-review-card .test-explanation-box {
  margin-top: .85rem;
}

.answer-state-chip[data-state="correct"],
.user-status-badge[data-status="active"] {
  border-color: rgba(22,163,74,.35);
  background: rgba(22,163,74,.12);
}

.answer-state-chip[data-state="incorrect"],
.user-status-badge[data-status="blocked"] {
  border-color: rgba(220,38,38,.35);
  background: rgba(220,38,38,.12);
}

.answer-state-chip[data-state="blank"],
.user-status-badge[data-status="pending"] {
  border-color: rgba(217,119,6,.35);
  background: rgba(217,119,6,.12);
}

.admin-users-toolbar {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 1rem;
}

.admin-toolbar-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.user-admin-table td,
.user-admin-table th {
  vertical-align: top;
}

.user-name-stack {
  display: grid;
  gap: .2rem;
}

.user-meta-line {
  font-size: .92rem;
  opacity: .78;
}

.user-role-badge,
.user-status-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 999px;
  padding: .28rem .65rem;
  border: 1px solid var(--premium-border);
  font-size: .85rem;
  font-weight: 700;
}

.user-role-badge[data-role="superadmin"] { background: rgba(124,58,237,.14); }
.user-role-badge[data-role="admin"] { background: rgba(14,165,233,.14); }
.user-role-badge[data-role="content_admin"] { background: rgba(249,115,22,.14); }
.user-role-badge[data-role="user"] { background: rgba(148,163,184,.16); }

.admin-empty-hint {
  margin-top: .85rem;
  font-size: .95rem;
  opacity: .8;
}

@media (max-width: 1100px) {
  .tests-layout-third,
  .admin-grid-third,
  .admin-users-toolbar,
  .result-summary-grid,
  .premium-hero-grid,
  .test-exam-layout {
    grid-template-columns: 1fr;
  }

  .test-side-panel {
    position: static;
  }
}

@media (max-width: 760px) {
  .question-palette {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .test-progress-grid,
  .admin-toolbar-stats {
    grid-template-columns: 1fr 1fr;
  }

  .review-toolbar {
    align-items: stretch;
  }
}
