To solve this problem, we first need to define the decision variables and the objective function. Let's denote the number of bracelets produced per day as $B$ and the number of rings produced per day as $R$. The profit per bracelet is $700, and the profit per ring is $300. Therefore, the total profit can be represented as $700B + 300R$.

The constraints are:
1. The team producing bracelets can make at most 4 bracelets per day: $B \leq 4$
2. The team producing rings can make at most 7 rings per day: $R \leq 7$
3. The master jeweler can check at most 30 jewels (either bracelets or rings) per day: $B + R \leq 30$

Since the goal is to maximize profit, we want to find the values of $B$ and $R$ that maximize $700B + 300R$ under these constraints.

Here's how we can translate this problem into Gurobi code in Python:

```python
from gurobipy import *

# Create a model
m = Model("Jewelry_Profit")

# Define the decision variables
B = m.addVar(lb=0, ub=4, vtype=GRB.INTEGER, name="Bracelets")
R = m.addVar(lb=0, ub=7, vtype=GRB.INTEGER, name="Rings")

# Set the objective function to maximize profit
m.setObjective(700*B + 300*R, GRB.MAXIMIZE)

# Add constraints
m.addConstr(B <= 4, "Max_Bracelets")
m.addConstr(R <= 7, "Max_Rings")
m.addConstr(B + R <= 30, "Master_Jeweler_Checks")

# Optimize the model
m.optimize()

# Print the results
if m.status == GRB.OPTIMAL:
    print(f"Optimal solution: Produce {B.x} bracelets and {R.x} rings.")
    print(f"Maximum profit: ${700*B.x + 300*R.x}")
else:
    print("No optimal solution found.")

```