/* Achievements page */

.achievements-page .page-header {
  margin-bottom: 16px;
}

.muted { opacity: 0.75; }
.error { border: 1px solid rgba(255,0,0,0.35); }

.card {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.25);
  margin-bottom: 12px;
}

.ach-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}

.ach-card {
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.22);
  transition: transform 120ms ease, opacity 120ms ease;
}

.ach-card:hover { transform: translateY(-1px); }

.ach-card.locked { opacity: 0.7; }
.ach-card.earned { opacity: 1.0; }

.ach-top {
  display: flex;
  gap: 12px;
  align-items: center;
}

.ach-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.12);
}

.ach-title {
  font-size: 1.05rem;
  font-weight: 700;
}

.ach-desc {
  font-size: 0.92rem;
  opacity: 0.85;
  margin-top: 2px;
}

.ach-bottom {
  margin-top: 10px;
  display: grid;
  gap: 4px;
  font-size: 0.92rem;
}

.ach-score { font-weight: 600; }
.ach-reward { opacity: 0.95; }
.ach-earned { opacity: 0.8; }

.totals .totals-row {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}
.totals .totals-item {
  display: grid;
  gap: 2px;
}
.totals .totals-label { opacity: 0.75; font-size: 0.9rem; }
.totals .totals-value { font-size: 1.1rem; font-weight: 700; }
