Dashboard
Messages
Advanced Chatbot
Subscribers
Workshops
Video Resources
Tai Chi Videos
Coach Pei Corner
Johanna Corner
BFSAN Inquiries
Programs
12-Week Risk Reduction
Command Center
Participants
Consent Audit
Baseline Review
Goal Configuration
Weekly Scoring
Interventions
Coach Messages
Analytics
Daily Logs
Email Templates
30-Day Challenge
Nutritional Wellness
Tai Chi Program
Pickleball Program
8-Week Challenge
Soon
Educational Seminar
Soon
System
Cookie Consent Logs
Testimonials
Submissions
Users
System Settings
View Website
Edit Knowledge
Log In
Edit Knowledge Base Item
← Back to List
Title
Category
SubCategory
User Intent
Primary Question
Keywords (comma separated)
Content (Knowledge provided to AI)
/* ── Base ── */ .sg-container { font-family: 'Plus Jakarta Sans', sans-serif; color: #2d3748; padding-bottom: 3rem; max-width: 100%; box-sizing: border-box; } /* ── Page Hero ── */ .sg-hero { background: linear-gradient(135deg, #085536 0%, #064028 60%, #043820 100%); color: white; border-radius: 16px; padding: 2.5rem 2.5rem 2rem; margin-bottom: 2rem; position: relative; overflow: hidden; box-shadow: 0 8px 32px rgba(8, 85, 54, 0.18); } .sg-hero::after { content: ''; position: absolute; top: -60px; right: -40px; width: 220px; height: 220px; border-radius: 50%; background: rgba(232, 111, 42, 0.08); } .sg-hero h1 { margin: 0 0 0.5rem; font-size: 1.75rem; font-weight: 800; letter-spacing: -0.02em; } .sg-hero p { margin: 0; font-size: 1rem; opacity: 0.85; max-width: 600px; line-height: 1.6; } /* ── Tab Navigation ── */ .sg-tabs { display: flex; gap: 4px; background: white; padding: 6px; border-radius: 12px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); border: 1px solid #e2e8f0; margin-bottom: 2rem; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; } .sg-tabs::-webkit-scrollbar { display: none; } .sg-tab-btn { padding: 12px 20px; font-weight: 600; font-size: 0.875rem; color: #718096; cursor: pointer; border: none; background: transparent; border-radius: 8px; white-space: nowrap; transition: all 0.25s ease; font-family: inherit; display: flex; align-items: center; gap: 8px; } .sg-tab-btn:hover { color: #085536; background: rgba(8, 85, 54, 0.04); } .sg-tab-btn.active { background: #085536; color: white; box-shadow: 0 2px 8px rgba(8, 85, 54, 0.2); } .sg-tab-btn .tab-num { width: 22px; height: 22px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 700; background: #edf2f7; color: #718096; flex-shrink: 0; } .sg-tab-btn.active .tab-num { background: rgba(255, 255, 255, 0.2); color: white; } /* ── Tab Content ── */ .sg-panel { display: none; } .sg-panel.active { display: block; animation: sgFadeIn 0.35s ease forwards; } @@keyframes sgFadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } } /* ── Cards ── */ .sg-card { background: white; border-radius: 14px; padding: 2rem; margin-bottom: 1.5rem; border: 1px solid #e2e8f0; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03); } .sg-card-title { font-size: 1.15rem; font-weight: 700; color: #1a202c; margin: 0 0 0.25rem; display: flex; align-items: center; gap: 10px; } .sg-card-title i { width: 32px; height: 32px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-size: 0.875rem; color: white; flex-shrink: 0; } .sg-card-subtitle { font-size: 0.9rem; color: #718096; margin: 0 0 1.5rem; line-height: 1.5; } /* ── Tables ── */ .sg-table { width: 100%; border-collapse: separate; border-spacing: 0; border-radius: 10px; overflow: hidden; border: 1px solid #e2e8f0; font-size: 0.9rem; } .sg-table thead { background: #f7fafc; } .sg-table th { padding: 14px 18px; text-align: left; font-weight: 700; color: #2d3748; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; border-bottom: 2px solid #e2e8f0; } .sg-table td { padding: 14px 18px; border-bottom: 1px solid #f0f4f8; color: #4a5568; line-height: 1.5; } .sg-table tbody tr:last-child td { border-bottom: none; } .sg-table tbody tr:hover { background: #fafcfb; } .sg-table .total-row td { font-weight: 700; color: #1a202c; background: #f0faf5; border-top: 2px solid #085536; } /* ── Domain Visual Badges ── */ .sg-domain-badge { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 0.9rem; } .sg-domain-dot { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; } /* ── Weight Visual Breakdown ── */ .sg-weight-bar { display: flex; height: 14px; border-radius: 7px; overflow: hidden; margin: 1.5rem 0 1rem; box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } .sg-weight-segment { height: 100%; transition: flex 0.4s ease; position: relative; } .sg-weight-legend { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 0.75rem; } .sg-weight-legend-item { display: flex; align-items: center; gap: 6px; font-size: 0.8rem; color: #4a5568; font-weight: 500; } .sg-weight-legend-dot { width: 12px; height: 12px; border-radius: 4px; flex-shrink: 0; } /* ── Status Badges ── */ .sg-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 6px; font-weight: 600; font-size: 0.8rem; } .sg-status-met { background: #e6f4ea; color: #085536; } .sg-status-partial { background: #fef3ec; color: #c05621; } .sg-status-not { background: #fee2e2; color: #c53030; } .sg-status-empty { background: #f7fafc; color: #a0aec0; } /* ── Flow Pipeline ── */ .sg-pipeline { display: flex; align-items: stretch; gap: 0; margin: 2rem 0; position: relative; } .sg-pipe-step { flex: 1; text-align: center; padding: 1.25rem 1rem; background: white; border: 1px solid #e2e8f0; position: relative; } .sg-pipe-step:first-child { border-radius: 12px 0 0 12px; } .sg-pipe-step:last-child { border-radius: 0 12px 12px 0; } .sg-pipe-step:not(:last-child)::after { content: ''; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); width: 0; height: 0; border-top: 14px solid transparent; border-bottom: 14px solid transparent; border-left: 13px solid #e2e8f0; z-index: 2; } .sg-pipe-step:not(:last-child)::before { content: ''; position: absolute; right: -12px; top: 50%; transform: translateY(-50%); width: 0; height: 0; border-top: 13px solid transparent; border-bottom: 13px solid transparent; border-left: 12px solid white; z-index: 3; } .sg-pipe-num { display: block; font-size: 1.5rem; font-weight: 800; color: #085536; line-height: 1; margin-bottom: 0.35rem; } .sg-pipe-label { font-size: 0.8rem; color: #718096; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; } .sg-pipe-desc { font-size: 0.8rem; color: #a0aec0; margin-top: 0.25rem; } /* ── Callout Box ── */ .sg-callout { padding: 1.25rem 1.5rem; border-radius: 10px; display: flex; align-items: flex-start; gap: 14px; margin: 1.5rem 0; font-size: 0.9rem; line-height: 1.6; } .sg-callout i { font-size: 1.1rem; margin-top: 2px; flex-shrink: 0; } .sg-callout-info { background: #ebf8ff; border: 1px solid #bee3f8; color: #2b6cb0; } .sg-callout-success { background: #f0faf5; border: 1px solid #c6f6d5; color: #276749; } .sg-callout-warning { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; } .sg-callout-danger { background: #fff5f5; border: 1px solid #feb2b2; color: #c53030; } /* ── Domain Detail Card ── */ .sg-domain-detail { background: white; border-radius: 14px; border: 1px solid #e2e8f0; overflow: hidden; margin-bottom: 1.5rem; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03); } .sg-domain-header { padding: 1.5rem 2rem; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; } .sg-domain-header-left { display: flex; align-items: center; gap: 14px; } .sg-domain-icon-lg { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: white; font-size: 1.25rem; flex-shrink: 0; } .sg-domain-header h3 { margin: 0; font-size: 1.1rem; font-weight: 700; color: #1a202c; } .sg-domain-header .sg-domain-sub { font-size: 0.85rem; color: #718096; margin: 2px 0 0; } .sg-domain-pts { font-size: 1.75rem; font-weight: 800; line-height: 1; } .sg-domain-pts span { font-size: 0.85rem; font-weight: 500; color: #a0aec0; } .sg-domain-body { padding: 0 2rem 2rem; } /* ── Metric Cards Grid ── */ .sg-metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 1.5rem 0; } .sg-metric { background: #f7fafc; border-radius: 10px; padding: 1.25rem; border: 1px solid #edf2f7; } .sg-metric-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: #a0aec0; font-weight: 700; margin-bottom: 0.5rem; } .sg-metric-value { font-size: 1.25rem; font-weight: 700; color: #1a202c; } .sg-metric-desc { font-size: 0.8rem; color: #718096; margin-top: 0.35rem; line-height: 1.4; } /* ── Safety List ── */ .sg-safety-list { list-style: none; padding: 0; margin: 0; } .sg-safety-list li { display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; border-bottom: 1px solid #f0f4f8; font-size: 0.9rem; line-height: 1.6; color: #4a5568; } .sg-safety-list li:last-child { border-bottom: none; } .sg-safety-list li i { color: #085536; margin-top: 3px; flex-shrink: 0; } /* ── Formula Display ── */ .sg-formula { background: #1a202c; color: #e2e8f0; padding: 1.25rem 1.75rem; border-radius: 10px; font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace; font-size: 0.9rem; overflow-x: auto; margin: 1rem 0; letter-spacing: 0.02em; line-height: 1.8; } .sg-formula .hl-green { color: #68d391; } .sg-formula .hl-orange { color: #f6ad55; } .sg-formula .hl-blue { color: #63b3ed; } .sg-formula .hl-white { color: #fff; font-weight: 700; } /* ── Responsive ── */ @@media (max-width: 768px) { .sg-hero { padding: 1.75rem 1.5rem; } .sg-hero h1 { font-size: 1.35rem; } .sg-card { padding: 1.25rem; } .sg-pipeline { flex-direction: column; gap: 0; } .sg-pipe-step { border-radius: 0 !important; } .sg-pipe-step:first-child { border-radius: 12px 12px 0 0 !important; } .sg-pipe-step:last-child { border-radius: 0 0 12px 12px !important; } .sg-pipe-step:not(:last-child)::after, .sg-pipe-step:not(:last-child)::before { display: none; } .sg-domain-header { padding: 1.25rem; } .sg-domain-body { padding: 0 1.25rem 1.25rem; } .sg-table th, .sg-table td { padding: 10px 12px; font-size: 0.8rem; } .sg-tabs { gap: 2px; padding: 4px; } .sg-tab-btn { padding: 10px 14px; font-size: 0.8rem; } } @@media (max-width: 480px) { .sg-metrics-grid { grid-template-columns: 1fr; } } 📖 Scoring Guide Understand exactly how your 30-Day Challenge wellness score is calculated — from daily entries to your final score. 1 Overview 2 Daily Scoring 3 Domain Details 4 Your Scores 5 Safety & Onboarding How Your Score Builds Your wellness journey follows a clear path from daily actions to your final 30-day score. 1 Daily Entry Log your activities 5 Domains Scored Across five areas 100 Weekly Max Points per week 400 Challenge Max 4 weeks total Your 30-Day Challenge Score = Week 1 + Week 2 + Week 3 + Week 4, with a maximum of 400 points . Five Scoring Domains The same five domains are scored every week. Each week is worth 100 points total. Movement — 35 pts Nutrition & Hydration — 25 pts Restoration & Recovery — 20 pts Learning & Awareness — 10 pts Weekly Check-In — 10 pts Scoring Domain Weekly Points What Is Measured Movement 35 Frequency and completion of purposeful movement. Nutrition & Hydration 25 Consistency with defined nutrition and hydration behaviors. Restoration & Recovery 20 Sleep and selected recovery/restoration behaviors. Learning & Wellness Awareness 10 Completion of assigned weekly educational content. Weekly Check-In 10 Completion of the weekly progress and reflection check-in. TOTAL 100 One standardized weekly wellness score. Repeatable Daily Scoring Method Each day, your progress is evaluated against a defined behavior target. The system uses a simple, consistent status for every domain — so the scoring structure stays the same even as activities or weekly themes change. Met 1.0 You met the defined daily target. Full credit awarded. Partially Met 0.5 You made meaningful progress but didn't fully meet the target. Not Met 0 The daily target was not met. No points awarded. Not Entered No Score Missing data remains distinct from a goal that was not met. Why this matters: The system totals your daily achievement values and converts them proportionally to each domain's weekly maximum. This creates one reusable calculation method across all domains and future Challenge versions. How Daily Scores Become Weekly Scores Your daily statuses are aggregated at the end of each week. Here's the flow: Daily Status → System Value (1.0 / 0.5 / 0) → Summed per Domain → Converted to Weekly Points For each domain, the system totals your daily achievement values and converts them proportionally to the domain's weekly maximum. This ensures that whether a domain is worth 35 points or 10 points, the underlying scoring logic remains identical. Movement Highest-weighted domain — consistency over intensity 35 pts / week Movement remains the highest-weighted domain. You may choose from approved movement activities, but points are based primarily on consistency in meeting the purposeful-movement goal rather than the specific sport or exercise. Days Meeting Movement Goal Movement Points 5–7 days 35 4 days 30 3 days 24 2 days 16 1 day 8 0 days 0 Approved Activities: Pickleball, Tai Chi, Walking, Strength Training, Cycling, Swimming, Yoga/Flexibility, and other approved movement options — no separate scoring model needed for each activity. Nutrition & Hydration Daily nutrition and hydration behavior tracking 25 pts / week Uses the standard Met / Partially Met / Not Met structure. BrightPath defines the target behavior; the scoring engine remains unchanged. Domain Example Target Weekly Maximum Nutrition & Hydration Meet the day's defined nutrition and hydration behaviors. 25 Restoration & Recovery Sleep and recovery behavior tracking 20 pts / week Uses the standard Met / Partially Met / Not Met structure. Focus is on meeting the day's sleep and recovery behaviors. Domain Example Target Weekly Maximum Restoration & Recovery Meet the day's sleep/recovery behaviors. 20 Scalability note: BrightPath can revise the content, target, or educational emphasis without having to redesign the underlying score calculation. Learning & Weekly Check-In Education and weekly reflection 10 + 10 Component Simple Rule Maximum Learning Award points for completion of the assigned weekly learning activity or activities. 10 Weekly Check-In Award points for completing the required weekly check-in. 10 The weekly check-in should remain brief and standardized . It captures overall progress, energy, stress/recovery, challenges, any activity-related health concern, and your next-week goal. These responses support engagement and trend analysis without requiring a separate complex scoring algorithm. Weekly & 30-Day Score Calculations Here's how your weekly scores roll up into your final 30-Day Challenge score. Measure How It's Calculated Weekly Domain Score Calculated from your eligible daily/weekly responses, capped at the domain maximum. Weekly Score Movement + Nutrition/Hydration + Restoration + Learning + Weekly Check-In; maximum 100 . 30-Day Score Sum of four weekly scores; maximum 400 . Consistency Rate Days core goals were achieved ÷ eligible days × 100. Improvement Compares weekly scores and selected domain performance over the four-week Challenge. 30-Day Score = Week 1 + Week 2 + Week 3 + Week 4 = max 400 points Trend Analysis Your dashboard shows simple, understandable trends — whether your performance is improving, stable, variable, or declining across the four weeks. Trend Output Purpose Weekly Score Trend Shows Week 1 through Week 4 progression. Consistency Rate Shows how consistently you met core goals. Domain Trend Identifies areas improving or needing greater attention. Baseline-to-Day-30 Change Shows change in comparable wellness behaviors from the starting point. Domain-level trends are tracked for Movement , Nutrition & Hydration , Restoration , and Learning — so you can see exactly where you're improving and where to focus next. What Your Dashboard Shows Your dashboard answers four questions: Where am I? How am I doing this week? Am I becoming more consistent? What should I focus on next? Position Current day and week of the Challenge. Weekly Score / 100 Your current week's score out of 100. Cumulative / 400 Your total score across all completed weeks. Consistency % How consistently you've been meeting goals. Also shown on your dashboard: Five individual domain scores Four-week score trend visualization One highlighted area of strength and one area for improvement Next required action: daily entry, learning activity, or weekly check-in Onboarding Requirements Before entering the Challenge, you complete required consent and a concise baseline/safety screen. Onboarding is a prerequisite for participation but does not inflate your wellness score. Participation consent — Required acknowledgment of participation terms, privacy/data-use, and physical-activity expectations. Baseline information — Collect only the baseline information needed for safe participation and useful comparison. Safety screening — A concise safety screen to ensure you can safely participate in program activities. Safety Protocols Your safety is our priority. The Challenge score is a wellness engagement measure — it is not a medical tool. Important: Do not use the Challenge score to provide medical clearance, diagnosis, prognosis, or disease-risk classification. It is a wellness engagement tool only. Standardized safety messaging is used when a response indicates that consultation with a qualified healthcare professional may be appropriate. Raw participant inputs are stored separately from calculated scores to preserve data integrity. "Not Entered" data remains distinct from "Not Met" goals — missing data is never treated as a failure. You never need to calculate your own daily, weekly, consistency, or final scores — the system handles all calculations automatically. Design Principles The 30-Day Challenge uses one stable scoring architecture. BrightPath changes the wellness content and participant goals when needed — not the scoring model. Configurable Domain Weights Stored as configuration, not hard-coded. Separated Content & Scoring Themes, activities, and goals can change without altering the scoring engine. Versioned Scoring Model Each Challenge/cohort has a scoring-version identifier. Automated All Totals You never calculate your own scores — the system does it all. @section Scripts { document.addEventListener('DOMContentLoaded', function () { const tabs = document.querySelectorAll('.sg-tab-btn'); const panels = document.querySelectorAll('.sg-panel'); tabs.forEach(function (tab) { tab.addEventListener('click', function () { var targetId = 'panel-' + this.getAttribute('data-tab'); // Deactivate all tabs.forEach(function (t) { t.classList.remove('active'); t.setAttribute('aria-selected', 'false'); }); panels.forEach(function (p) { p.classList.remove('active'); }); // Activate clicked this.classList.add('active'); this.setAttribute('aria-selected', 'true'); document.getElementById(targetId).classList.add('active'); // Scroll tab into view on mobile this.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'center' }); }); }); }); }
Page Title
Page URL
Related Questions (JSON Array of strings)
Recommended Actions (JSON Array of objects)
[]
Active
Save Changes
Cancel