.btn, .btn-secondary, .btn-success, .btn-warning, .btn-outline, .icon-btn {
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.course-card:hover, .step-card:hover, .card:hover { transform: translateY(-2px); }
[type="button"], button { border: none; }

.mini-stat {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  background: var(--surface-alt);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 700;
  color: var(--muted);
}

.label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 700;
  font-size: .78rem;
  background: var(--primary-soft);
  color: var(--primary-dark);
}

.label.success { background: var(--success-soft); color: var(--success); }
.label.warning { background: var(--warning-soft); color: #9c6c00; }
.label.danger { background: var(--danger-soft); color: var(--danger); }

.panel-head {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  margin-bottom: 18px;
}

.list-plain { list-style: none; padding: 0; margin: 0; }

.inline-tags { display: flex; flex-wrap: wrap; gap: 8px; }
