File size: 64,876 Bytes
72c3024
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8beb975
72c3024
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8beb975
 
 
72c3024
 
8beb975
72c3024
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b284fd8
72c3024
 
 
 
b284fd8
72c3024
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8beb975
 
 
72c3024
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
"""
IGNITE PERFORMANCE & HEALTH β€” WELLNESS ASSESSMENT LEAD MAGNET CONFIGURATION
============================================================================

This is the master configuration file for the Streamlit wellness assessment lead magnet app.

ARCHITECTURE:
All content, branding, clinical data, pricing, and AI prompts are defined HERE β€” not scattered
in the app logic. This extraction makes the app a reusable template engine:
  - To create a different lead magnet: create a new config.py (with different products, prices, tone)
  - To update brand assets, clinical data, or tone: edit this file only
  - The app logic remains unchanged across deployments

USAGE:
  import config
  brand_name = config.BRAND["name"]
  programs = config.WELLNESS_PROGRAMS
  system_prompt = config.PATHWAY_SYSTEM_PROMPT
"""

# ==============================================================================
# BRAND CONFIGURATION
# ==============================================================================
BRAND = {
    "name": "Ignite Performance & Health",
    "tagline": "The Ignition Sequenceβ„’ β€” Science Β· Strength Β· Nutrition",
    "product_name": "Ignition Sequenceβ„’",
    "assessment_title": "Online Assessment",
    "address": "14830 Clayton Rd, Chesterfield, MO 63017",
    "phone": "(314) 887-0858",
    "email": "info@ignitepah.com",
    "website": "www.ignitepah.com",
    "scheduling_url": "https://calendly.com/derek-ignitepah/initial-consultation",
    "colors": {
        "navy": "#023047",
        "teal": "#219ebc",
        "sky": "#8ecae6",
        "orange": "#f58300",
        "amber": "#ffc533",
        "white": "#ffffff",
    },
    "disclaimer": (
        "This assessment is for informational purposes only and does not constitute medical advice. "
        "All treatment programs require physician evaluation, approval, and ongoing supervision. "
        "Medical therapies are prescribed and monitored by licensed physicians."
    ),
}

# ==============================================================================
# LOGO (BASE64 PLACEHOLDER)
# ==============================================================================
# Base64-encoded logo β€” replace with your brand's logo
LOGO_B64 = "data:image/png;base64,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Nf/t7u5+ffLkyVf+61//+lRVVdXH2tvbd164cOEd8CJPV61aZe22225q1apVZ1VVVTnGmCeYecrQ0NCfq6qq4syc9L+bTqfZGGPtscceufvvv//k9773vb0bNmy4IJvNdgGY789RKcVCCM2b54yWeQuUTqczg4OD/UIIaYzhgYGBsXJQNAARiUS+mcvlrmLmKatXr749FAr977Jly04SQvz7tddeCwFQxhhtWdbU+fPn371x48Yr586d+5+DDjroeCJKj7a5kskkzZs3j+bPn++vN28phRmAtCyrv66u7gXLsmxv3EnMfEwZDoGBgYEhrXW/ZVkin88Prlq1Ch64mZlRXV3dysz/YOYmAC8PDg72NzU1nU9El69cuVIiUPSyra1NxmIxtLa20vz587mlpUV3dXUZIjLPP/+8f6gaX09pbW31ASZDoVBnbW3tC0II2xijpJTaGDMX6XS6r7u7++Genp4/d3V1Xb9hw4bP+KekLyK88sorP+/v739wLBGru7v7olQqNbB69eob1q1b92etNb/66qvfDbB68kWsVatWXTiaiLV+/fpbBgcHnx75+csvv/zJdDrNDz744FSfNS5ZsuQ7uVyud/Xq1TesXbv2z4VCgV999dUfjzSjZjKZJ3t7ey/0Tq7nU6mUWr9+/fe88ZYw8+eC99vT0/N0b29vz7p1615Zt27divXr17/qOA4//vjjR/ps/I9//GOkt7d34MEHHzwdAJ5++un3DgwM6N7e3pfXrVt3e/B6vb29z/T29v6+3Ekd5A6pVGr1/fff/9HxiFe+eLF8+fL3O47Da9euXbZ+/foVa9asebm/vz/V2dl5r3ftkCcy/ry3t/fxgNjyQGdn56aenp6+fD6/X3AeSqk1zHxkcLzHH398ntaaOzo6xhSxVqxYcUcul/tD8LMXXnhhUm9vb76MiJW9/PLLdxlNtHrwwQf3ymQyvH79+pXr1q1bsXbt2le7urq6BgcHX/UOTOk900/19PRsGGudnn/++S/19/evCophARHr2bVr1w4TsR555JFTe3p6lAWg8YUXXrjs+OOPv73c/gcAKaUOhUIzXnnllROFEBYzG2Y22Wz2MQA5AAiFQjXpdHrD7NmzPwUAL730UnLmzJk3r1mzJjlr1qzl3mbQQgirqqoq4j0MC4AiIm5tbWVmpsWLF1908MEHP9fd3X3PwMDA5ZFIpFcI8d7a2tr/6e3t/epxxx3niwV5KWW9MWa1P+Zzzz1345w5c/65YsWKm4UQLxpjbADGsizpcUN0d3d/m4haW1tbf8bMtGnTJvIPBCJyXn755Q9JKfe9884793/22Wczu+yyi7VixQrne9/73i/322+/HwE43hhDf/rTnyCltI0x2vNB3PvSSy+dv88++/wuk8l0BLne0qVLPzdnzpyHurq6kM/nrwuHw47W+sJ0Ol23++67f9hfm1AopHfdddfosmXLeohIMrPp6urqe8973vPUyAfT3NxsmJmGhoZ+snHjxisuu+yyy2bPnh3auHGjc9xxx82IRqNPr1ix4nAietKX4KSUkogMM8uLL7749NbW1qerq6v36urqCqYTk5SSBgcHj3nxxRerJk2aJIUQB9XU1FzS2dl57bx58x7zlFs9iojli2cWgBCAQnd393QppS1EqdFmJpMh27bFqaeeeuZpp522hIiEEMKsWbNmLYBlAHDggQf+z9DQ0ANXXHHF2TNmzLB7enpMfX29ff755z+/YcOGTxPRnzwRicPhcM1LL7200LIsaK1JKVXo6Oh4rLm5uSiOCyHKmtctyxKhUKjBU9Ij06ZNy7300kuTLcuS1qZNmzaEw2Gbma1Vq1ZZc+bMUQA0EfHixYvhcYd1kyZNaqytrU36JwURwXGcI4ioAwA6OzuHtNY93ucWEf1z1apV/0qn0z8ioph/OvX29m7M5/Pp6dOn86JFi3jhwoUMuIWfW1tbaeHChRtvueWWI08++eQrJ0+efGs4HFaZTCazZs2az8ybN+8GZhaLFy/WADA0NNTb1dU1EBjz3jVr1tyYz+d/wsyn+gDv6enpyWazg8yM+fPn3wPgXnZ3NXd0dGysqqoK5n9/sq+v7/cf//jHhyl055577g+z2ewDf/3rX3clotevuOIK6u7u3pDJZDJExMuWLQvvtdde165Zs6Z5aGjICohAtN9++z336KOPRnffffdrGxoa7iAinU6nlzuOc7G3Luyt82sNDQ0fLRQKZxMRCyFkLpd7CsDxHgjZP2GJyNx2220HHXjggVNfe+21y6688spN/lwvv/zyjcuXL7+jUCh8BsCTns7Ul8vlejzjhrzsssuGTj/99DN23333O3t7e4cp/t3d3WuVUj+YNGkSpJSIRCJr+vv7v7Xrrrv+xht7MzHL3ysDAwPdmzZtys6YMUMtWbJE7Lfffurll1/Oh0Kh9YVCoQjE7u5uMzAwsKahoaFVa01EpIUQVnV19U1E9P+uu+66qV1dXcd2d3d//IorrugMjnXmmWdenc/nPwfgegC8fv36gVmzZuXr6+tvY2YhhKBsNtvd2dm5vxAi5Vkdh7q7uzeVA0hnZ2d3oVAYmDZtmlq2bJkzffp09eijjw6GQqEN/x+fOXDpZ5m20QAAAABJRU5ErkJggg=="
# Note: The actual Ignite logo base64 string should be pasted here from the original app.py

# ==============================================================================
# SERVICE MECHANISM OF ACTION
# ==============================================================================
# Detailed clinical descriptions of each service offered
SERVICE_MOA = {
    "TRT": "Testosterone replacement gets your levels back where they should be. Think of it like topping off an engine that has been running low: physician-monitored, bioidentical protocols, dialed in over time based on your labs and how you feel. We monitor your levels and track your labs the whole way.",
    "HRT": "Hormone replacement for women whose estrogen, progesterone, or both have dropped below the line where the body works well. The changes you might be feeling are not mysteries β€” they are predictable responses to hormone decline. We correct the levels and monitor the results.",
    "GLP-1 Therapy": "GLP-1 medications turn down the appetite signal, slow digestion, and influence how your body handles insulin. The medication is an accelerator, not a solution. Without nutrition and, ideally, resistance training alongside it, you risk losing lean mass. Lean mass is retirement funds: you do not cash those out.",
    "Strength Training": "Resistance training is the foundation everything else gets built on. It builds lean mass, raises your metabolic rate, strengthens your bones, and improves hormone signaling. If you add medications later, training is what makes them work better.",
    "Supplement Protocol": "Physician-selected supplements that fill specific gaps your labs reveal. Not a cabinet full of guesses. We pick pharmaceutical-grade products based on your bloodwork and adjust as things change.",
    "IV Therapy": "IV infusions deliver vitamins, minerals, and amino acids directly into your bloodstream. Useful when oral supplements are not the right fit or when faster recovery is the goal.",
    "Lab Diagnostics": "Blood panels and biomarker testing that give us the actual numbers behind every decision. We draw baselines, track your progress, and catch problems early. No guessing.",
    "Nutrition Coaching": "A meal plan built around your goals, your body composition, and whatever else you have going on clinically. Medication without nutrition is a half-measure. We make the two work together.",
}

# ==============================================================================
# SERVICE CONTRAINDICATIONS
# ==============================================================================
SERVICE_CONTRAINDICATIONS = {
    # HRT includes TRT β€” all TRT contraindications are merged here
    "HRT": [
        "Pregnancy or breastfeeding",
        "Active or history of cancer",
        "History of blood clots or DVT",
        "Cardiovascular disease",
        "Active liver disease",
        "Polycythemia or elevated hematocrit",      # TRT-specific
        "Severe sleep apnea (untreated)",            # TRT-specific
        "History of stroke",                         # TRT-specific
    ],
    "GLP-1 Therapy": [
        "Pregnancy or breastfeeding",
        "Personal or family history of medullary thyroid cancer",
        "History of pancreatitis",
        "Severe gastrointestinal disease",
    ],
    "Strength Training": [
        "Acute injury or post-surgical restriction",
        "Cardiovascular disease",
    ],
    "Nutrition Coaching": [],
    "Lab Diagnostics": [],
}

ALL_CONTRAINDICATION_FLAGS = [
    # HRT / TRT
    "Pregnancy or breastfeeding",
    "Active or history of cancer",
    "Cardiovascular disease",
    "History of blood clots or DVT",
    "Active liver disease",
    "History of stroke",
    "Polycythemia or elevated hematocrit",
    "Severe sleep apnea (untreated)",
    # GLP-1
    "Personal or family history of medullary thyroid cancer",
    "History of pancreatitis",
    "Severe gastrointestinal disease",
    # Strength Training
    "Acute injury or post-surgical restriction",
    # Opt-out
    "None of the above",
]

# ==============================================================================
# TRAINING TIERS
# ==============================================================================
TRAINING_TIERS = {
    "Premiere": {
        "label": "Premiere",
        "training_desc": "One-on-One Expert Coaching 3x/Week",
        "sort_order": 1,
    },
    "Crew": {
        "label": "Crew",
        "training_desc": "Small Group Training 3x/Week",
        "sort_order": 2,
    },
    "Crew Hybrid": {
        "label": "Crew Hybrid",
        "training_desc": "Small Group Training 2x/Week",
        "sort_order": 3,
    },
    "Hybrid": {
        "label": "Hybrid",
        "training_desc": "Small Group Training 1x/Week",
        "sort_order": 4,
    },
    "Virtual": {
        "label": "Virtual",
        "training_desc": "Virtual Training via Mobile App Only",
        "sort_order": 5,
    },
}

# ==============================================================================
# WELLNESS PROGRAMS β€” THE IGNITION SEQUENCEβ„’
# ==============================================================================
# PRICING NOTE: All tier prices ("26_week" and "52_week") are MONTHLY rates
# at the given commitment length. Source: Canva marketing cards.
# To get per-week: monthly * 12 / 52  (same ratio for both commitment levels).
WELLNESS_PROGRAMS = {
    "Ignition Liftoff": {
        "sex_filter": "any",
        "type": "medical",
        "family": "Liftoff",
        "display_order": 99,   # medication-only β€” always listed last
        "subtitle": "Medical Accelerator Packages",
        "includes": "GLP-1, HRT, Nutrition Coaching",
        "targets": ["Fat Loss", "Hormone Balance", "Metabolic Health", "Energy"],
        "description": "Medical-only track for people who want the pharmaceutical accelerators without a training component. GLP-1, hormone therapy, and nutrition coaching under physician supervision. These are accelerators, not solutions on their own, so we pair every prescription with a nutrition plan that protects your lean mass (your retirement funds) while the medication does its job.",
        "services": ["GLP-1 Therapy", "HRT", "Nutrition Coaching", "Lab Diagnostics"],
        "cycle": "26-week or 52-week protocol",
        "tiers": {
            "GLP-1 + HRT + Nutrition Coaching": {
                "services": ["GLP-1 Therapy", "HRT", "Nutrition Coaching", "Lab Diagnostics"],
                "26_week": 649.97,
                "52_week": 552.47,
                "sort_order": 1,
            },
            "GLP-1 + HRT": {
                "services": ["GLP-1 Therapy", "HRT", "Lab Diagnostics"],
                "26_week": 574.98,
                "52_week": 488.73,
                "sort_order": 2,
            },
            "GLP-1 Only": {
                "services": ["GLP-1 Therapy", "Lab Diagnostics"],
                "26_week": 374.99,
                "52_week": 318.74,
                "sort_order": 3,
            },
            "HRT Only": {
                "services": ["HRT", "Lab Diagnostics"],
                "26_week": 199.99,
                "52_week": 169.99,
                "sort_order": 4,
            },
        },
    },
    "Ignition Fuel": {
        "sex_filter": "any",
        "type": "training",
        "family": "Fuel",
        "display_order": 40,   # training-only β€” above med-only, below combo programs
        "subtitle": "Training + Nutrition",
        "includes": "Training, Nutrition Coaching",
        "targets": ["Strength", "Fat Loss", "Muscle Gain", "Recovery"],
        "description": "Training and nutrition without the medical component. This is the foundation everything else gets built on. Structured resistance training paired with a nutrition plan that actually fits your life. If you add medications later, this groundwork is what makes them work. Not about perfection, about progress.",
        "services": ["Strength Training", "Nutrition Coaching"],
        "cycle": "26-week or 12-month protocol",
        "tiers": {
            "Premiere":    {"26_week": 2024.86, "52_week": 1721.13, "sort_order": 1},
            "Crew":        {"26_week": 724.86,  "52_week": 616.13,  "sort_order": 2},
            "Crew Hybrid": {"26_week": 508.23,  "52_week": 431.99,  "sort_order": 3},
            "Hybrid":      {"26_week": 291.61,  "52_week": 247.87,  "sort_order": 4},
            "Virtual":     {"26_week": 224.98,  "52_week": 191.23,  "sort_order": 5},
        },
    },
    "Ignition Apex": {
        "sex_filter": "any",
        "type": "training",
        "family": "Apex",
        "display_order": 10,   # most comprehensive β€” listed first
        "subtitle": "The Complete Protocol",
        "includes": "Training, Nutrition, GLP-1, HRT",
        "targets": ["Fat Loss", "Muscle Gain", "Hormone Balance", "Metabolic Health", "Strength", "Recovery"],
        "description": "Everything in one protocol. GLP-1, hormone optimization, structured training, and nutrition working together under one clinical roof. The medications accelerate what the training and nutrition make possible. We monitor your labs, adjust your protocols, and keep your lean mass protected the entire time.",
        "services": ["GLP-1 Therapy", "HRT", "Strength Training", "Nutrition Coaching", "Lab Diagnostics"],
        "cycle": "26-week or 52-week protocol",
        "tiers": {
            "Premiere":    {"26_week": 2599.84, "52_week": 2209.86, "sort_order": 1},
            "Crew":        {"26_week": 1299.84, "52_week": 1104.86, "sort_order": 2},
            "Crew Hybrid": {"26_week": 1083.21, "52_week": 920.73,  "sort_order": 3},
            "Hybrid":      {"26_week": 866.59,  "52_week": 736.60,  "sort_order": 4},
            "Virtual":     {"26_week": 799.96,  "52_week": 679.97,  "sort_order": 5},
        },
    },
    "Afterburner Catalyst": {
        "sex_filter": "any",
        "type": "training",
        "family": "Catalyst",
        "display_order": 20,   # training + GLP-1
        "subtitle": "Training + Nutrition + GLP-1",
        "includes": "Training, Nutrition, GLP-1",
        "targets": ["Fat Loss", "Metabolic Health", "Muscle Preservation", "Strength"],
        "description": "GLP-1 paired with training and nutrition for fat loss that actually sticks. The medication reduces appetite and improves insulin signaling while the training protects your lean mass. Think of muscle as retirement funds: you do not cash those out for short-term results. We monitor your labs throughout.",
        "services": ["GLP-1 Therapy", "Strength Training", "Nutrition Coaching", "Lab Diagnostics"],
        "cycle": "26-week or 52-week protocol",
        "tiers": {
            "Premiere":    {"26_week": 2399.85, "52_week": 2039.87, "sort_order": 1},
            "Crew":        {"26_week": 1099.85, "52_week": 934.87,  "sort_order": 2},
            "Crew Hybrid": {"26_week": 883.22,  "52_week": 750.73,  "sort_order": 3},
            "Hybrid":      {"26_week": 666.60,  "52_week": 566.61,  "sort_order": 4},
            "Virtual":     {"26_week": 599.97,  "52_week": 509.97,  "sort_order": 5},
        },
    },
    "Afterburner Vitality": {
        "sex_filter": "any",
        "type": "training",
        "family": "Vitality",
        "display_order": 30,   # training + HRT
        "subtitle": "Training + Nutrition + HRT",
        "includes": "Training, Nutrition, HRT",
        "targets": ["Hormone Balance", "Strength", "Energy", "Recovery", "Mood"],
        "description": "Hormone replacement paired with training and nutrition for people whose labs say their hormones are working against them. The HRT restores what time or circumstance took away, and the training gives your body something productive to do with it. Physician-monitored from day one.",
        "services": ["HRT", "Strength Training", "Nutrition Coaching", "Lab Diagnostics"],
        "cycle": "26-week or 52-week protocol",
        "tiers": {
            "Premiere":    {"26_week": 2224.85, "52_week": 1891.12, "sort_order": 1},
            "Crew":        {"26_week": 924.85,  "52_week": 786.12,  "sort_order": 2},
            "Crew Hybrid": {"26_week": 708.22,  "52_week": 601.99,  "sort_order": 3},
            "Hybrid":      {"26_week": 491.60,  "52_week": 417.86,  "sort_order": 4},
            "Virtual":     {"26_week": 349.98,  "52_week": 297.48,  "sort_order": 5},
        },
    },
}

# ==============================================================================
# GOAL MAPPING CONFIGURATION
# ==============================================================================
# Primary goals available in the assessment form
# Maps goal label β†’ list of (target_category, weight) tuples
PRIMARY_GOALS = {
    "Lose body fat / change my body composition": [("Fat Loss", 3), ("Metabolic Health", 1)],
    "Build muscle / get stronger": [("Muscle Gain", 3), ("Strength", 2), ("Recovery", 1)],
    "Improve energy and reduce fatigue": [("Energy", 3), ("Hormone Balance", 1)],
    "Balance my hormones (testosterone, estrogen)": [("Hormone Balance", 3), ("Energy", 1), ("Mood", 1)],
    "Manage menopause symptoms": [("Menopause", 3), ("Hormone Balance", 2), ("Mood", 1)],
    "Improve mood, confidence, or motivation": [("Mood", 3), ("Hormone Balance", 1)],
    "Restore libido or sexual function": [("Mood", 2), ("Hormone Balance", 3)],
    "Get my nutrition dialed in": [("Metabolic Health", 2), ("Fat Loss", 1), ("Muscle Preservation", 1)],
    "Lose weight with medical support (GLP-1)": [("Fat Loss", 3), ("Metabolic Health", 2), ("Muscle Preservation", 1)],
    "Get structured training I'll actually stick with": [("Strength", 3), ("Muscle Gain", 1), ("Recovery", 1)],
    "Improve sleep and recovery": [("Sleep", 3), ("Recovery", 2)],
    "Overall health optimization β€” not sure where to start": [("Fat Loss", 1), ("Strength", 1), ("Hormone Balance", 1), ("Energy", 1), ("Metabolic Health", 1)],
}

# Current symptoms available in the form
# Maps symptom label β†’ list of (target_category, weight) tuples
CURRENT_SYMPTOMS = {
    "Low energy or chronic fatigue": [("Energy", 2), ("Hormone Balance", 1)],
    "Stubborn weight gain despite diet and exercise": [("Fat Loss", 2), ("Metabolic Health", 2), ("Hormone Balance", 1)],
    "Trouble sleeping or staying asleep": [("Sleep", 2), ("Recovery", 1)],
    "Low libido or sexual dysfunction": [("Mood", 2), ("Hormone Balance", 2)],
    "Mood swings or low motivation": [("Mood", 2), ("Hormone Balance", 1)],
    "Brain fog or difficulty concentrating": [("Energy", 1), ("Hormone Balance", 2)],
    "Hot flashes, night sweats, or menopause symptoms": [("Menopause", 2), ("Hormone Balance", 2)],
    "Muscle loss or difficulty building muscle": [("Muscle Gain", 2), ("Muscle Preservation", 1), ("Hormone Balance", 1)],
    "Sluggish metabolism or blood sugar issues": [("Metabolic Health", 2), ("Fat Loss", 1)],
    "Feeling weaker or deconditioned": [("Strength", 2), ("Recovery", 1), ("Muscle Gain", 1)],
    "Slow recovery after workouts or activity": [("Recovery", 2), ("Energy", 1)],
    "Increased appetite or constant cravings": [("Fat Loss", 2), ("Metabolic Health", 1)],
}

# Energy and recovery status options
# Maps label β†’ list of (target_category, weight) tuples
ENERGY_RECOVERY_OPTIONS = {
    "Constantly fatigued or slow to recover": [("Recovery", 2), ("Sleep", 1)],
    "Occasional burnout or delayed soreness": [("Recovery", 1)],
    "Generally okay but could be better": [],
    "Fully recovered and high energy most days": [],
}

# Activity level options
ACTIVITY_LEVELS = [
    "Sedentary β€” little to no exercise",
    "Light β€” 1-2 days per week",
    "Moderate β€” 3-4 days per week, structured training",
    "Advanced β€” athlete or professional-level training",
]

# All target categories (auto-derived from goals/symptoms, listed for clarity)
TARGET_CATEGORIES = [
    "Fat Loss",
    "Muscle Gain",
    "Muscle Preservation",
    "Strength",
    "Recovery",
    "Hormone Balance",
    "Metabolic Health",
    "Energy",
    "Mood",
    "Sleep",
    "Menopause",
]

# Goals and symptoms restricted by sex
MALE_RESTRICTED_GOALS = ["Manage menopause symptoms"]
MALE_RESTRICTED_SYMPTOMS = ["Hot flashes, night sweats, or menopause symptoms"]
MALE_RESTRICTED_FLAGS = ["Pregnancy or breastfeeding"]

# ==============================================================================
# EMAIL CONFIGURATION (Outlook SMTP)
# ==============================================================================
# Credentials come from environment variables: SMTP_USER, SMTP_PASSWORD
# Set these in Hugging Face Spaces secrets or your local .env file.
EMAIL = {
    "smtp_server": "smtp.office365.com",
    "smtp_port": 587,
    "clinic_recipient": "info@ignitepah.com",
    "client_subject": "Your Ignition Sequence Recommendation β€” Ignite Performance & Health",
    "clinic_subject": "New Lead β€” Ignition Sequence Assessment",
    "client_body": (
        "Thanks for completing the Ignition Sequence assessment.\n\n"
        "Your program recommendation is attached as a PDF. Our team will review your results "
        "and reach out within 24-48 hours to schedule your consultation.\n\n"
        "If you'd like to get started sooner, you can book directly:\n"
        "{scheduling_url}\n\n"
        "Ignite Performance & Health\n"
        "14830 Clayton Rd, Chesterfield, MO 63017\n"
        "(314) 887-0858 | info@ignitepah.com"
    ),
}

# ==============================================================================
# GPT CONFIGURATION
# ==============================================================================
GPT_CONFIG = {
    "model": "gpt-4o",
    "temperature": 0.7,
    "section_headers": [
        "Your Ignition Sequence",
        "How Your Program Works",
        "Treatment Protocol",
        "Expected Timeline",
        "Safety & Monitoring",
        "What Happens Next",
    ],
}

# ==============================================================================
# SYSTEM PROMPT FOR AI WELLNESS CONSULTANT
# ==============================================================================
PATHWAY_SYSTEM_PROMPT = """You are the Ignite digital wellness consultant, a supervised clinical communication tool representing Ignite Performance & Health, a expert-led concierge medical clinic in Chesterfield, Missouri.

This output appears in a LEAD MAGNET assessment tool, not a clinical environment. Your job is to help a potential client understand what their program would look like and why it fits them. Be direct, be warm, be honest. Do not oversell.

VOICE & TONE:
Write in Ignite's voice: conclusion first, then the reasoning. Explain things as if the reader were smart but not medically trained. Use analogies and real-world comparisons instead of jargon. Keep sentences varied in length. Avoid em dashes as sentence connectors. Never use emojis.

Warm but not sappy. Confident but not arrogant. Helpful guide, not paternalistic provider. Authority is implicit, never performed. No verbose fluff or promotional puffery.

Do NOT use these patterns:
- Bullet-point lists as primary formatting (write in prose paragraphs)
- Rule-of-three constructions ("x, y, and z" repeated across sections)
- Em dash overuse (one per section maximum)
- Bold headers for every subsection (use them sparingly)
- "Serves as" / "functions as" / "acts as" instead of "is"
- Elegant variation (do not swap in a synonym every time you mention something; just say what it is)
- Vague attributions ("experts agree," "research suggests") without specifics

GENDER-SPECIFIC FRAMING:
For male patients: "I am you" energy. Shared experience, mutual understanding, we are in this together.
For female patients: "I see what others missed" energy. Validation first. Many women arrive after being dismissed by other providers. Acknowledge that something really is off, explain the physiology in plain language, and reframe vague symptoms into predictable responses to hormone changes.

CLINICAL GUARDRAILS:
Medications are "accelerators, not solutions." The foundation is always nutrition, training, and lifestyle.
Lean mass is "retirement funds." Never sacrifice long-term health for short-term results.
Never guarantee specific outcomes or timelines. Frame expectations around effort and process.
All programs require physician evaluation, approval, and ongoing supervision.
Never overstate evidence. If something is emerging or preliminary, say so.

COMPOUND-NAME PROHIBITION (CRITICAL β€” LEGITSCRIPT / FDA COMPLIANCE):
NEVER name specific compounds, molecules, brand-name drugs, or specific dosing in your output. Use generic service category names only β€” TRT, HRT, GLP-1 Therapy, Peptide Therapies, etc. Do not write "testosterone cypionate at 100mg/week," "0.25mg semaglutide weekly," "BPC-157," "ipamorelin," "Ozempic," "Mounjaro," or any other specific compound or brand name. Treatment specifics β€” molecule, dose, frequency, brand β€” are determined by the physician at consultation, not by this lead-magnet output. If specifics seem warranted, write: "your physician will determine the exact protocol based on your labs and history." This rule applies to every section, including Treatment Protocol and Safety & Monitoring.

CONTRAINDICATION HANDLING (LEAD MAGNET CONTEXT):
This is a lead magnet, not a clinical diagnostic tool. When contraindication flags are present:
- Still show the full program and what it includes
- Flag any service affected by the contraindication clearly
- State "physician review required before this service can begin"
- Do NOT lock the person out of seeing the program or its details
- Do NOT recommend discontinuing anything or make clinical decisions
- Frame it as: "Here is what this program looks like. Given [flag], your physician would need to evaluate [specific service] before we proceed with that piece."

SIGNATURE PHRASES (use naturally, not forced):
"Not about perfection, about progress"
"Accelerators, not solutions"
"Retirement funds" (about lean mass)
"I would feel comfortable proceeding given..."

WRITE A PERSONALIZED PROGRAM RECOMMENDATION USING THESE SECTION HEADERS:

**Your Ignition Sequence**
**How Your Program Works**
**Treatment Protocol**
**Expected Timeline**
**Safety & Monitoring**
**What Happens Next**

FORMATTING RULES:

Write in connected prose paragraphs, not bullet lists. Each section should read like a short letter addressed to this person. You can use a brief list (three items or fewer) when listing concrete items like lab panels or appointment types, but the default is prose.

Under 'Your Ignition Sequence': Open with a one-paragraph summary that tells the person what their program is, why it fits their goals, and what it is built around. Conclusion first.

Under 'How Your Program Works': Walk through each service in the program in its own short paragraph. Explain what it does, why it matters for this person specifically, and how it connects to the other services. Do not use ### subheaders for each service.

Under 'Treatment Protocol': Describe the schedule, monitoring cadence, and cycle length in one or two paragraphs. Be specific about frequency.

Under 'Expected Timeline': Describe what to expect across the protocol in prose. Reference rough timeframes (first few weeks, weeks four through eight, etc.) but do not format this as a numbered week-by-week list.

Under 'Safety & Monitoring': Cover routine labs, what to watch for, and any contraindication flags. If flags are present, name the specific service affected and state that physician review is required before that piece begins. Keep this conversational.

Under 'What Happens Next': Two or three sentences about the next practical step. Do not use a numbered list of five corporate onboarding steps. Just tell them what actually happens: our team reaches out, we schedule a consultation, and we get your labs drawn.

Keep each section focused. Do not repeat information across sections. Professional, educational, warm."""