 body {
  font-family: sans-serif;
  background: #f5f5f5;
  padding: 20px;
}

.malla {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 10px;
  max-width: 100%;
  overflow-x: auto;
}

.header {
  font-weight: bold;
  text-align: center;
  background: #ddd;
  padding: 8px;
  border: 1px solid #bbb;
}

.ramo {
  background: white;
  border: 2px solid #ccc;
  border-radius: 6px;
  text-align: center;
  padding: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.ramo.pendiente { background: white; border-color: #ccc; }
.ramo.cursando { background: #fff59d; border-color: #fbc02d; }
.ramo.aprobado { background: #a5d6a7; border-color: #388e3c; }


.ramo.bloqueado {
  background: #eee;
  border-style: dashed;
  cursor: not-allowed;
  color: #999;
}

.ramo.placeholder {
  background: transparent;
  border: none;
  pointer-events: none;
  cursor: default;
}

#barra-inferior {
  display: flex;
  justify-content: space-between; /* ← esto empuja los elementos a extremos opuestos */
  align-items: center;
  margin-top: 20px;
  padding: 0 10px;
  font-weight: bold;
}
