To solve this optimization problem, we first need to define the decision variables and the objective function. Let's denote the number of pants as \(P\) and the number of shorts as \(S\). The objective is to maximize profit, which can be calculated as \(5P + 7S\).

Next, we define the constraints based on the availability of each team:
1. Measuring team constraint: \(0.5P + 0.1S \leq 60\)
2. Cutting team constraint: \(0.2P + 0.5S \leq 80\)
3. Sewing team constraint: \(0.7P + 0.6S \leq 75\)

Additionally, we know that the number of pants and shorts cannot be negative:
4. Non-negativity constraints: \(P \geq 0\) and \(S \geq 0\)

Now, let's translate these into Gurobi code in Python:

```python
from gurobipy import *

# Create a new model
m = Model("Tailor_Shop_Optimization")

# Define the decision variables
P = m.addVar(vtype=GRB.CONTINUOUS, name="pants", lb=0)
S = m.addVar(vtype=GRB.CONTINUOUS, name="shorts", lb=0)

# Define the objective function: Maximize profit
m.setObjective(5*P + 7*S, GRB.MAXIMIZE)

# Define the constraints
m.addConstr(0.5*P + 0.1*S <= 60, "measuring_team")
m.addConstr(0.2*P + 0.5*S <= 80, "cutting_team")
m.addConstr(0.7*P + 0.6*S <= 75, "sewing_team")

# Optimize the model
m.optimize()

# Print the results
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Pants: {P.x}")
    print(f"Shorts: {S.x}")
    print(f"Maximum Profit: {m.objVal}")
else:
    print("No optimal solution found")
```