Business Succession Pros
Continue as Guest (Demo)

Leadership Resources

This section is restricted to authorized leadership only.

Incorrect password.
Business Succession Pros

The Tailored Closet — Client Portal

Dana & Kalani Nuesca · Powered by Business Succession Pros
Welcome, Dana & Kalani

This is your command center — everything you need to run and grow The Tailored Closet lives right here. Over the coming months, we're building a business that runs with or without you — that's real freedom, real equity, and real options.

We're strengthening operations, developing your team, optimizing profitability, and positioning you for succession — whatever that looks like when the time comes. This portal is your single source of truth for playbooks, performance data, team contacts, and progress tracking.

— Travis Catania, Business Succession Pros

Vision, Mission, Values

Vision
The Tailored Closet North San Diego envisions achieving $3 million in gross revenue by strategically focusing on past customers, prospective clients, and key partnerships with interior designers.
Mission
Transform Spaces — Transform closets, garages, and pantries into beautiful, functional spaces that elevate our clients' lifestyles.
Deliver Premium Solutions — Customized solutions that reflect creativity, organization, and luxury.
Exceed Expectations — Exceptional craftsmanship that brings unique and personalized designs to life.
Values
Honor — Doing what is right
Generosity — With your time, skills, and emotions
Transparency — Telling the truth and being able to accept the truth
Excellence — Not perfection, but the pursuit

Master Calendar — Upcoming Events

Date Event Owner Status
March 20, 2026 Go-Back Prevention Playbook Review Cassidy Thompson Upcoming
April 8, 2026 1/2 Day Quarterly Strategy Review — Q2 Dana / Kalani / Travis Upcoming
April 10, 2026 Monthly Advisory Check-in Travis/Owner Upcoming
April 20, 2026 Management Huddle Dana / Kalani Upcoming
April 20, 2026 Q2 Quarterly Strategy Workshop (3 hrs) BSP Team Upcoming
May 10, 2026 Monthly Advisory Check-in Travis/Owner Upcoming
May 18, 2026 Management Huddle Dana / Kalani Upcoming
June 10, 2026 Monthly Advisory Check-in Travis/Owner Upcoming
June 15, 2026 Management Huddle Dana / Kalani Upcoming
July 8, 2026 1/2 Day Quarterly Strategy Review — Q3 Dana / Kalani / Travis Upcoming
July 10, 2026 Monthly Advisory Check-in Travis/Owner Upcoming
July 20, 2026 Management Huddle Dana / Kalani Upcoming
July 20, 2026 Q3 Quarterly Strategy Workshop (3 hrs) BSP Team Upcoming
August 10, 2026 Monthly Advisory Check-in Travis/Owner Upcoming
August 17, 2026 Management Huddle Dana / Kalani Upcoming
September 10, 2026 Monthly Advisory Check-in Travis/Owner Upcoming
September 21, 2026 Management Huddle Dana / Kalani Upcoming
October 7, 2026 1/2 Day Quarterly Strategy Review — Q4 Dana / Kalani / Travis Upcoming
October 10, 2026 Monthly Advisory Check-in Travis/Owner Upcoming
October 19, 2026 Management Huddle Dana / Kalani Upcoming
October 20, 2026 Q4 Quarterly Strategy Workshop (3 hrs) BSP Team Upcoming
November 10, 2026 Monthly Advisory Check-in Travis/Owner Upcoming
November 16, 2026 Management Huddle Dana / Kalani Upcoming
December 10, 2026 Monthly Advisory Check-in Travis/Owner Upcoming
December 21, 2026 Management Huddle Dana / Kalani Upcoming
January 10, 2027 Monthly Advisory Check-in Travis/Owner Upcoming
January 13, 2027 1/2 Day Quarterly Strategy Review — Q1 2027 Dana / Kalani / Travis Upcoming
January 20, 2027 Q1 2027 Quarterly Strategy Workshop (3 hrs) BSP Team Upcoming
February 10, 2027 Monthly Advisory Check-in Travis/Owner Upcoming
March 10, 2027 Monthly Advisory Check-in Travis/Owner Upcoming
March 15, 2027 Annual Planning Workshop (Full Day) BSP Team + Owner Upcoming
Q2 2026 Focus Areas

Priority initiatives for this quarter:Go-back rate reduction (URGENT) · Labor cost investigation · Cut paid lead spend · Scale Designer Referral program · Lead source tracking · Cassidy leadership development · Material protection protocols

Quick Links

Your Team & Contacts

Your complete organizational chart — from ownership through operations to your BSP advisory team.

Ownership

Co-Owner
Operations and client relationships. Key decision maker on business direction, staffing, and growth strategy. Active in day-to-day operations and long-term planning. Primary point of contact for BSP engagement.
Co-Owner
Strategic oversight and financial management. Focused on profitability, equity growth, and succession planning. Partner in all major business decisions and long-term vision setting.

Management Team

Installation Manager — KEY ROLE
Leads the installation team and owns quality control. Critical to go-back reduction initiative.Responsible for quality standards, installer training, on-site accountability, and material protection. Primary manager being developed for expanded leadership responsibilities. Submitted 13 operational improvements demonstrating strong ownership mentality.
Office Administrator
Manages scheduling, client communication, and office operations. Responsible for implementing lead source tracking at intake. Being developed for expanded operational responsibilities including AR tracking and customer feedback systems.

Installation Team

Field Team
On-site installation team executing closet and organization projects. Reports to Cassidy Thompson. Currently implementing installer tier level guidelines and quality checklists as part of go-back reduction initiative.

BSP Professionals — Your Advisory Team

Travis Catania
Lead Advisor · Business Succession Pros
Your primary point of contact. Leads the succession planning engagement, coordinates with all professionals, and provides ongoing strategic coaching for Dana & Kalani. Available for strategy sessions, problem-solving, and guidance.
Wealth Management Professional
Personal wealth planning for Dana & Kalani. Coordinates financial strategy alongside business succession to ensure personal and business goals align. Focus on tax efficiency and exit readiness.
Ryan Saathoff
BSP Professional
Supporting professional on the Tailored Closet engagement. Contributes specialized expertise to the overall succession and transition strategy.
Phillip Howerzyl
Vanderspek CPAs · vanderspekcpas.com
philliph@vanderspekcpas.com
BSP Professional
Supporting professional providing advisory services. Works with the broader BSP team to deliver comprehensive succession planning support.
Michael Abramowitz
Masswell Capital · masswellcapital.com
mabramowitz@masswellcapital.com
M&A Advisory
Mergers & acquisitions expertise. Provides guidance on exit strategy options, valuation optimization, and potential transaction structuring when the time comes.

BSP Operations Team

Christopher
Implementation Specialist
Supports implementation of playbooks, systems, and processes. Works with Travis to execute BSP engagement deliverables and ensure smooth rollout of new initiatives.
Sarina
Client Success Manager
Ensures BSP engagement deliverables are on track, coordinates communications, and monitors progress. Your go-to contact for administrative needs related to the BSP engagement.
Fritz
AI Operations Assistant
AI-powered operational support for BSP engagements. Assists with data analysis, document preparation, research, and automated workflows. Built by Kihbba, managed by the BSP team.
Take Team Alignment Survey
Anonymous · Takes ~5 minutes · Access Code: TC-Team-2026

Job Descriptions

Co-Owner — Dana & Kalani Nuesca
Purpose: Strategic leadership and overall business ownership of The Tailored Closet North San Diego.
Key Responsibilities:
1. Set business vision, strategy, and growth targets
2. Oversee all operations, sales, and financial performance
3. Manage key client and designer relationships
4. Lead hiring, team development, and culture
5. Drive revenue growth toward $3M target through strategic partnerships
Design Consultant
Purpose: Transform client spaces through creative design consultations and premium solution selling.
Key Responsibilities:
1. Conduct in-home design consultations with prospective clients
2. Create customized closet, garage, and pantry designs
3. Present proposals and close sales
4. Maintain client communication throughout project lifecycle
5. Build relationships with interior designers for referral partnerships
Installation Manager — Cassidy Thompson
Purpose: Oversee all installation operations ensuring quality craftsmanship and on-time project delivery.
Key Responsibilities:
1. Schedule and coordinate all installation projects
2. Manage installation crew assignments and performance
3. Ensure quality standards are met on every job
4. Resolve on-site issues and client concerns
5. Manage materials, inventory, and installation logistics
Office Administrator — Erika Llamas
Purpose: Manage day-to-day office operations, client communication, and administrative processes.
Key Responsibilities:
1. Handle inbound client inquiries and appointment scheduling
2. Manage invoicing, billing, and accounts receivable
3. Coordinate with design consultants and installation team
4. Maintain CRM (ServiceMinder) and client records
5. Support general office operations, ordering, and vendor communication
Installation Crew
Purpose: Execute high-quality installations of custom closet, garage, and pantry systems.
Key Responsibilities:
1. Install custom organization systems per design specifications
2. Ensure quality craftsmanship on every project
3. Maintain clean, professional job sites
4. Communicate with Installation Manager on project status
5. Follow safety protocols and company standards

Learning Paths — Tailored Closet Career Development

Choose your career path below. Each path combines our foundational onboarding program (Modules 1-5) with role-specific training to set you up for success.

Installation Team
Onboarding + 3-Level Installer Certification
Sales Designer
Onboarding + Design Consultant Training
Office Admin
Onboarding + Operations Training
Manager
Onboarding + Leadership Development
Employee Handbook
Company Policies, Benefits & Compliance
Safe Driving
Vehicle Safety & CA Driving Compliance
Installer Certification
3-Tier Skill Progression
Select your path above to begin

Marketing Strategy & Performance

Key Marketing Metrics

$13,860
Designer Referral ROI/Job
Best Source — SCALE
$12,763
Website/Organic ROI/Job
Strong — Continue
$12,368
Contractor Referral ROI/Job
Strong — Nurture
$9,156
Existing Customer ROI/Job
Solid — Expand
-$23,565
Paid Google/Yelp ROI/Job
CUT IMMEDIATELY
16 jobs
Unknown Source ($207K)
Needs Tracking

Budget & Spend

$30K/yr
Paid Spend (To Cut)
$120K
Annual Savings (Cut Paid)
Coming Soon
Monthly Lead Volume
Coming Soon
Conversion Rate

Marketing Process Flow

Step 1
Lead Generation
Step 2
Lead Capture
Step 3
Qualification
Step 4
Design Consultation
Step 5
Proposal
Step 6
Close

Department Alignment Score

Marketing Alignment: Pending Assessment
Alignment survey will be distributed to department stakeholders to establish baseline scores.
Target Market Clarity
Differentiators in Marketing
Proven Business Process
Customer Feedback Loop
Core Processes Documented
Immediate Action Required: CUT Paid Spend

Google/Yelp paid advertising generated only 4 jobs at a -$23,565 ROI per job. This is burning ~$30K/year with negative returns. Cut this spend immediately and reinvest in Designer Referral program development — your best source at +$13,860/job.

Key Documents & Playbooks

Building
Lead Source Tracking Form
Simple intake form: "How did you hear about us?" — solves the 16-job Unknown attribution gap. Erika owns rollout. Target: Q2 2026.
New
Designer Referral Program
Systematic referral relationship program with interior designers. Best ROI source — 7 jobs in 2025, target 15+ in 2026. Includes partner outreach templates and incentive structure.
Live
Marketing ROI Dashboard
2025 performance data showing revenue by lead source, CAC analysis, and ROI per job. Data visible in Performance tab and used to drive Q2 decisions.

Action Items Checklist

Sales Process & Performance

Monthly Sales Goals

$170K
Closed Projects / Month
1
New Designer Added / Month
Signed Deals This Month
Updated as deals close
0

Sales Process Flow

Step 1
Incoming Lead
Step 2
Schedule Consultation
Step 3
Complete Consultation / Schedule Zoom
Step 4
Prepare Design
Step 5
Design Zoom Call
Step 6
Send Proposal for Signature
Step 7
Follow Up / Signed Contract

Department Alignment Score

Sales Alignment: Pending Assessment
Alignment survey will be distributed to department stakeholders to establish baseline scores.
BHAG/Goals Communicated
Target Market Clarity
Quarterly Goals in Place
Right Seats (GWC)
Clear Accountability Chart

2026 YTD Sales KPIs (Jan–Mar 17)

63
1. Total Appointments
58 completed · 3 canceled · 2 scheduled
41
2. Total Proposals
$595,878 pipeline value
24
3. Total Signed
$324,304 accepted value
70.7%
4. Appt → Proposal
41 proposals / 58 appts
58.5%
5. Proposal → Signed
+7.6pts vs 2025

2026 YTD Financial Pipeline

$327,716
Invoiced Revenue
24 invoiced jobs
$570,214
Booked Value
34 booked projects
$13,513
Avg Accepted Job
Tina $13,116 · Heather $14,750 · Dana $12,563
80%
Avg Margin (Accepted)
Tina 82% · Heather 79% · Dana 78%

2026 Designer Scorecard

DesignerApptsProposalsSignedClose RateAccepted $Avg JobMarginDeclined
Tina Gospodarec 301712 71% $157,392$13,11682%1
Heather Winter 33167 44% $103,250$14,75079%3
Dana Nuesca 85 62% $62,813$12,56378%1
TOTAL 634124 58.5%$324,304$13,51380%5

2026 vs 2025 Year-over-Year

Metric2025 (Full Year)2026 YTD (10.5 wks)2026 Annualized PaceTrend
Total Appointments25163~312 +24%
Proposals Created34441~203 -41%
Proposals Signed17524~119 -32%
Proposal → Signed50.9%58.5% +7.6pts
Accepted Value$1,743,144$324,304~$1,606,200 -8%
Invoiced Revenue$1,736,649$327,716~$1,623,100 -7%
Avg Job Size~$9,960$13,513 +36%

2026 Lead Source Breakdown

ChannelAppointments% of Total
Organic (Google/Direct)4165%
PPC (Paid Ads)711%
Repeat Customer58%
Referral58%
Online Listing (Yelp)46%
Social Media12%

2025 Full Year Designer Benchmarks

DesignerApptsProposalsSignedClose RateAccepted $MarginDeclined
Dana Nuesca 7760 78% $639,07576%12
Tina Gospodarec 13612557 46% $536,37171%24
Heather Winter 1158844 50% $437,57474%13
TOTAL 251344175 50.9%$1,743,14480

Conversion Rate by Lead Source

Lead Source2026 Appts2026 Converted2026 Conv %2025 Conv %Trend
Repeat Customer 44 100% 88% +12pts
Online Listing (Yelp) 43 75% 45% +30pts
Referral 52 40% 43% ≈ flat
PPC (Paid Ads) 62 33% 45% -12pts
Organic (Google/Direct) 4012 30% 34% -4pts
Social Media 10 0% 71% low sample
OVERALL 6023 38% 42% -4pts
Lead Source Insights

Repeat Customers convert at 100% — invest in post-job follow-up and referral programs.
Online Listings (Yelp) jumped to 75% — reviews are driving high-intent leads.
PPC dropped from 45% → 33% — review ad targeting and landing page quality.
Organic is volume king (65% of leads) but converts at only 30% — qualifier improvements could move the needle.

Key Insights

Close rate improved significantly — 58.5% in 2026 vs 50.9% in 2025 (+7.6 points). Better qualifying at the door.
Avg job size up 36% — $13,513 vs $9,960 in 2025. Designers are selling bigger projects.
Margins are excellent — 80% average on accepted deals (Tina leads at 82%).
Tina is the MVP — Highest close rate (71%), most signed deals (12), best margins (82%).
Heather has volume but lower close — 44% close rate. Most appts (33) but only 7 signed. Opportunity for improvement.
Organic dominates — 65% of leads are organic. Strong brand reputation driving inbound.

Key Documents & Playbooks

Building
Sales Process Documentation
End-to-end sales process documentation — from initial contact through close and handoff to installation.
Coming Soon
Pricing Guide
Pricing methodology, estimating guidelines, and margin targets.
Building
Customer Journey Map
Visual map of the customer experience from first contact through project completion.

Production Excellence & Quality Control

0
Jobs Completed This Month
Updated as jobs close
$0
Total Dollar Amount Completed
Updated as jobs close
CRITICAL: Go-Back Rate — 38.1%

Go-back rate has jumped to 38.1% in early 2026 — up from 29.7% in 2025. Nearly 2 in 5 jobs require return visits. This is the #1 operational issue — eroding margins, wasting labor, and damaging customer trust. Immediate action required.

2026 YTD Production Metrics

38.1%
Go-Back Rate (2026 YTD)
+8.4pp vs 2025 — CRITICAL
29.7%
Go-Back Rate (2025)
Already concerning
<15%
Target by Q4 2026
Aggressive but achievable
27.3%
Material % (2026 YTD)
–1.2pp vs 2025 — Good
11.5%
Labor % (2026 YTD)
+2.5pp vs 2025 — Investigate
47.4%
Gross Profit % (2026 YTD)
–9.3pp vs 2025 —
Coming Soon
Labor Efficiency
Coming Soon
Avg Install Time

Production Process Flow

Step 1
Material Order
Step 2
Warehouse / QC
Step 3
Delivery / Transport
Step 4
On-Site Install
Step 5
Quality Check
Step 6
Client Sign-Off
IF NEEDED
Go-Back

Department Alignment Score

Production Alignment: Pending Assessment
Alignment survey will be distributed to department stakeholders to establish baseline scores.
Core Processes Documented
Everyone Has a Number
Problem Solving Culture
Clear Accountability Chart
Right Seats (GWC)

Key Documents & Playbooks

Critical — Building
Go-Back Prevention Playbook
Targeted playbook to reduce go-back rate from 38.1% to <15%. Includes installer quality checklists, pre-close inspection protocols, root cause analysis framework, and accountability metrics. Priority for Q2 2026 — Cassidy owns deployment.
Building
Installer Quality Checklists
Step-by-step quality checklists for every installation phase. Used by installers in the field to ensure nothing is missed before client sign-off.
New — Cassidy
Material Protection Protocol
Protocols for protecting materials during transport and on-site. Part of Cassidy's 13 operational improvements — prevents damage-related go-backs.
New — Cassidy
Installer Tier Level Guidelines
Skill-level tiers for installers with corresponding responsibilities and complexity assignments. Ensures right installer on right job — reduces errors.

Cassidy's 13 Operational Improvements

Cassidy Thompson submitted 13 specific operational improvements during the alignment assessment. These demonstrate strong ownership mentality and will be integrated into Q2 execution.

1Distribute installer tier level guidelines
2DVI file review / designer accountability
3Share Source installation info with designers
4 90-day new employee review reminders
5DVI files included before ordering
6Test cabinetry at shop for training
7SOMs in daily ordering
8Recurring go-back tracking list
9Crew lead customer conflict templates
10Material protection during transport
11Employee review/improvement forms
12All costs recorded in budget (incl. Kalani/Cassidy hours)
13Double up installs to cut lead times

Action Items Checklist

Office Administration & Operations

Admin Performance Metrics

Coming Soon
Scheduling Efficiency
Coming Soon
Accounts Receivable
Coming Soon
Customer Satisfaction Score
Coming Soon
Lead Response Time
Coming Soon
Data Accuracy (Lead Source)
Target: Q2 Implementation

Admin Process Flow

Step 1
Inbound Lead
Step 2
Intake / Qualification
Step 3
Schedule Consultation
Step 4
Confirm Appointment
Step 5
Post-Install Follow-Up
Step 6
Feedback Collection

Department Alignment Score

Admin Alignment: Pending Assessment
Alignment survey will be distributed to department stakeholders to establish baseline scores.
Budget Monitored Monthly
Scorecard in Place
Feedback Loop Active
Weekly Touchpoints Consistent
Meeting Discipline

Key Documents & Playbooks

Building
Office Operations Manual
Comprehensive admin operations manual covering intake, scheduling, communication protocols, AR management, and customer service standards. Erika's operating bible.
Building — Erika Owns
Lead Source Tracking Form
Simple intake form implementation: "How did you hear about us?" — eliminates Unknown source attribution. Erika owns rollout at intake. Target launch: April 5, 2026.
Coming Soon
Scheduling Templates
Templates for appointment confirmations, reminders, and follow-ups. Ensures consistent, professional communication with every customer.
Coming Soon
Customer Communication Templates
Email and phone scripts for common customer interactions — inquiries, quotes, scheduling, post-install follow-up. Maintains brand voice and professionalism.

Action Items Checklist

Department Reports

Download department-specific performance reports, assessments, and action plans.

Marketing Report
Q1 2026
Lead source analysis, ROI by channel, designer referral program, and marketing action plan.
PDF View
Sales Report
Q1 2026
Sales goals, pipeline metrics, close rates, weekly tracking, and sales process performance.
PDF View
Production Report
Q1 2026
Go-back rate analysis, production KPIs, training program, and quality improvement plan.
PDF View
Reports are updated periodically as the engagement progresses. Check back for new documents or contact your BSP advisor for the latest materials.

Documents Hub

All playbooks, checklists, SOPs, templates, and reference materials in one place. Use search and filters to find what you need.

CHECKLISTS

Installation Quality Checklist
Building
Pre-installation, during installation, and post-installation quality checkpoints. Cassidy owns.
Pre-Installation:
During Installation:
Post-Installation:
Go-Back Prevention Checklist
Critical
Pre-close inspection protocol before leaving job site.
Material Protection Checklist
New
Cassidy owns. Protect materials from receipt through installation.
New Employee Onboarding Checklist
Live
Complete onboarding process for all new hires.
Sales Appointment Checklist
Live
In-home consultation preparation and execution steps.
Office Daily Operations Checklist
Building
Erika owns. Daily office operations and customer service.

STANDARD OPERATING PROCEDURES (SOPs)

Sales Process SOP
Building
End-to-end sales process from initial contact through close and handoff to installation.
Steps:
1. Initial inquiry received (phone/web/referral)
2. Qualify lead: project type, timeline, budget range
3. Schedule in-home consultation
4. Conduct design consultation + measurements
5. Create design and proposal
6. Present proposal to customer
7. Handle objections, negotiate if needed
8. Close sale — collect deposit
9. Hand off to installation scheduling
10. Post-sale follow-up and referral request
Installation Process SOP
Live
Complete installation workflow from work order receipt through completion.
Steps:
1. Receive work order from office
2. Review DVI file and material list
3. Pull materials from warehouse
4. Load vehicle (material protection protocol)
5. Travel to job site
6. Protect customer home (drop cloths, shoe covers)
7. Demo existing if applicable
8. Install per specifications
9. Quality check (use Installation Quality Checklist)
10. Customer walkthrough and sign-off
11. Clean up and depart
12. Report completion to office
Customer Complaint Resolution SOP
Building
Structured process for handling customer complaints and go-backs.
Steps:
1. Acknowledge complaint within 24 hours
2. Document specifics: what, when, impact
3. Investigate root cause
4. Determine resolution (repair, replace, credit)
5. Communicate resolution to customer with timeline
6. Execute resolution
7. Follow up within 7 days
8. Log in go-back tracking if applicable
9. Review for process improvement
Lead Source Tracking SOP
Live
Erika owns. Capture and track every lead source at intake.
Steps:
1. Ask every customer How did you hear about us at first contact
2. Record in tracking system (categories: Designer Referral, Website/Organic, Contractor Referral, Existing Customer, Paid Google/Yelp, Other)
3. Update weekly tracking report
4. Review monthly in marketing dashboard
5. Never leave source as Unknown

PLAYBOOKS

Go-Back Prevention Playbook
Critical
Reduce go-back rate from 38.1% to under 15%. Cassidy owns.
Sections:
• Root Cause Analysis Framework
• Quality Control Checkpoints
• Installer Accountability Metrics
• Pre-Close Inspection Protocol
• Go-Back Tracking & Reporting
• Weekly Review Process
Designer Referral Program Playbook
New
Scale from 7 jobs to 15+ per year through interior designer partnerships.
Sections:
• Identify target designers
• Initial outreach template
• Relationship building cadence
• Incentive structure
• Tracking partner pipeline
• Quarterly review and optimization
Installer Tier Level Guidelines
New
Cassidy owns. Match installer skill level to job complexity.
Tiers:
Level 1 (Foundation): Basic installations, supervised work, learning phase
Level 2 (Proficient): Independent installations, standard complexity
Level 3 (Lead): Complex installations, mentors Level 1, customer conflict resolution

Assignment rules: Match installer tier to job complexity

TEMPLATES & FORMS

Customer Communication Templates
Live
Pre-written email and SMS templates for consistent customer communication.
Templates:
• Appointment confirmation
• Appointment reminder (24 hr)
• Quote follow-up
• Post-installation thank you
• Review request
• Referral request
Scheduling Templates
Coming Soon
Calendar and scheduling templates for office operations.
• Weekly schedule template
• Installation calendar template
• Designer consultation booking template
Employee Review Form
Building
Structured performance review template from Cassidy's improvement #11.
Sections:
• Performance categories
• Goals for next period
• Development areas
• Employee self-assessment section
• Manager assessment section
Lead Source Tracking Form
Building
Erika owns. Standardized form for capturing lead source at intake.
Fields:
• Customer name
• Date of inquiry
• Source category (dropdown)
• Source detail (free text)
• Project type
• Estimated value

INSTRUCTIONS & QUICK REFERENCES

Cassidy's 13 Operational Improvements
Implementation Tracking
Track implementation status of all 13 improvement initiatives.
Material Handling Instructions
Live
Best practices for material handling from receipt through installation.
Receiving: Inspect all materials upon delivery
Storage: Keep dry, climate controlled, off ground
Loading: Secure with straps, protect edges
On-site: Cover exposed materials, handle with clean hands
Damaged materials: Document with photos, report to office, do NOT install
DVI File Review Guide
Building
How to review DVI design files before ordering to prevent errors.
What is a DVI file and why it matters
Review checklist before ordering
Common errors to watch for
Escalation process for issues

REPORTS & ANALYSIS

Q1 2026 Engagement Summary
Live
Comprehensive engagement summary covering all activity through March 2026.
Marketing Report March 2026
Live
Marketing performance analysis and lead source breakdown.
Production Report March 2026
Live
Installation metrics, go-back analysis, and quality performance.
Sales Report March 2026
Live
Sales performance, pipeline analysis, and conversion metrics.
Alignment Report March 2026
Live
Team alignment survey results and organizational health assessment.

BUSINESS PLANNING

Weekly Huddle Agenda (GRIP Method)
Live
Gather→Review→Identify→Plan. Same Day. Same Time. Every Week.
Format:
Gather: Start on time, no phones
Review: Last week's scorecard and action items
Identify: Issues, wins, and priorities
Plan: This week's commitments and owners

Ground Rules: Start/end on time, no phones, everyone participates
Weekly Scorecard Template
Live
Track 5-15 key numbers weekly for performance visibility.
Columns: Metric | Owner | Goal | Week 1 | Week 2 | Week 3 | Week 4 | Monthly Avg | On Track?

Example Metrics:
• Sales appointments held
• Quotes sent
• Closed sales
• Installations completed
• Go-backs
• Customer satisfaction score
• Cash collected
Action Plan Tracker
Live
Interactive checklist tracking current high and medium priority action items.
Process Map Reference
Building
Visual workflow diagrams for sales and operations processes.
Sales Process Map
Lead → Qualify → Consult → Design → Propose → Close → Install → Follow-up

Operations Process Map
Order → Receive → Store → Schedule → Install → QC → Complete → Track
Tech Stack
Live
Current technology tools and systems in use.
DVI (Design Software): Design and visualization tool for customer projects
Pipedrive (CRM): Customer relationship management and sales pipeline tracking
Department Metrics
Live
Key performance indicators by functional area.
Leadership Metrics:
• Revenue Growth
• GP Margin %
• Net Profit %
• Customer Retention Rate
• Employee Retention Rate

Operations Metrics:
• Installation quality score
• On-time delivery %
• Go-back rate %
• Inventory accuracy
Job Description Template
Building
Blank template for creating standardized job descriptions.
Sections:
• Position Title
• Department
• Reports To
• Key Responsibilities (table format)
• Required Qualifications
• Success Metrics

HR & COMPLIANCE

Employee Handbook (March 2026)
Live
Complete employee handbook covering at-will employment, ethics, hiring, wages, performance, benefits, safety, and California compliance.
Safe Driving Policy (2026)
Live
California-compliant driving policy covering handheld device bans, impaired driving, reporting requirements, vehicle use guidelines, and consequences for violations.

Business Succession Assessments

Complete all 6 assessments to receive your comprehensive succession readiness report.

0 of 6 assessments completed

Your Information

This information will be used across all assessments.

Leadership Resources

Dana & Kalani Only

Strategic planning materials for ownership. These documents are confidential and intended for Dana and Kalani's eyes only.

Full Engagement Report

Comprehensive Engagement Report — March 2026
Q1 2026 Full Engagement Summary
Complete overview of BSP engagement including alignment assessment results, all KPIs, team structure, financial analysis, strategic action plan, and recommendations. Owner-only document.
Download Full Report (PDF) View Online

Business Value Dashboard

Current Business Value
TBD
Pending Valuation
Value Gap
TBD
Difference between current value & target sale price
Profit Gap
TBD
Difference between current profit & target profit to support valuation
Wealth Gap
TBD
Difference between current wealth & post-exit financial needs
Assessment — March 2026
Organizational Alignment Report
Full analysis: Dana, Kalani & Cassidy scored across 22 alignment questions. Overall 4.0/5.0. Critical finding: Owner alignment gap — Kalani scored 2/5 on 5-year target while Dana and Cassidy scored 5/5.Includes 90-day action plan and Cassidy's 13 operational improvements. Download Report →
Valuation
Valuation Assessment
2024 baseline valuation with 2025 projections. Establishes current enterprise value and benchmarks for tracking equity growth over the engagement period.
Growth
Equity Value Growth Model
Projects equity value increase driven by go-back reduction, margin improvement, and operational efficiency. Shows the dollar impact of every percentage point improvement.
Succession
Succession Timeline — 5-Year Roadmap
Year-by-year roadmap from current state to full transition readiness. Milestones, decision points, and flexibility for internal succession, sale, or hybrid options.
Tax
Tax Planning Overview
Tax-efficient strategies for succession and transition. Coordinated with Chad Wilson (wealth) and your CPA to maximize after-tax proceeds at exit.
Exit
Exit Strategy Options
Full analysis of exit pathways: internal succession (manager buyout), external sale, franchise transfer, or hybrid. Pros, cons, and financial implications of each.

Transition Phases

Phase 1: Discovery Complete
Owner interviews, financial review, organizational assessment. Established baseline understanding of The Tailored Closet's operations, financials, and goals.
Phase 2: Strategy Complete
Succession roadmap development, professional team assembly, leadership gap analysis. Identified key priorities and built the plan.
Phase 3: Implementation In Progress
Playbook build-out, manager training, documentation, KPI systems. Currently executing — this is where the real work happens.
Phase 4: Transition Upcoming
Execution monitoring, ownership transition, quarterly reviews, handoff. The endgame — a business that runs independently with strong leadership in place.
Critical Leadership Issue: Owner Alignment Gap

Kalani scored 2/5 on both the 5-year target clarity and financial metrics visibility — while Dana and Cassidy scored 5/5 on both. The manager is more aligned with one owner than the owners are with each other. This is the #1 leadership issue to address.

→ Immediate action: Dana & Kalani strategic alignment meeting (scheduled March 25) to get on the same page about 5-year vision, market positioning, and financial visibility.

Quarterly Business Review (QBR)

"Every quarter, the scoreboard resets. The lessons don't."

'); win.document.close(); win.print(); } // Initialize onboarding on page load if (localStorage.getItem('ob_user_name')) { document.getElementById('obStartForm').style.display = 'none'; document.getElementById('obProgressTracker').style.display = 'block'; document.getElementById('obUserName').textContent = localStorage.getItem('ob_user_name'); var progress = JSON.parse(localStorage.getItem('ob_progress') || '[0,0,0,0,0]'); for (var i = 0; i < 5; i++) { if (progress[i] === 1) { var btn = document.querySelector('#obModule' + (i + 1) + ' .ob-mark-complete'); if (btn) { btn.textContent = 'Module ' + (i + 1) + ' Complete'; btn.style.background = '#888'; btn.disabled = true; } } } updateProgress(); } var TCAssess = (function() { 'use strict'; // ===== ASSESSMENT DATA (extracted verbatim from source files) ===== var ASSESSMENTS = [ { id: 'succession-readiness', name: 'Succession Readiness', icon: '', questionCount: 23, estMinutes: 5, scaleLabels: ["Non-existent","Poor","Needs Attention","Good","Great","Could Not Be Improved"], categories: [ { name: "Leadership & Talent", questions: [ "Do you know who the potential successors are?", "Do they have the skill, experience, and temperament to lead?", "What gaps exist? Where do they need mentoring, training, or outside development?", "Do you have more than one candidate or are you overly reliant on a single person?", "Will the successor(s) maintain the company's culture and values?" ]}, { name: "Business Continuity", questions: [ "How dependent is the business on the current owner/leader for clients?", "How dependent is the business on the current owner/leader for operations?", "How dependent is the business on the current owner/leader for decision making?", "What critical knowledge is undocumented or unsystematized?", "If the leader were gone tomorrow, is there a clear interim plan in place?", "What safeguards are in place to reassure employees, customers, and vendors during transition?" ]}, { name: "Financial & Ownership", questions: [ "Have you thought about how ownership will transfer? Sale or gifting?", "Can the successor afford the buyout terms?", "Are the succession plans structured to minimize tax burdens for current and future owners?", "Is financing pre-arranged (insurance, bank, internal reserves) to support transition?" ]}, { name: "Strategic Alignment", questions: [ "Does the successor's vision align with the company's long-term goals?", "Will they be able to maintain/accelerate growth in target markets/industries?", "Are family, partners, shareholders aligned with the plan?", "How does the plan account for shifts in your target verticals?" ]}, { name: "Governance & Process", questions: [ "Is the succession plan written, tested, and updated regularly?", "Do you have an outside advisory board to oversee smooth handoff?", "Is there a phased approach — mentoring, shared decision making, leadership shadowing?", "How will the transition be communicated to employees, customers, stakeholders?" ]} ] }, { id: 'gap-analysis', name: 'Succession Gap Analysis', icon: '', questionCount: 29, estMinutes: 6, scaleLabels: ["Non-existent","Poor","Needs Attention","Good","Great","Could Not Be Improved"], categories: [ { name: "Vision & Legacy", questions: [ "Do you have a clearly defined 10-year vision for your company?", "Have you documented the legacy outcomes you want (financial, cultural, community impact)?", "Is your leadership team aware of and aligned with your long-term vision?", "Do you have guiding values and principles written down that will remain after your exit?" ]}, { name: "Foundation & Readiness", questions: [ "Have you clearly defined your personal, financial, and lifestyle goals after exit?", "Do you know your preferred succession pathway (family, internal, external sale, hybrid)?", "Has your business been professionally valued within the last 12-24 months?", "Have you reviewed your corporate structure and estate plan with advisors?", "Do you have a complete advisory team in place (CPA, attorney, financial advisor, exit planner)?" ]}, { name: "Successor ID & Development", questions: [ "Have you identified at least one potential successor (internal or external)?", "Do you have clear criteria for what makes a strong successor in your company?", "Is there a documented development/training plan for successors?", "Are mentoring or leadership transition processes in place?", "Do you have an emergency succession plan in case of sudden incapacity?" ]}, { name: "Governance & Transition", questions: [ "Are your buy-sell agreements/shareholder agreements up-to-date and legally enforceable?", "Do you have a functioning board of directors or advisory board?", "Are leadership roles and responsibilities clearly documented?", "Have you aligned compensation and incentives with long-term goals?", "Is there a clear communication plan for employees, customers, and vendors during transition?" ]}, { name: "Financial & Ownership Transfer", questions: [ "Do you know which transfer method (gift, MBO, ESOP, third-party sale) fits best?", "If considering a third-party sale, is your business prepared with due diligence materials?", "Have you identified financing or funding mechanisms for the transfer?", "Are tax-efficient transfer strategies in place?", "Do you have sufficient insurance coverage (key person, liability, life) to protect stakeholders?" ]}, { name: "Implementation & Monitoring", questions: [ "Do you have a detailed transition timeline with milestones?", "Have you defined who will lead during the transition and after?", "Is there a monitoring system to evaluate successor performance post-transition?", "Do you have a process for adjusting the plan if conditions change?", "Have you scheduled regular reviews of the succession plan?" ]} ] }, { id: 'business-attractiveness', name: 'Business Attractiveness', icon: '', questionCount: 25, estMinutes: 5, scaleLabels: ["Non-existent","Poor","Needs Attention","Good","Great","Could Not Be Improved"], categories: [ { name: "Business Factors", questions: [ "How does the duration of your business operations compare to industry standards?", "Does the location of your business affect its relative attractiveness?", "Would your management team impress a potential purchaser?", "How reliant is your business on key managers?", "How effectively have you prioritized staff contracts?", "Are your customers loyal to your business?", "How strong and well known is your brand?", "Do you have a sufficient and diverse customer database?", "Do you have good marketing systems in place?", "Do you have good business systems in place (CRM, accounting, production, policies)?", "Have you developed significant IP & Technology?" ]}, { name: "Forecast Factors", questions: [ "Have you been profitable over the past few years including current year?", "Are you predicting continued growth and profitability?", "Are you predicting revenue growth?", "Can a third party confidently predict reliable revenue streams?", "Does your business have recurring revenue streams?" ]}, { name: "Market Factors", questions: [ "Is your market characterized by strong growth?", "Is it challenging for competitors to enter your marketplace?", "Do you have a competitive advantage based on market factors?", "Do you have a strong presence in the marketplace?", "Does your business operate in an industry with a good economic outlook?" ]}, { name: "Investor Considerations", questions: [ "How compelling and legitimate is your reason for selling?", "How closely does your business align with potential strategic buyers?", "How would you rate the level of risk from a purchaser's perspective?", "Is your industry currently attracting positive attention and interest?" ]} ] }, { id: 'exit-readiness', name: 'Exit Readiness', icon: '', questionCount: 122, estMinutes: 25, scaleLabels: ["Non-existent","Poor","Needs Attention","Good","Great","Could Not Be Improved"], categories: [ { name: "Valuation Expectations", questions: [ "How confident are you that you understand how much your business is worth today?", "Would you be happy to sell your business for this amount?", "Are there any changes you could make to improve your business worth?", "Do you have a time frame for selling your business?", "Have you determined how long you will allow for a handover and transition period?" ]}, { name: "Personal Expectations", questions: [ "Do you know what you will do after you sell the business?", "Will you be able to sustain this lifestyle based on what the business is worth now?", "Do you know the amount of money you would actually need to achieve your lifestyle objective?", "Have you considered the issue of retirement or when you might need to exit?", "Do you have a vision for what will happen to the business after you sell it?" ]}, { name: "Shareholder Goals", questions: [ "Do you have a centralized document listing shareholders and their share percentages?", "Do all shareholders agree on the exit strategy?", "Do all shareholders agree on a time frame for the exit strategy?", "How well have you defined the strategy of 'how' you will sell (cash, shares, earn out)?", "Have you agreed on who will buy your business (MBO, family, strategic, investor)?", "Have all shareholders agreed on the price strategy?" ]}, { name: "Payment Considerations", questions: [ "Have you determined what will be sold (LLC or just goodwill and assets)?", "Is there a tax deduction that you could apply for?", "Do you want to offer bonuses or payments to staff or family?" ]}, { name: "Value Readiness", questions: [ "Does the business show steady increase over 2-3 years or consistency in profit?", "Does the business rely on a single person or have that appearance?", "Is the business positioned in growth markets?", "Are the current products the business offers attractive?", "Have you considered selling to a strategic buyer?" ]}, { name: "Credibility & Justification", questions: [ "Do you have customer testimonials?", "Do you have case studies showing product/service benefits?", "Do you have a list of credible customers?", "Do you have awards or recognition?", "Do you have community involvement documentation?" ]}, { name: "Brand Issues", questions: [ "Is the brand suitable and cannot be improved?", "Does the brand name suit the company image?", "Does the business name include the owner's name?", "Does the brand contribute to increased purchase price?", "Could your brand be undesirable to certain purchasers?" ]}, { name: "Marketing Documentation", questions: [ "Is your marketing structured and standardized for a new owner?", "Do you have a list of past advertising campaigns?", "Do you have copies of past sales letters and promotional material?", "Do you monitor campaign success with records of past performance?" ]}, { name: "Employee & Management", questions: [ "Does the business demonstrate independence from a sole individual?", "Have you considered if the business can rely on multiple people?", "Have you identified successors among employees?", "Have you developed a plan detailing tasks by employee?", "Is there a training plan to qualify employees for new roles?", "Is there a timeline for employee role transitions?", "Have you determined salary/incentive changes for transition?", "Will role changes cause employee dissatisfaction?", "Have you planned when new roles should commence?", "Do all employees have job descriptions?", "Does the business have a current employee manual?", "Do all employees have employment contracts?", "Is there a provision for company ownership of employee IP?", "Have contractors acknowledged company IP ownership?", "Does the organization have clear policies and procedures?", "Do all employees have performance review processes?", "Have you decided how to communicate the sale to employees?", "Have you thought through employee reactions?", "Are employees content and satisfied?", "Does management team present a strong profile?", "Has an organizational chart been developed?", "Is staff turnover rate within reasonable limits?" ]}, { name: "Financials", questions: [ "Do you have at least two years of tax returns or audited statements?", "Are last year's management reports documented?", "Are sales categorized by customers?", "Are sales categorized by products?", "Have you conducted a documented analysis of key customers?", "Have you determined profit plus add-backs with reconciliation?" ]}, { name: "Management Systems", questions: [ "Have you prepared a 12-24 month forecast with justification?", "Have you prepared a 3-year forecast?", "Do you have a scorecard or management control system?" ]}, { name: "Company Documentation", questions: [ "Is company formation paperwork easily accessible?", "Do you have current share registry documents?", "Do you have shareholder address/contact details accessible?", "Do you have a comprehensive list of all business/company names?" ]}, { name: "Intellectual Property", questions: [ "Do you have a list of all trademarks with expiry dates?", "Do you have a list of all patents with expiry dates?", "Do you have a list of software copyrights and agreements?", "Do you have a list of all domain names with expiry dates?" ]}, { name: "Customer Contracts", questions: [ "Is there a consolidated file of all customer contracts?", "Documentation of alliance partners?", "Major contracts by product line?", "Support/maintenance contracts?", "Warranties and guarantees?", "Other customer-related contracts?" ]}, { name: "Expense Contracts", questions: [ "Supplier contracts in a single file?", "Leases/finance contracts?", "Insurance contracts?", "Web hosting agreements?", "Other contract documentation?" ]}, { name: "Personal Knowledge", questions: [ "Do you understand valuation methodology and its impact on negotiations?", "Do you understand the critical criteria potential buyers look for?" ]}, { name: "Systems & Processes", questions: [ "Is there a CRM or contact management system?", "Is inventory managed with routine stocktakes?", "Is accounting streamlined to show management reports?", "Is the customer database clean and accurate?", "Is the enquiry database clean and accurate?", "Are records kept and analysed?" ]}, { name: "Compliance Issues", questions: [ "Are tax returns up to date?", "Have you paid all 401(k) obligations?", "Have you provisioned all employee obligations?", "Are tax/GST/VAT obligations met?" ]}, { name: "Profit Improvement", questions: [ "Rate your management of: Communication channels", "Rate your management of: Insurance", "Rate your management of: Banking", "Rate your management of: Overdraft", "Rate your management of: Inventory", "Rate your management of: Quotes/Tenders", "Rate your management of: Payroll", "Rate your management of: Cost of goods", "Rate your management of: Commissions", "Rate your management of: Human resources" ]}, { name: "Government Assistance", questions: [ "Have you maximized export funding?", "Have you applied for R&D tax concessions?", "Have you researched all government grants?" ]}, { name: "Revenue Drivers", questions: [ "Examined increasing average sale value?", "Examined increasing frequency of purchases?", "Examined increasing number of customers?", "Examined increasing number of leads?", "Examined improving conversion rates?" ]}, { name: "Product Strategies", questions: [ "Considered new products in existing markets?", "Considered new products in new markets?", "Considered repackaging existing products in existing markets?", "Considered existing products in new markets?" ]} ] }, { id: 'financial-readiness', name: 'Financial Readiness', icon: '', questionCount: 52, estMinutes: 12, scaleLabels: ["Non-existent","Poor","Needs Attention","Good","Great","Could Not Be Improved"], categories: [ { name: "Wealth & Financial Management", questions: [ "Have you considered the range of potential value of your business and implications on when to sell?", "Have you considered at what age you plan to exit?", "Have you considered whether you will retire, be self-employed, or employed on exit?", "Have you considered the minimum annual income needed for comfortable lifestyle?", "Have you considered the time-frame of transitioning regarding income loss?", "Have you factored post-retirement income for extraordinary events (weddings, education, medical)?", "Have you determined your ideal post-exit life?", "Do you acknowledge the value that an exit and succession plan can offer?", "Have you reviewed your wealth management strategy within the past year?" ]}, { name: "Business Value & Personal Wealth", questions: [ "Do you understand your business's present valuation and its significance to net worth?", "Would you be happy to sell for this amount now or wait?", "Have you calculated net proceeds post transition (net of taxes, fees)?" ]}, { name: "Personal Cash Flow & Budget", questions: [ "Are you aware of your actual earnings considering business-covered expenses?", "Can you specify total annual income from business and other sources?", "Have you calculated personal outgoing cash each month?", "Can you identify spending categories for post-exit lifestyle review?", "Are you in control of cash flow with a post-transition plan?", "Do you have an overview of extraordinary expenses with a management plan?", "Could you benefit from more control of personal budget and spending?" ]}, { name: "Tax & Investment Strategies", questions: [ "Do you have an investment and wealth portfolio?", "Have you calculated anticipated ROI from your portfolio?", "Are you confident your investment returns are maximized?", "Have you prepared a personal tax plan for business transition?", "Is there a tax deduction you could apply for when transitioning out?" ]}, { name: "Debt Management", questions: [ "Do you have a clear understanding of your current debt?", "Are you comfortable with your present debt level?", "Do you have good control over your debt?", "Will a future exit cause you to accelerate or slow debt reduction?", "Do you have the best interest rates available on loans?", "Is your debt repayment impeding financial progress?", "Could you benefit from restructuring your debt?" ]}, { name: "Risk Management", questions: [ "Are your dependants financially stable in the event of your death?", "Could surviving dependants maintain expenses and living standards?", "If disabled, can your family sustain lifestyle and obligations?", "If injured 60+ days, do you have enough savings for support?", "Do you have life and disability insurance policies in place?", "Have you incorporated long-term healthcare expenses into financial planning?", "Would you benefit from a review of insurance coverage?" ]}, { name: "Estate Planning", questions: [ "Is your will/estate plan up to date?", "Have you discussed setting up a trust?", "Do you have peace of mind about asset distribution?", "Have you reviewed your estate plan in the last two years?", "Could you benefit from a professional estate review?", "Have you considered tax obligations to benefactors?", "Do you have a business contingency plan for death?", "Have business assets been considered in your estate plan?" ]}, { name: "Financial Planning Advisor", questions: [ "Are you pleased with your financial advisor's service?", "What is your level of confidence in their advice?", "Does your advisor understand your goals?", "Is your advisor keeping up with your changing needs?", "Does your advisor understand both business and personal circumstances?", "Does your advisor always place your best interests first?" ]} ] }, { id: 'personal-readiness', name: 'Personal Readiness', icon: '', questionCount: 123, estMinutes: 25, scaleLabels: ["Non-existent","Poor","Needs Attention","Good","Great","Could Not Be Improved"], categories: [ { name: "Emotional Factors", questions: [ "Are you ready to exit now or do you have strong emotional attachment?", "Have you determined an exit time frame?", "Have you considered whether leaving a legacy is important?", "Have you considered other personal goals in leaving?", "Have you considered relationships with staff and feelings of loss?", "Have you considered relationships with suppliers/distributors?", "Have you considered your brand might be mistreated by someone else?", "Have you considered the emotional impact of relinquishing power?", "Have you considered coping strategies if retirement affects status/confidence?", "Have you considered your driving force and passion after exit?", "Do you have any fears about the exit process?", "Do you know why you want to sell?" ]}, { name: "Personal Planning", questions: [ "Have you considered you may need to work in business 2 years post-exit?", "Have you started the post-exit transition process?", "Have you considered your desired level of confidentiality?", "Are you confident you have no unfinished business?", "Have you discussed a possible exit with family, advisors, or employees?", "Do you have a time frame for selling?", "Have you determined handover/transition period length?", "Have you calculated optimum income for desired lifestyle?" ]}, { name: "Personal Expectations", questions: [ "Do you know what you'll do after selling?", "Can you sustain lifestyle based on current business value?", "Do you know the money needed for your lifestyle objective?", "Have you considered retirement timing?", "Do you have a vision for the business after you sell?", "Do you have a clear vision of post-exit daily activities and income?", "Could you benefit from more control of personal budget/spending?" ]}, { name: "Personal Blocks", questions: [ "Does self-doubt or fear hold you back?", "Does lack of self-confidence hold you back?", "Does procrastination hold you back?", "Does lack of follow-through hold you back?", "Does negative self-image hold you back?", "Does time management hold you back?", "Do organizational skills hold you back?", "Does perfectionism hold you back?", "Do relationship building skills hold you back?", "Does lack of self-discipline hold you back?", "Does assertiveness hold you back?" ]}, { name: "Health", questions: [ "Satisfied with current diet?", "Satisfied with stress levels?", "Have you reviewed family medical history?", "Do you maintain healthy routine and balance?", "Satisfied with exercise level?", "Satisfied with sleep?", "Satisfied with lifestyle?", "Satisfied with self-image?" ]}, { name: "Finance", questions: [ "Earning enough to meet needs?", "Satisfied with savings?", "Satisfied you can reach financial goals?", "Are you financially anxious?", "Earnings/investments satisfactory for your life stage?", "Satisfied with investment earnings and strategy?", "Satisfied with personal assets?", "Satisfied with debt/loan level?", "Are bills/expenses at affordable level?" ]}, { name: "Fun & Recreation", questions: [ "Satisfied with leisure time?", "Satisfied with extracurricular activities?", "Content with time management?", "Satisfied with hobbies?", "Satisfied with relaxation time?", "Content with sports/physical activities?", "Feel over-committed or flexible?", "Satisfied with personal time?", "Content with leisure type and cost-benefit?" ]}, { name: "Friends & Family", questions: [ "Satisfied with support from family/friends?", "Satisfied with social time?", "Satisfied with activities with family/friends?", "Satisfied with quality of engagements?", "Satisfied with quantity of engagements?", "Satisfied with level of trust?", "Mutual respect with friends/family?", "Honest with friends/family?", "Satisfied with bonding level?", "Satisfied with stability?" ]}, { name: "Romance", questions: [ "Honest with partner?", "Happy in relationship?", "Have respect in relationship?", "Have confidence in relationship?", "Satisfied with trust level?", "Satisfied with fun level?", "Satisfied with loyalty?", "Relationship feels meaningful?", "Spend quality time with good communication?" ]}, { name: "Environment", questions: [ "Satisfied with stability of environments?", "Satisfied with safety/security?", "Live in cluttered environment?", "Happy with home/work location?", "Satisfied with cleanliness?", "Satisfied with overall environment?", "Satisfied with size of environments?", "Feel welcome and comfortable?", "Comfortable in environment?" ]}, { name: "Learning", questions: [ "Satisfied with personal growth?", "Feel continuously improving?", "Gaining new experiences?", "Spending enough time reading/learning?", "Spending enough time learning new skills?", "Feel challenged?" ]}, { name: "Achievement", questions: [ "Feel successful?", "Feel you've accomplished a lot?", "Have sense of fulfillment?", "Feel life is progressing?", "Receive recognition you deserve?", "Have clear goals?", "Have self-worth?", "Receive satisfactory financial rewards?", "Receive satisfactory non-financial rewards?", "Satisfied with achievement level?" ]}, { name: "Values", questions: [ "Remain true to core values/integrity?", "Clear about what you stand for?", "Satisfied with faith/religion/spirituality commitment?", "Contribute adequately to community?", "Happy and content with life?" ]}, { name: "Work", questions: [ "Satisfied with work relationships?", "Satisfied with career path?", "Satisfied with work-life balance?", "Satisfied with recognition/support?", "Satisfied with salary?", "Satisfied with work culture?", "Satisfied with professional development?", "Satisfied with work stability?", "Satisfied with work hours?", "Satisfied with capacity to learn?" ]} ] } ]; // ===== ACTION ITEMS MAP ===== var ACTION_ITEMS = { // Succession Readiness categories "Leadership & Talent": [ "Identify and document 2-3 potential successor candidates with a skills matrix", "Create a 12-month leadership development plan for the top candidate", "Schedule quarterly succession readiness reviews with your advisory team" ], "Business Continuity": [ "Document all key processes currently held by the owner in a standard operating procedures manual", "Create an emergency succession plan for unexpected events (illness, incapacity)", "Cross-train at least 2 employees on critical owner-dependent tasks within 90 days" ], "Financial & Ownership": [ "Engage a business valuation professional for a current market value assessment", "Review and update buy-sell agreements with legal counsel", "Establish a transition financing plan including insurance, bank, and internal reserves" ], "Strategic Alignment": [ "Hold a strategic alignment meeting with successor(s) to document shared vision", "Conduct a market analysis of target verticals and prepare successor for industry shifts", "Facilitate a stakeholder alignment session with family, partners, and key shareholders" ], "Governance & Process": [ "Draft a formal written succession plan with timeline, milestones, and accountability", "Establish or formalize an outside advisory board to oversee the transition process", "Implement a phased leadership transition with mentoring, shadowing, and shared decision-making stages" ], // Gap Analysis categories "Vision & Legacy": [ "Write a documented 10-year vision statement for the company's future", "Define and record legacy outcomes across financial, cultural, and community dimensions", "Share the long-term vision with your leadership team and gather alignment feedback" ], "Foundation & Readiness": [ "Define personal, financial, and lifestyle goals for your post-exit life in writing", "Engage a certified exit planner to review your corporate structure and estate plan", "Assemble a complete advisory team: CPA, attorney, financial advisor, and exit planner" ], "Successor ID & Development": [ "Create a successor criteria document outlining skills, experience, and values required", "Develop a formal training and mentoring plan for identified successor candidates", "Draft an emergency succession plan for sudden incapacity scenarios" ], "Governance & Transition": [ "Review and update all buy-sell and shareholder agreements with legal counsel", "Align compensation and incentive structures with long-term transition goals", "Create a stakeholder communication plan for employees, customers, and vendors" ], "Financial & Ownership Transfer": [ "Evaluate transfer methods (gift, MBO, ESOP, third-party sale) with your advisory team", "Prepare comprehensive due diligence materials for potential buyers or successors", "Implement tax-efficient transfer strategies with your CPA and attorney" ], "Implementation & Monitoring": [ "Create a detailed transition timeline with quarterly milestones and checkpoints", "Define clear leadership roles for during and after the transition period", "Establish a formal monitoring system to evaluate successor performance post-transition" ], // Business Attractiveness categories "Business Factors": [ "Document and strengthen your management team's capabilities and independence", "Diversify your customer base — aim for no single customer exceeding 15% of revenue", "Invest in systematizing business processes (CRM, accounting, production, policies)" ], "Forecast Factors": [ "Develop 3-year financial projections with supporting assumptions and documentation", "Build recurring revenue streams (service contracts, subscriptions, retainers)", "Document your profitability trend over the past 3 years for buyer confidence" ], "Market Factors": [ "Conduct and document a competitive analysis identifying your market advantages", "Strengthen barriers to entry — patents, exclusive contracts, proprietary processes", "Research and document industry economic outlook and growth projections" ], "Investor Considerations": [ "Prepare a compelling narrative for your reason for selling that builds buyer confidence", "Identify and document strategic buyer alignment opportunities", "Create a risk mitigation summary addressing key buyer concerns" ], // Exit Readiness categories "Valuation Expectations": [ "Obtain a professional business valuation from a certified appraiser", "Create a value improvement plan identifying changes that increase business worth", "Define a realistic timeline for sale including handover and transition period" ], "Personal Expectations": [ "Write a detailed post-exit life plan covering daily activities, income, and lifestyle", "Calculate the exact money needed for your desired post-exit lifestyle", "Define your vision for what happens to the business after you sell" ], "Shareholder Goals": [ "Create a centralized shareholder document with percentages and contact details", "Hold a formal shareholder alignment meeting to agree on exit strategy and timeline", "Document agreed-upon sale terms: payment method, buyer type, and price strategy" ], "Payment Considerations": [ "Determine whether you'll sell the LLC or just goodwill and assets with professional advice", "Research applicable tax deductions for business transition with your CPA", "Document any planned bonuses or payments to staff or family during transition" ], "Value Readiness": [ "Ensure financial statements show steady profit growth or consistency over 2-3 years", "Reduce owner dependency — the business should not rely on or appear to rely on one person", "Position the business in growth markets and ensure product/service attractiveness" ], "Credibility & Justification": [ "Collect and organize customer testimonials and case studies for buyer presentation", "Compile awards, recognition, and community involvement documentation", "Create a credible customer list demonstrating business strength and diversity" ], "Brand Issues": [ "Evaluate whether the brand name needs updating to remove owner name dependency", "Assess brand value contribution to purchase price with a marketing professional", "Address any brand elements that could be undesirable to certain purchasers" ], "Marketing Documentation": [ "Standardize all marketing materials and processes for easy handoff to a new owner", "Document past advertising campaigns with performance metrics and ROI data", "Create a marketing playbook with templates, strategies, and campaign records" ], "Employee & Management": [ "Ensure all employees have current job descriptions, employment contracts, and IP provisions", "Create a comprehensive employee manual with policies, procedures, and performance review processes", "Develop a change management plan for communicating the sale to employees" ], "Financials": [ "Organize at least 2 years of tax returns, audited statements, and management reports", "Categorize sales by customer and product line with documented analysis", "Calculate and document profit plus add-backs with full reconciliation" ], "Management Systems": [ "Prepare a 12-24 month financial forecast with supporting justification", "Develop a 3-year strategic forecast aligned with market conditions", "Implement a scorecard or management control system for tracking key metrics" ], "Company Documentation": [ "Organize all company formation paperwork, share registry, and shareholder details", "Create a comprehensive list of all business names, DBAs, and legal entities", "Ensure all corporate documents are easily accessible in a secure, organized system" ], "Intellectual Property": [ "Create a master list of all trademarks, patents, copyrights with expiry dates", "Document all software licenses, domain names, and IP agreements", "Ensure all IP ownership provisions are properly assigned to the company" ], "Customer Contracts": [ "Consolidate all customer contracts into a single organized file system", "Document alliance partnerships, major contracts by product line, and support agreements", "Review and update all warranties, guarantees, and customer-related contracts" ], "Expense Contracts": [ "Organize all supplier, lease, finance, and insurance contracts in one location", "Review all contracts for transferability and assignment clauses", "Negotiate favorable terms on expiring contracts before transition" ], "Personal Knowledge": [ "Study business valuation methodology and how it impacts negotiation strategy", "Research critical criteria that potential buyers evaluate during due diligence", "Attend a business transition workshop or engage an exit planning advisor" ], "Systems & Processes": [ "Implement or upgrade a CRM system with clean, accurate customer and enquiry databases", "Establish routine inventory management with regular stocktakes", "Streamline accounting to produce clear management reports on demand" ], "Compliance Issues": [ "Ensure all tax returns, 401(k) obligations, and employee provisions are current", "Conduct a compliance audit covering all tax, regulatory, and employee obligations", "Resolve any outstanding compliance issues before entering the transition process" ], "Profit Improvement": [ "Conduct a line-by-line review of major expense categories for optimization opportunities", "Negotiate better terms on banking, insurance, and supplier contracts", "Review payroll, cost of goods, and commissions for efficiency improvements" ], "Government Assistance": [ "Research and apply for all available government grants and R&D tax concessions", "Explore export funding opportunities if applicable to your business", "Engage a grant specialist to identify programs you may be missing" ], "Revenue Drivers": [ "Develop strategies to increase average sale value and purchase frequency", "Implement lead generation and conversion rate optimization programs", "Create a documented customer acquisition strategy with measurable targets" ], "Product Strategies": [ "Evaluate opportunities for new products in both existing and new markets", "Consider repackaging or repositioning existing products for broader market appeal", "Develop a product roadmap that increases business attractiveness to buyers" ], // Financial Readiness categories "Wealth & Financial Management": [ "Define your target exit age and minimum annual income needed post-exit", "Review your wealth management strategy with a certified financial planner", "Create a comprehensive post-exit financial plan covering lifestyle, extraordinary events, and retirement" ], "Business Value & Personal Wealth": [ "Obtain a professional valuation to understand your business's significance to net worth", "Calculate net proceeds after transition (accounting for taxes, fees, and obligations)", "Determine if current business value supports your desired post-exit lifestyle" ], "Personal Cash Flow & Budget": [ "Calculate your actual total earnings including all business-covered personal expenses", "Create a detailed personal budget tracking monthly outgoing cash and spending categories", "Develop a post-transition cash flow plan with extraordinary expense provisions" ], "Tax & Investment Strategies": [ "Build a diversified investment portfolio with professional guidance", "Prepare a personal tax plan specifically for business transition scenarios", "Review and maximize investment returns with your financial advisor" ], "Debt Management": [ "Create a complete inventory of all personal and business debts with terms", "Evaluate debt restructuring opportunities for better interest rates", "Develop a debt reduction timeline aligned with your exit strategy" ], "Risk Management": [ "Review and update life and disability insurance policies for adequate coverage", "Incorporate long-term healthcare expenses into your financial planning", "Ensure dependents are financially protected in the event of death or disability" ], "Estate Planning": [ "Update your will and estate plan with a qualified attorney", "Discuss trust options for asset protection and tax-efficient distribution", "Include business assets and contingency plans in your estate plan" ], "Financial Planning Advisor": [ "Evaluate if your current financial advisor understands both business and personal circumstances", "Schedule a comprehensive review meeting with your advisor focused on transition planning", "Consider engaging a transition-specialist financial advisor if current advisor lacks exit planning experience" ], // Personal Readiness categories "Emotional Factors": [ "Work with a coach or counselor to address emotional attachment to the business", "Create a written list of your fears about the exit process and develop mitigation strategies", "Develop a post-exit identity plan that addresses status, passion, and driving force" ], "Personal Planning": [ "Start the post-exit transition process now — begin gradually reducing daily involvement", "Discuss exit plans openly with family, trusted advisors, and key employees", "Calculate optimum income needed for your desired post-exit lifestyle" ], "Personal Expectations": [ "Write a detailed description of your ideal post-exit daily life and activities", "Verify that expected business sale proceeds support your lifestyle requirements", "Create a vision board or document for what you want from life after the business" ], "Personal Blocks": [ "Identify your top 3 personal blocks and work with a coach to create action plans", "Implement a time management and organizational system to improve follow-through", "Practice assertiveness and confidence-building exercises in business contexts" ], "Health": [ "Schedule a comprehensive health checkup and create a wellness action plan", "Establish a consistent exercise routine and stress management practice", "Review and improve diet, sleep habits, and work-life balance" ], "Finance": [ "Create a comprehensive personal financial plan with savings and investment targets", "Address any financial anxiety with a clear debt reduction and wealth-building strategy", "Ensure earnings, investments, and assets align with your life stage and future goals" ], "Fun & Recreation": [ "Schedule regular leisure activities and hobbies to build a fulfilling life outside work", "Audit your commitments and create more personal time for relaxation and recreation", "Explore new sports, activities, or creative pursuits to prepare for post-exit life" ], "Friends & Family": [ "Invest intentionally in family and friend relationships — schedule regular quality time", "Strengthen your support network before the transition with honest conversations", "Build deeper trust and engagement with the people who matter most" ], "Romance": [ "Have an honest conversation with your partner about the exit plan and shared future", "Invest in strengthening your relationship before the stress of business transition", "Plan meaningful shared activities to build connection during the transition period" ], "Environment": [ "Declutter and organize your home and work environments for clarity and comfort", "Evaluate if your current location supports your desired post-exit lifestyle", "Create a living environment that feels welcoming and supportive" ], "Learning": [ "Commit to continuous personal growth — set a reading/learning goal for the next quarter", "Identify new skills you want to develop for your post-exit life", "Seek out challenging experiences that push you beyond your comfort zone" ], "Achievement": [ "Set clear personal goals for the next 12 months beyond business objectives", "Acknowledge and celebrate your accomplishments to build a sense of fulfillment", "Define what success means to you personally, separate from business achievement" ], "Values": [ "Write down your core values and assess how well your current life reflects them", "Increase community contribution through volunteering or mentorship", "Invest time in faith, spirituality, or mindfulness practices that ground you" ], "Work": [ "Assess your work-life balance honestly and make adjustments before transition", "Invest in professional development that supports your post-exit career or interests", "Build a work culture that thrives independently of your daily presence" ] }; // ===== HELPER FUNCTIONS ===== var _currentAssessIdx = -1; var _currentCatIdx = 0; var _pendingAssessIdx = -1; function _lsKey(assessId, suffix) { return 'tc_assess_' + assessId + '_' + suffix; } function _getResponses(assessId) { try { return JSON.parse(localStorage.getItem(_lsKey(assessId, 'responses')) || '{}'); } catch(e) { return {}; } } function _setResponses(assessId, data) { localStorage.setItem(_lsKey(assessId, 'responses'), JSON.stringify(data)); } function _getCompleted(assessId) { return localStorage.getItem(_lsKey(assessId, 'completed')) === 'true'; } function _setCompleted(assessId, val) { localStorage.setItem(_lsKey(assessId, 'completed'), val ? 'true' : 'false'); } function _getScore(assessId) { return parseFloat(localStorage.getItem(_lsKey(assessId, 'score')) || '0'); } function _setScore(assessId, val) { localStorage.setItem(_lsKey(assessId, 'score'), String(val)); } function _getCatScores(assessId) { try { return JSON.parse(localStorage.getItem(_lsKey(assessId, 'categoryScores')) || '[]'); } catch(e) { return []; } } function _setCatScores(assessId, val) { localStorage.setItem(_lsKey(assessId, 'categoryScores'), JSON.stringify(val)); } function _getNotes(assessId) { try { return JSON.parse(localStorage.getItem(_lsKey(assessId, 'notes')) || '{}'); } catch(e) { return {}; } } function _setNotes(assessId, val) { localStorage.setItem(_lsKey(assessId, 'notes'), JSON.stringify(val)); } var _defaultUserInfo = { name: 'Dana \& Kalani Nuesca', email: 'dana@tailoredcloset.com', company: 'The Tailored Closet', role: 'Owners' }; function _getUserInfo() { return _defaultUserInfo; } function _setUserInfo(val) { /* no-op — hardcoded for SH Creel */ } function _countAnswered(assessId) { var r = _getResponses(assessId); return Object.keys(r).length; } function _totalQuestions(assess) { var t = 0; assess.categories.forEach(function(c) { t += c.questions.length; }); return t; } // ===== HUB RENDERING ===== function renderHub() { var hub = document.getElementById('assessHub'); var flow = document.getElementById('assessFlow'); var results = document.getElementById('assessResults'); var combined = document.getElementById('assessCombined'); hub.style.display = 'block'; flow.className = 'assess-flow'; flow.innerHTML = ''; results.className = 'assess-results'; results.innerHTML = ''; combined.className = 'assess-combined'; combined.innerHTML = ''; var completedCount = 0; var cardsHTML = ''; ASSESSMENTS.forEach(function(a, idx) { var total = _totalQuestions(a); var answered = _countAnswered(a.id); var completed = _getCompleted(a.id); var score = _getScore(a.id); if (completed) completedCount++; var progressText, btnClass, btnText, btnAction; if (completed) { progressText = 'Complete — ' + Math.round(score) + '%'; btnClass = 'results'; btnText = 'View Results'; btnAction = 'TCAssess.showResults(' + idx + ')'; } else if (answered > 0) { progressText = answered + '/' + total + ' completed'; btnClass = 'cont'; btnText = 'Continue'; btnAction = 'TCAssess.startAssessment(' + idx + ')'; } else { progressText = '0/' + total + ' completed'; btnClass = 'start'; btnText = 'Start'; btnAction = 'TCAssess.startAssessment(' + idx + ')'; } cardsHTML += '
' + '
' + a.icon + '
' + '

' + a.name + '

' + '
' + total + ' questions · ~' + a.estMinutes + ' min
' + '
' + progressText + '
' + '' + '
'; }); document.getElementById('assessCards').innerHTML = cardsHTML; document.getElementById('ahpText').textContent = completedCount + ' of 6 assessments completed'; document.getElementById('ahpFill').style.width = Math.round(completedCount / 6 * 100) + '%'; document.getElementById('ahpCombinedArea').style.display = completedCount === 6 ? 'block' : 'none'; } // ===== START / CONTINUE ASSESSMENT ===== function startAssessment(idx) { var info = _getUserInfo(); if (!info) { _pendingAssessIdx = idx; document.getElementById('assessInfoModal').classList.add('visible'); return; } _currentAssessIdx = idx; var a = ASSESSMENTS[idx]; var responses = _getResponses(a.id); // Find first unanswered category _currentCatIdx = 0; for (var ci = 0; ci < a.categories.length; ci++) { var allDone = true; for (var qi = 0; qi < a.categories[ci].questions.length; qi++) { if (!responses[ci + '-' + qi]) { allDone = false; break; } } if (!allDone) { _currentCatIdx = ci; break; } if (ci === a.categories.length - 1) _currentCatIdx = ci; } document.getElementById('assessHub').style.display = 'none'; renderFlow(); } function saveUserInfo() { var name = document.getElementById('aibName').value.trim(); var email = document.getElementById('aibEmail').value.trim(); var company = document.getElementById('aibCompany').value.trim(); var role = document.getElementById('aibRole').value.trim(); if (!name || !email || !company || !role) { alert('Please fill in all fields.'); return; } _setUserInfo({ name: name, email: email, company: company, role: role }); document.getElementById('assessInfoModal').classList.remove('visible'); if (_pendingAssessIdx >= 0) { startAssessment(_pendingAssessIdx); _pendingAssessIdx = -1; } } // ===== FLOW RENDERING ===== function renderFlow() { var a = ASSESSMENTS[_currentAssessIdx]; var cat = a.categories[_currentCatIdx]; var responses = _getResponses(a.id); var total = _totalQuestions(a); var answered = Object.keys(responses).length; var pct = Math.round(answered / total * 100); var html = '
' + '

' + a.icon + ' ' + a.name + '

' + '' + '
' + '
' + '
Category ' + (_currentCatIdx+1) + ' of ' + a.categories.length + ' · ' + answered + '/' + total + ' answered
' + '
' + cat.name + '
'; var notes = _getNotes(a.id); cat.questions.forEach(function(q, qi) { var key = _currentCatIdx + '-' + qi; var noteVal = (notes[key] || '').replace(/"/g, '"').replace(//g, '>'); html += '
' + (qi+1) + '. ' + q + '
'; for (var s = 1; s <= 6; s++) { var sel = responses[key] === s ? ' selected' : ''; html += '
' + '' + s + '' + a.scaleLabels[s-1] + '
'; } html += '
'; }); html += '
'; if (_currentCatIdx > 0) html += ''; else html += ''; var isLast = _currentCatIdx === a.categories.length - 1; html += ''; html += '
'; var flow = document.getElementById('assessFlow'); flow.innerHTML = html; flow.className = 'assess-flow active'; flow.scrollIntoView({ behavior: 'smooth', block: 'start' }); } function selectRating(catIdx, qIdx, rating, el) { var a = ASSESSMENTS[_currentAssessIdx]; var responses = _getResponses(a.id); responses[catIdx + '-' + qIdx] = rating; _setResponses(a.id, responses); // Update UI var siblings = el.parentElement.children; for (var i = 0; i < siblings.length; i++) siblings[i].classList.remove('selected'); el.classList.add('selected'); } function saveNote(catIdx, qIdx, el) { var a = ASSESSMENTS[_currentAssessIdx]; var notes = _getNotes(a.id); var val = el.value.trim(); if (val) { notes[catIdx + '-' + qIdx] = val; } else { delete notes[catIdx + '-' + qIdx]; } _setNotes(a.id, notes); } function prevCat() { if (_currentCatIdx > 0) { _currentCatIdx--; renderFlow(); } } function nextCat() { var a = ASSESSMENTS[_currentAssessIdx]; var cat = a.categories[_currentCatIdx]; var responses = _getResponses(a.id); for (var qi = 0; qi < cat.questions.length; qi++) { if (!responses[_currentCatIdx + '-' + qi]) { alert('Please answer all questions in this category before continuing.'); return; } } if (_currentCatIdx < a.categories.length - 1) { _currentCatIdx++; renderFlow(); } else { calculateResults(_currentAssessIdx); } } function backToHub() { _currentAssessIdx = -1; renderHub(); } // ===== CALCULATE & SHOW RESULTS ===== function calculateResults(idx) { var a = ASSESSMENTS[idx]; var responses = _getResponses(a.id); var categoryScores = []; var totalScore = 0, maxScore = 0; a.categories.forEach(function(cat, ci) { var catScore = 0, catMax = cat.questions.length * 6; cat.questions.forEach(function(q, qi) { catScore += responses[ci + '-' + qi] || 0; }); var pct = Math.round(catScore / catMax * 100); categoryScores.push({ name: cat.name, score: catScore, max: catMax, percentage: pct }); totalScore += catScore; maxScore += catMax; }); var overallPct = Math.round(totalScore / maxScore * 100); _setCompleted(a.id, true); _setScore(a.id, overallPct); _setCatScores(a.id, categoryScores); showResults(idx); } function showResults(idx) { var a = ASSESSMENTS[idx]; var overallPct = _getScore(a.id); var categoryScores = _getCatScores(a.id); document.getElementById('assessHub').style.display = 'none'; document.getElementById('assessFlow').className = 'assess-flow'; var gaugeClass = overallPct >= 70 ? 'green' : overallPct >= 50 ? 'yellow' : 'red'; var label = overallPct >= 70 ? 'Transaction Ready' : overallPct >= 50 ? 'Approaching Readiness' : overallPct >= 30 ? 'Development Needed' : 'Foundation Building Required'; var interp = overallPct >= 70 ? 'Your score exceeds the 70% Success Threshold. You are well-positioned for a successful business transition in this area.' : 'Your score is ' + (70 - Math.round(overallPct)) + ' points below the 70% Success Threshold. Targeted improvements in your weaker categories can close this gap and lead to better transaction outcomes.'; var html = '

' + a.icon + ' ' + a.name + ' — Results

' + '
'; html += '
' + Math.round(overallPct) + '%
' + label + '
'; // Threshold gauge html += '
Success Threshold Analysis
' + '
' + '
' + Math.round(overallPct) + '%
'; // Category bars html += '
'; categoryScores.forEach(function(c) { html += '
' + c.name + '' + c.percentage + '%
' + '
' + c.percentage + '%
'; }); html += '
'; // Radar chart html += '
'; // Interpretation html += '

' + label + '

' + interp + '

'; html += '
' + '
' + '
'; var resultsDiv = document.getElementById('assessResults'); resultsDiv.innerHTML = html; resultsDiv.className = 'assess-results active'; resultsDiv.scrollIntoView({ behavior: 'smooth', block: 'start' }); // Draw radar after DOM insert setTimeout(function() { drawRadar('assessRadar' + idx, categoryScores); }, 100); } function drawRadar(svgId, categoryScores) { var svg = document.getElementById(svgId); if (!svg) return; var size = 380, center = size / 2, maxR = 130, n = categoryScores.length; svg.innerHTML = ''; for (var lvl = 1; lvl <= 5; lvl++) { var c = document.createElementNS('http://www.w3.org/2000/svg', 'circle'); c.setAttribute('cx', center); c.setAttribute('cy', center); c.setAttribute('r', maxR / 5 * lvl); c.setAttribute('fill', 'none'); c.setAttribute('stroke', '#e0e0e0'); svg.appendChild(c); } var pathD = ''; categoryScores.forEach(function(cat, i) { var angle = (Math.PI * 2 * i / n) - Math.PI / 2; var x = center + Math.cos(angle) * maxR; var y = center + Math.sin(angle) * maxR; var line = document.createElementNS('http://www.w3.org/2000/svg', 'line'); line.setAttribute('x1', center); line.setAttribute('y1', center); line.setAttribute('x2', x); line.setAttribute('y2', y); line.setAttribute('stroke', '#ddd'); svg.appendChild(line); // Label var lx = center + Math.cos(angle) * (maxR + 35); var ly = center + Math.sin(angle) * (maxR + 35); var txt = document.createElementNS('http://www.w3.org/2000/svg', 'text'); txt.setAttribute('x', lx); txt.setAttribute('y', ly); txt.setAttribute('text-anchor', 'middle'); txt.setAttribute('font-size', '9'); txt.setAttribute('fill', '#1a2e4a'); txt.textContent = cat.name.length > 22 ? cat.name.substring(0, 20) + '…' : cat.name; svg.appendChild(txt); // Data point var r = (cat.percentage / 100) * maxR; var dx = center + Math.cos(angle) * r; var dy = center + Math.sin(angle) * r; pathD += (i === 0 ? 'M' : 'L') + dx + ',' + dy + ' '; }); pathD += 'Z'; var poly = document.createElementNS('http://www.w3.org/2000/svg', 'path'); poly.setAttribute('d', pathD); poly.setAttribute('fill', 'rgba(61,139,139,0.3)'); poly.setAttribute('stroke', '#1a2e4a'); poly.setAttribute('stroke-width', '2'); svg.appendChild(poly); // Dots categoryScores.forEach(function(cat, i) { var angle = (Math.PI * 2 * i / n) - Math.PI / 2; var r = (cat.percentage / 100) * maxR; var dx = center + Math.cos(angle) * r; var dy = center + Math.sin(angle) * r; var dot = document.createElementNS('http://www.w3.org/2000/svg', 'circle'); dot.setAttribute('cx', dx); dot.setAttribute('cy', dy); dot.setAttribute('r', '4'); dot.setAttribute('fill', '#1a2e4a'); svg.appendChild(dot); }); } // ===== COMBINED RESULTS ===== function showCombined() { document.getElementById('assessHub').style.display = 'none'; var allScores = []; var totalPct = 0; var allCatScores = []; ASSESSMENTS.forEach(function(a) { var s = _getScore(a.id); var cs = _getCatScores(a.id); allScores.push({ name: a.name, icon: a.icon, score: s, catScores: cs }); totalPct += s; cs.forEach(function(c) { allCatScores.push({ assessName: a.name, catName: c.name, percentage: c.percentage }); }); }); var combinedPct = Math.round(totalPct / ASSESSMENTS.length); var html = '

Combined Assessment Results

' + '
'; // Executive Summary html += '
' + combinedPct + '%
' + '
Overall Succession Readiness
'; // Scores Table html += ''; allScores.forEach(function(s) { var pass = s.score >= 70; html += '' + ''; }); html += '
AssessmentScoreStatus
' + s.icon + ' ' + s.name + '' + Math.round(s.score) + '%' + (pass ? ' Pass' : ' Below 70%') + '
'; // Strengths var strengths = allCatScores.filter(function(c) { return c.percentage >= 70; }).sort(function(a,b) { return b.percentage - a.percentage; }); html += '

Strengths (70%+)

'; if (strengths.length > 0) { html += ''; } else { html += '

No categories currently at or above 70%.

'; } html += '
'; // Weaknesses var weaknesses = allCatScores.filter(function(c) { return c.percentage < 70; }).sort(function(a,b) { return a.percentage - b.percentage; }); html += '

Areas Needing Improvement (Below 70%)

'; if (weaknesses.length > 0) { html += ''; } else { html += '

All categories are at or above 70% — excellent work!

'; } html += '
'; // Bottom 5 var bottom5 = allCatScores.slice().sort(function(a,b) { return a.percentage - b.percentage; }).slice(0, 5); html += '

Lowest 5 Category Scores

' + ''; bottom5.forEach(function(b) { html += ''; }); html += '
CategoryAssessmentScore
' + b.catName + '' + b.assessName + '' + b.percentage + '%
'; // Action Items html += '

Action Items

'; // PDF button html += '
' + '
' + '
'; var combinedDiv = document.getElementById('assessCombined'); combinedDiv.innerHTML = html; combinedDiv.className = 'assess-combined active'; combinedDiv.scrollIntoView({ behavior: 'smooth', block: 'start' }); } function downloadPDF() { var el = document.getElementById('assessCombined'); if (!el) return; var win = window.open('', '_blank', 'width=900,height=700'); win.document.write('BSP Assessment Report'); win.document.write(''); win.document.write(el.innerHTML); win.document.write(' '); win.document.close(); setTimeout(function() { win.print(); }, 500); } function printResults(assessId) { var el = document.getElementById('assessResults'); if (!el) return; var win = window.open('', '_blank', 'width=900,height=700'); win.document.write('BSP Assessment Results'); win.document.write(''); win.document.write(el.innerHTML); win.document.write(' '); win.document.close(); setTimeout(function() { win.print(); }, 500); } // ===== RESET ===== function resetAll() { if (!confirm('Are you sure you want to reset ALL assessment data? This cannot be undone.')) return; ASSESSMENTS.forEach(function(a) { localStorage.removeItem(_lsKey(a.id, 'responses')); localStorage.removeItem(_lsKey(a.id, 'completed')); localStorage.removeItem(_lsKey(a.id, 'score')); localStorage.removeItem(_lsKey(a.id, 'categoryScores')); localStorage.removeItem(_lsKey(a.id, 'notes')); }); localStorage.removeItem('tc_assess_userInfo'); renderHub(); } // ===== INIT ON TAB SWITCH ===== // We hook into switchTab to render the hub when assessments tab is shown var _origSwitch2 = window.switchTab; window.switchTab = function(tabId) { _origSwitch2(tabId); if (tabId === 'assessments') { renderHub(); } }; // Re-bind nav buttons document.querySelectorAll('#navTabs button').forEach(function(btn) { btn.onclick = function() { window.switchTab(this.getAttribute('data-tab')); }; }); // Public API return { renderHub: renderHub, startAssessment: startAssessment, saveUserInfo: saveUserInfo, selectRating: selectRating, saveNote: saveNote, prevCat: prevCat, nextCat: nextCat, backToHub: backToHub, showResults: showResults, showCombined: showCombined, downloadPDF: downloadPDF, printResults: printResults, resetAll: resetAll }; })(); // Initialize assessment hub on page load TCAssess.renderHub(); // ===== DOCUMENTS TAB FUNCTIONS ===== // Filter documents by category function filterDocs(category) { const allItems = document.querySelectorAll('.doc-item'); const allButtons = document.querySelectorAll('.doc-filter-btn'); // Update button states allButtons.forEach(function(btn) { if (btn.getAttribute('data-filter') === category) { btn.classList.add('active'); } else { btn.classList.remove('active'); } }); // Show/hide items allItems.forEach(function(item) { if (category === 'all' || item.getAttribute('data-category') === category) { item.classList.remove('hidden'); } else { item.classList.add('hidden'); } }); } // Search documents by text function searchDocs() { const searchInput = document.getElementById('docSearch'); const query = searchInput.value.toLowerCase(); const allItems = document.querySelectorAll('.doc-item'); allItems.forEach(function(item) { const title = item.querySelector('.rc-title').textContent.toLowerCase(); const desc = item.querySelector('.rc-desc').textContent.toLowerCase(); if (title.indexOf(query) !== -1 || desc.indexOf(query) !== -1) { item.classList.remove('hidden'); } else { item.classList.add('hidden'); } }); } // Toggle document category sections function toggleDocSection(sectionId) { const content = document.getElementById(sectionId); const icon = document.getElementById(sectionId + '-icon'); if (content.classList.contains('collapsed')) { content.classList.remove('collapsed'); icon.textContent = '▼'; } else { content.classList.add('collapsed'); icon.textContent = '▶'; } } // Toggle checklist item function toggleCheckItem(checklistId, itemIndex) { const key = 'tc_docs_checklist_' + checklistId; let state = localStorage.getItem(key); if (!state) { state = {}; } else { state = JSON.parse(state); } state[itemIndex] = !state[itemIndex]; localStorage.setItem(key, JSON.stringify(state)); // Update UI const checklist = document.querySelector('[data-checklist="' + checklistId + '"]'); if (checklist) { const items = checklist.querySelectorAll('li'); if (items[itemIndex]) { if (state[itemIndex]) { items[itemIndex].classList.add('checked'); items[itemIndex].querySelector('input').checked = true; } else { items[itemIndex].classList.remove('checked'); items[itemIndex].querySelector('input').checked = false; } } } } // Load checklist state from localStorage function loadChecklistState() { const allChecklists = document.querySelectorAll('.doc-checklist'); allChecklists.forEach(function(checklist) { const checklistId = checklist.getAttribute('data-checklist'); const key = 'tc_docs_checklist_' + checklistId; let state = localStorage.getItem(key); if (state) { state = JSON.parse(state); const items = checklist.querySelectorAll('li'); items.forEach(function(item, index) { if (state[index]) { item.classList.add('checked'); const checkbox = item.querySelector('input[type="checkbox"]'); if (checkbox) { checkbox.checked = true; } } }); } }); } // Load checklist states when page loads window.addEventListener('load', function() { loadChecklistState(); }); // ===== TRAINING PATH QUIZ SYSTEM ===== var trainingQuizData = { 'handbook': { sectionCount: 8, title: 'Employee Handbook', color: '#e74c3c', certificateName: 'Handbook Certified', sections: [ { name: 'Welcome & Employment Basics', questions: [ {q: 'What does "at-will employment" mean?', opts: ['You can only be fired for cause', 'Employment can end at any time by either party', 'You must give 2 weeks notice', 'Only the owner can quit'], ans: 1}, {q: 'Who should you contact with handbook questions?', opts: ['Ken Ogden', 'Your coworkers', 'Dana Nuesca', 'HR department'], ans: 2}, {q: 'The employee handbook is a binding contract.', opts: ['True', 'False'], ans: 1}, {q: 'Who can make promises about guaranteed employment?', opts: ['Any manager', 'Only the Owner, in writing', 'HR', 'Your supervisor'], ans: 1}, {q: 'Trade secrets and confidential info should be:', opts: ['Shared freely', 'Posted on social media', 'Treated with discretion, need-to-know basis', 'Discussed with customers'], ans: 2} ] }, { name: 'Hiring, Orientation & Training', questions: [ {q: 'How long is the introductory period?', opts: ['30 days', '60 days', '90 days', '6 months'], ans: 2}, {q: 'When must you complete Form I-9 Section 1?', opts: ['Within a week', 'First day of paid employment', 'Before your interview', 'Within 30 days'], ans: 1}, {q: 'Conflicts of interest must be disclosed to:', opts: ['Nobody', 'Your coworkers', 'Your Manager', 'Social media'], ans: 2}, {q: 'Does completing the introductory period guarantee continued employment?', opts: ['Yes', 'No'], ans: 1}, {q: 'If you need additional training, you should:', opts: ['Figure it out yourself', 'Consult your Manager', 'Ask a coworker', 'Google it'], ans: 1} ] }, { name: 'Wages, Time & Attendance', questions: [ {q: 'How many consecutive no-show days equals job abandonment?', opts: ['1', '2', '3', '5'], ans: 2}, {q: 'When must you record your time?', opts: ['Only at start and end of day', 'Before/after shifts and meal periods', 'Once a week', 'Only when reminded'], ans: 1}, {q: 'If you find a pay error, you should:', opts: ['Wait until next quarter', 'Ignore it', 'Post about it', 'Report it to your Manager immediately'], ans: 3}, {q: 'Direct deposit typically starts within how many days?', opts: ['7', '14', '30', '60'], ans: 2}, {q: 'The company can apply unused vacation to unauthorized absences.', opts: ['True', 'False'], ans: 0} ] }, { name: 'Performance & Conduct', questions: [ {q: 'If you have a workplace conflict, first go to:', opts: ['Social media', 'Your Manager', 'A lawyer', 'The newspaper'], ans: 1}, {q: 'Which is NOT a standards of conduct violation?', opts: ['Theft', 'Asking for a raise', 'Fighting on premises', 'Insubordination'], ans: 1}, {q: 'What is the preferred resignation notice?', opts: ['No notice needed', '1 day', '2 weeks', '1 month'], ans: 2}, {q: 'Outside employment is:', opts: ['Always prohibited', 'Allowed if it doesn\'t conflict', 'Only with written permission', 'Never discussed'], ans: 1}, {q: 'Pay raises are:', opts: ['Automatic annually', 'Based on performance and other factors', 'Given every 6 months', 'Only for managers'], ans: 1} ] }, { name: 'Workplace Policies', questions: [ {q: 'Personal cell phone use at work should:', opts: ['Be unlimited', 'Not interfere with work duties', 'Only happen on breaks', 'Never happen'], ans: 1}, {q: 'On social media, you should NOT:', opts: ['Have personal accounts', 'Speak on behalf of the company without authorization', 'Use social media at all', 'Follow coworkers'], ans: 1}, {q: 'Company technology usage has:', opts: ['Complete privacy', 'No expectation of privacy; company can monitor', 'Privacy after 5pm', 'Privacy for personal use'], ans: 1}, {q: 'GPS monitoring in company vehicles is used for:', opts: ['Spying on employees', 'Safety, routing, and compliance', 'Tracking personal time', 'Entertainment'], ans: 1}, {q: 'If using a personal vehicle for work, you must:', opts: ['Nothing special', 'Maintain valid license and insurance', 'Get a new car', 'Only drive on weekends'], ans: 1} ] }, { name: 'Benefits', questions: [ {q: 'Bereavement leave in California is up to:', opts: ['1 day', '3 days', '5 days', '10 days'], ans: 2}, {q: 'In California, unused vacation:', opts: ['Expires at year end', 'Is use-it-or-lose-it', 'Does not expire (no use-it-or-lose-it)', 'Converts to sick time'], ans: 2}, {q: 'Work injuries should be reported:', opts: ['Within 30 days', 'Immediately', 'Only if serious', 'At your annual review'], ans: 1}, {q: 'The EAP provides:', opts: ['Extra vacation', 'Confidential counseling and support', 'Free lunches', 'Gym memberships'], ans: 1}, {q: 'Paid sick leave in California is:', opts: ['Optional', 'Only for full-time', 'Provided by law', 'Not available'], ans: 2} ] }, { name: 'Safety', questions: [ {q: 'The drug and alcohol policy is:', opts: ['Flexible', 'Zero tolerance', 'Only applies to drivers', 'Not enforced'], ans: 1}, {q: 'Safety hazards should be:', opts: ['Ignored if minor', 'Fixed by you personally', 'Reported immediately', 'Posted on social media'], ans: 2}, {q: 'Workplace violence policy means:', opts: ['Report threats eventually', 'Zero tolerance, report immediately', 'Handle it yourself', 'Only physical violence counts'], ans: 1}, {q: 'California heat illness prevention requires:', opts: ['Nothing special', 'Water, shade, and rest breaks', 'Air conditioning everywhere', 'Shorter work days'], ans: 1}, {q: 'Smoking indoors is:', opts: ['Allowed in break rooms', 'Allowed in offices', 'Prohibited per CA law', 'Up to your manager'], ans: 2} ] }, { name: 'Customer Relations & Confidentiality', questions: [ {q: 'Confidentiality obligations:', opts: ['End when you leave', 'Continue after employment ends', 'Only apply to managers', 'Are optional'], ans: 1}, {q: 'Customer interactions should be:', opts: ['Minimal', 'Courteous, professional, and helpful', 'Only when required', 'Handled by managers only'], ans: 1}, {q: 'Trade secrets should:', opts: ['Never be disclosed without authorization', 'Be shared with friends', 'Be posted online after you leave', 'Be memorized and forgotten'], ans: 0}, {q: 'You should know the company\'s products and services:', opts: ['Only your department', 'Thoroughly', 'Only if asked', 'It doesn\'t matter'], ans: 1}, {q: 'Representing the company means:', opts: ['Always positive and professional', 'Sharing personal opinions freely', 'Only during work hours', 'Only to customers'], ans: 0} ] } ] }, 'driving': { sectionCount: 4, title: 'Safe Driving', color: '#f39c12', certificateName: 'Safe Driving Certified', sections: [ { name: 'Distracted Driving', questions: [ {q: 'Which is PERMITTED while driving?', opts: ['Holding phone on speaker', 'Reading a text quickly', 'Bluetooth earpiece hands-free', 'Manual GPS entry'], ans: 2}, {q: 'First offense fine for handheld device use is:', opts: ['$50', '$162', '$285', '$500'], ans: 1}, {q: 'Before driving, you should:', opts: ['Set navigation while moving', 'Set navigation before departing', 'Skip navigation', 'Have a passenger navigate always'], ans: 1}, {q: 'If you get an urgent call while driving:', opts: ['Answer quickly', 'Read the text first', 'Find a safe location to stop, then answer', 'Ignore it forever'], ans: 2}, {q: 'Do Not Disturb While Driving mode is:', opts: ['Not recommended', 'A recommended safe practice', 'Required by law', 'Only for managers'], ans: 1} ] }, { name: 'Impaired Driving & Prohibited Behaviors', questions: [ {q: 'The impaired driving policy is:', opts: ['Somewhat flexible', 'Zero tolerance', 'Only for alcohol', 'Only on highways'], ans: 1}, {q: 'Off-duty marijuana use and then driving for work is:', opts: ['Allowed in CA', 'Strictly prohibited', 'A gray area', 'Manager\'s discretion'], ans: 1}, {q: 'If medication may impair driving, you must:', opts: ['Stop taking it', 'Notify your supervisor', 'Drive anyway', 'Call in sick every day'], ans: 1}, {q: 'If too tired to drive safely:', opts: ['Drink coffee and push through', 'Contact your supervisor immediately', 'Drive slowly', 'Open windows and continue'], ans: 1}, {q: 'Seatbelts are required for:', opts: ['Driver only', 'Passengers only', 'Driver and all passengers', 'Only on highways'], ans: 2} ] }, { name: 'Reporting & Vehicle Care', questions: [ {q: 'After any accident, notify your supervisor by:', opts: ['Next week', 'Within 30 days', 'End of that business day', 'Only if it\'s your fault'], ans: 2}, {q: 'At an accident scene, you should NOT:', opts: ['Call 911', 'Exchange information', 'Admit fault', 'Get a police report'], ans: 2}, {q: 'Traffic citations must be reported within:', opts: ['24 hours', '5 business days', '30 days', 'Never'], ans: 1}, {q: 'Personal vehicle insurance on company business:', opts: ['Is covered by the company', 'Your personal insurance is primary', 'Is not needed', 'Only liability'], ans: 1}, {q: 'Company vehicles should be:', opts: ['Used for personal errands', 'Kept clean and report issues immediately', 'Decorated personally', 'Shared with family'], ans: 1} ] }, { name: 'Consequences & Compliance', questions: [ {q: 'First offense handheld device use results in:', opts: ['Termination', 'Written warning and retraining', 'Nothing', 'A fine only'], ans: 1}, {q: 'A DUI conviction (even off-duty) can result in:', opts: ['Nothing work-related', 'Termination if driving is core job function', 'A small fine', 'Extra training only'], ans: 1}, {q: 'Repeat handheld device violations may lead to:', opts: ['Another warning', 'Suspension of driving privileges and/or termination', 'A lecture', 'Community service'], ans: 1}, {q: 'Impaired driving on any offense results in:', opts: ['A warning', 'Retraining', 'Immediate removal from driving, likely termination', 'Transfer to office'], ans: 2}, {q: 'The signed acknowledgment goes to:', opts: ['Your file only', 'Dana Nuesca', 'The state', 'Your doctor'], ans: 1} ] } ] }, 'installer-cert': { sectionCount: 3, title: 'Installer Certification', color: '#27ae60', certificateName: 'Certified Installer', sections: [ { name: 'Tier 1: Foundation Installer', questions: [ {q: 'Measuring tape precision for installers is:', opts: ['1/16 inch', '1/32 inch', '1/8 inch', '1/4 inch'], ans: 1}, {q: 'After receiving a shipment, you should:', opts: ['Start installing immediately', 'Verify materials and check for damage', 'Leave it for tomorrow', 'Only count boxes'], ans: 1}, {q: 'Before anchoring a closet frame, you must:', opts: ['Just screw it in', 'Locate studs first', 'Ask the customer', 'Wait for inspection'], ans: 1}, {q: 'Material stickers contain:', opts: ['Only the job name', 'Job name, dimensions, and part code', 'Just the color', 'Nothing important'], ans: 1}, {q: 'A good Tier 1 installer attitude includes:', opts: ['Working silently alone', 'Initiative and asking questions', 'Avoiding senior installers', 'Only doing what you\'re told'], ans: 1} ] }, { name: 'Tier 2: Proficient Installer', questions: [ {q: 'Which new power tool is introduced at Tier 2?', opts: ['Miter saw', 'Table saw', 'Drill', 'Screwdriver'], ans: 1}, {q: 'Installing drawer slides without drawers present requires:', opts: ['Guessing the position', 'Measuring and installing to spec', 'Waiting for drawers', 'Skipping this step'], ans: 1}, {q: 'Types of drywall anchors include:', opts: ['Only nails', 'Screw-in, toggle, and butterfly', 'Just tape', 'Wood screws only'], ans: 1}, {q: 'When leveling doors, you are ensuring:', opts: ['They look nice', 'Proper gaps and reveals', 'They are heavy', 'Customer happiness only'], ans: 1}, {q: 'Table saw rip cuts can be:', opts: ['Only straight', 'Straight and angled', 'Only curved', 'Not done by Tier 2'], ans: 1} ] }, { name: 'Tier 3: Lead Installer', questions: [ {q: 'At Tier 3, you can wire:', opts: ['Nothing', 'Basic lights only', 'All lighting and electrical systems', 'Only outlets'], ans: 2}, {q: 'Cabinet modifications involve:', opts: ['Replacing the whole cabinet', 'Disassemble, cut, and reassemble', 'Sending it back', 'Ignoring the issue'], ans: 1}, {q: 'Murphy Beds are installed at which tier?', opts: ['Tier 1', 'Tier 2', 'Tier 3', 'Not part of certification'], ans: 2}, {q: 'When encountering obstructions on site, a Lead Installer should:', opts: ['Call the office immediately', 'Observe and solve problems proactively', 'Leave the job', 'Blame the customer'], ans: 1}, {q: 'Customer communication at Tier 3 should be:', opts: ['Avoided', 'Clear and polite', 'Only through the manager', 'Minimal'], ans: 1} ] } ] } }; function initializeTrainingPath(pathId) { var data = trainingQuizData[pathId]; if (!data) return; var progressKey = 'tc_training_' + pathId + '_progress'; var progress = localStorage.getItem(progressKey); if (!progress) { progress = {}; for (var i = 1; i <= data.sectionCount; i++) { progress[i] = {completed: false, passed: false}; } localStorage.setItem(progressKey, JSON.stringify(progress)); } else { progress = JSON.parse(progress); } updateTrainingProgress(pathId, progress); } function updateTrainingProgress(pathId, progress) { var data = trainingQuizData[pathId]; var summaryEl = document.getElementById(pathId + '-progress-summary'); var completed = 0; for (var i = 1; i <= data.sectionCount; i++) { if (progress[i] && progress[i].passed) completed++; var sectionEl = document.getElementById(pathId + '-section-' + i); if (sectionEl) { if (i === 1 || (progress[i-1] && progress[i-1].passed)) { sectionEl.style.display = 'block'; } else { sectionEl.style.display = 'none'; } if (progress[i] && progress[i].passed) { var checkmark = sectionEl.querySelector('.section-checkmark'); if (!checkmark) { checkmark = document.createElement('span'); checkmark.className = 'section-checkmark'; checkmark.style.cssText = 'color:#2ecc71;font-weight:700;margin-left:12px;'; checkmark.textContent = ' COMPLETED'; sectionEl.querySelector('h4').appendChild(checkmark); } } } } if (summaryEl) { summaryEl.innerHTML = '
Progress: ' + completed + ' of ' + data.sectionCount + ' sections completed
'; } if (completed === data.sectionCount) { var banner = document.getElementById(pathId + '-completion-banner'); if (banner) banner.style.display = 'block'; } } function startQuiz(pathId, sectionNum) { var data = trainingQuizData[pathId]; var section = data.sections[sectionNum - 1]; var container = document.getElementById(pathId + '-quiz-container'); container.style.display = 'block'; container.scrollIntoView({behavior: 'smooth'}); var html = '
'; html += '

Quiz: ' + section.name + '

'; html += '

Pass with 80% or higher (4 out of 5 questions)

'; section.questions.forEach(function(qData, idx) { html += '
'; html += '

Question ' + (idx + 1) + ': ' + qData.q + '

'; qData.opts.forEach(function(opt, optIdx) { html += ''; }); html += '
'; }); html += ''; html += ''; html += '
'; container.innerHTML = html; } function submitQuiz(pathId, sectionNum) { var data = trainingQuizData[pathId]; var section = data.sections[sectionNum - 1]; var container = document.getElementById(pathId + '-quiz-container'); var score = 0; var allAnswered = true; section.questions.forEach(function(qData, idx) { var selected = document.querySelector('input[name="q' + idx + '"]:checked'); if (!selected) { allAnswered = false; } else if (parseInt(selected.value) === qData.ans) { score++; } }); if (!allAnswered) { alert('Please answer all questions before submitting.'); return; } var passed = score >= 4; var progressKey = 'tc_training_' + pathId + '_progress'; var progress = JSON.parse(localStorage.getItem(progressKey)); progress[sectionNum].completed = true; progress[sectionNum].passed = passed; localStorage.setItem(progressKey, JSON.stringify(progress)); var resultHtml = '
'; resultHtml += '

' + (passed ? 'PASSED!' : 'Not Quite') + '

'; resultHtml += '

Score: ' + score + ' / 5 (' + (score * 20) + '%)

'; if (passed) { resultHtml += '

Great work! You can now proceed to the next section.

'; resultHtml += ''; } else { resultHtml += '

You need 80% to pass. Review the material and try again.

'; resultHtml += ''; resultHtml += ''; } resultHtml += '
'; container.innerHTML = resultHtml; updateTrainingProgress(pathId, progress); } function cancelQuiz(pathId) { var container = document.getElementById(pathId + '-quiz-container'); container.style.display = 'none'; container.innerHTML = ''; } function continueTraining(pathId) { cancelQuiz(pathId); var progressKey = 'tc_training_' + pathId + '_progress'; var progress = JSON.parse(localStorage.getItem(progressKey)); updateTrainingProgress(pathId, progress); document.querySelector('#learning h2').scrollIntoView({behavior: 'smooth'}); } function generateCertificate(pathId) { var data = trainingQuizData[pathId]; var now = new Date(); var dateStr = now.toLocaleDateString('en-US', {year: 'numeric', month: 'long', day: 'numeric'}); var certHtml = '' + data.title + ' Certificate'; certHtml += '
'; certHtml += '
'; certHtml += '

Certificate of Completion

'; certHtml += '
This certifies that
'; certHtml += '
[Employee Name]
'; certHtml += '
has successfully completed
'; certHtml += '
' + data.title + ' Training
'; certHtml += '
and is hereby designated as
'; certHtml += '
' + data.certificateName + '
'; certHtml += '
Completed on ' + dateStr + '
'; certHtml += '
Tailored Closet + Home Storage
'; certHtml += '
'; var win = window.open('', '_blank'); win.document.write(certHtml); win.document.close(); win.print(); } // ===== QBR FUNCTIONS ===== var qbrData = {}; var currentQBRQuarter = ''; var qbrAutoSaveTimeout = null; function initQBR() { // Load QBR data from localStorage var stored = localStorage.getItem('tc_qbr_data'); if (stored) { qbrData = JSON.parse(stored); } else { // Create demo data: Q1 2026 (completed) and Q2 2026 (draft) qbrData = { 'Q1-2026': createDemoQ1(), 'Q2-2026': createDraftQ2() }; localStorage.setItem('tc_qbr_data', JSON.stringify(qbrData)); } populateQuarterDropdown(); renderQBRHistory(); } function createDemoQ1() { return { status: 'completed', header: { client: 'The Tailored Closet', quarter: 'Q1 2026 Review | Q2 2026 Planning', date: '2026-04-08', attendees: 'Dana Nuesca, Kalani Nuesca, Cassidy Thompson, Travis Catania' }, opening: { purpose: 'Review Q1 performance honestly, celebrate wins, confront problems, and set Q2 priorities.', customRule: '' }, scorecard: [ {kpi: 'Contracts Signed (Q1)', actual: '$502,798', target: '$487,500', status: 'ON TARGET'}, {kpi: 'Revenue Installed (Q1)', actual: '$386,037', target: '$487,500', status: 'BELOW'}, {kpi: 'Weekly Installed Avg', actual: '$29,716/wk', target: '$37,500/wk', status: 'BELOW'}, {kpi: 'Gross Profit %', actual: '41.5% → 60.1%', target: '>50%', status: 'IMPROVING'}, {kpi: 'Go-Back Rate', actual: '55% → 11%', target: '<15%', status: 'IMPROVING'} ], scorecardDiscussion: 'Go-back rate improvement was the biggest win. Revenue installed is below target — capacity bottleneck needs immediate attention.', deepDive1: { title: 'Sales Deep Dive — Pipeline & Designers', lead: 'Dana leads this section', subtopics: [ {title: 'Sales Pipeline by Month', bullets: ['Jan: $221K', 'Feb: $181K', 'Mar: $99K'], discussion: 'March dropped sharply. Need to investigate lead sources.'}, {title: 'Designer Performance', bullets: ['Tina: Strong', 'Dana: Strong', 'Heather: Developing', 'Nick: Onboarding'], discussion: 'Nick needs more support in first 90 days.'}, {title: 'Lead Source Analysis', bullets: ['55% untracked', 'Paid ads: negative ROI', 'Designer referrals: best source'], discussion: 'Must implement lead source tracking immediately.'} ] }, deepDive2: { title: 'Installation & Go-Backs — The Bottleneck', lead: 'Cassidy leads this section', subtopics: [ {title: 'Installation Output', bullets: ['Current: $29K/week', 'Target: $37.5K/week', 'Gap: 21%'], discussion: 'Labor cost investigation and crew efficiency are priorities.'}, {title: 'Go-Back Analysis', bullets: ['Q1 start: 55%', 'Q1 end: 11%', 'Root cause: quality control'], discussion: 'Massive improvement. Material protection and installer training working.'}, {title: 'Go-Back → Capacity Connection', bullets: ['Fewer go-backs = more capacity', 'Could add $8K/week'], discussion: 'If we hold <15%, we gain significant capacity without adding crew.'} ] }, leadership: { lanes: [ {person: 'Dana', lane: 'Sales & Design', discussion: 'Strong performance. Lead source tracking is priority.'}, {person: 'Cassidy', lane: 'Installation Quality', discussion: 'Go-back reduction was exceptional. Continue focus on quality.'}, {person: 'Kalani', lane: 'Operations & Scheduling', discussion: 'Capacity planning and labor cost analysis needed.'} ], teamDevDiscussion: 'Check-ins happening weekly. No major difficult conversations this quarter. Team knows their numbers.', specialConsiderations: 'Marriage + Business (Dana & Kalani) — Boundary holding well.' }, planning: { leaderPriorities: [ {leader: 'Dana', priorities: [ {priority: 'Lead Source Tracking', target: '100% by end Q2', measure: 'Every lead tagged in ServiceMinder'}, {priority: 'Designer Referral Expansion', target: '5 new designer partnerships', measure: 'Active referrals per month'}, {priority: 'Cut Paid Spend', target: '$0 by May 1', measure: 'Monthly ad spend'} ]}, {leader: 'Cassidy', priorities: [ {priority: 'Go-Back Rate <20%', target: 'Hold <20% all quarter', measure: 'Weekly go-back tracking'}, {priority: 'Material Protection Protocol', target: 'Zero damage claims', measure: 'Customer feedback'}, {priority: 'Installer Training', target: 'All crew Level 2 certified', measure: 'Certification completion'} ]}, {leader: 'Kalani', priorities: [ {priority: 'Labor Cost Investigation', target: 'Report by April 30', measure: 'Cost per job analysis complete'}, {priority: 'Capacity Optimization', target: 'Hit $37.5K/week', measure: 'Weekly installed revenue'}, {priority: 'Scheduling Efficiency', target: 'Reduce downtime 20%', measure: 'Crew utilization %'} ]} ], sharedTargets: [ {kpi: 'Weekly Installed Revenue', target: '>$37,500', owner: 'All Three'}, {kpi: 'Go-Back Rate', target: '<20%', owner: 'Cassidy'}, {kpi: 'Monthly Sales', target: '>$150,000', owner: 'Dana'}, {kpi: 'Lead Source Tracking', target: '100%', owner: 'Kalani/Erika'}, {kpi: 'Gross Profit %', target: '>55%', owner: 'All Three'} ] }, commitments: [ {name: 'Dana', commitment: 'Lead source tracking live by April 15. Cut all paid ads by May 1.'}, {name: 'Cassidy', commitment: 'Material protection checklist on every job. Weekly go-back review.'}, {name: 'Kalani', commitment: 'Labor cost report complete by April 30. Weekly capacity review.'}, {name: 'Travis', commitment: 'Monthly check-ins. Q2 strategy workshop scheduled for April 20.'} ], nextMeeting: { nextQBR: '2026-07-08', checkIn1: '2026-05-10', checkIn2: '2026-06-10', checkIn3: '2026-07-10' } }; } function createDraftQ2() { return { status: 'draft', header: { client: 'The Tailored Closet', quarter: 'Q2 2026 Review | Q3 2026 Planning', date: '', attendees: 'Dana Nuesca, Kalani Nuesca, Cassidy Thompson, Travis Catania' }, opening: { purpose: 'Review Q2 performance honestly, celebrate wins, confront problems, and set Q3 priorities.', customRule: '' }, scorecard: [], scorecardDiscussion: '', deepDive1: { title: '', lead: '', subtopics: [] }, deepDive2: { title: '', lead: '', subtopics: [] }, leadership: { lanes: [], teamDevDiscussion: '', specialConsiderations: '' }, planning: { leaderPriorities: [], sharedTargets: [] }, commitments: [], priorCommitments: [ {name: 'Dana', commitment: 'Lead source tracking live by April 15. Cut all paid ads by May 1.', delivered: ''}, {name: 'Cassidy', commitment: 'Material protection checklist on every job. Weekly go-back review.', delivered: ''}, {name: 'Kalani', commitment: 'Labor cost report complete by April 30. Weekly capacity review.', delivered: ''}, {name: 'Travis', commitment: 'Monthly check-ins. Q2 strategy workshop scheduled for April 20.', delivered: ''} ], nextMeeting: { nextQBR: '', checkIn1: '', checkIn2: '', checkIn3: '' } }; } function populateQuarterDropdown() { var select = document.getElementById('qbrQuarterSelect'); select.innerHTML = ''; var quarters = Object.keys(qbrData).sort().reverse(); quarters.forEach(function(q) { var option = document.createElement('option'); option.value = q; option.textContent = q.replace('-', ' ') + ' (' + qbrData[q].status + ')'; select.appendChild(option); }); } function renderQBRHistory() { var container = document.getElementById('qbrHistory'); var html = '

Saved QBRs

'; html += '
'; var quarters = Object.keys(qbrData).sort().reverse(); quarters.forEach(function(q) { var qbr = qbrData[q]; var statusColor = qbr.status === 'completed' ? '#27ae60' : (qbr.status === 'in-progress' ? '#f39c12' : '#95a5a6'); html += '
'; html += '
' + q.replace('-', ' ') + '
'; html += '
' + (qbr.header.date || 'No date set') + '
'; html += '
' + qbr.status + '
'; html += '
'; }); html += '
'; container.innerHTML = html; } function loadQBR(quarter) { if (!qbrData[quarter]) { alert('QBR not found'); return; } currentQBRQuarter = quarter; var qbr = qbrData[quarter]; // Update dropdown document.getElementById('qbrQuarterSelect').value = quarter; // Update status var statusEl = document.getElementById('qbrStatus'); var statusColor = qbr.status === 'completed' ? '#27ae60' : (qbr.status === 'in-progress' ? '#f39c12' : '#95a5a6'); statusEl.innerHTML = '' + qbr.status + ' Viewing: ' + quarter.replace('-', ' ') + ''; // Show form document.getElementById('qbrForm').style.display = 'block'; // Load header document.getElementById('qbrClient').value = qbr.header.client; document.getElementById('qbrQuarter').value = qbr.header.quarter; document.getElementById('qbrDate').value = qbr.header.date; document.getElementById('qbrAttendees').value = qbr.header.attendees; // Load opening document.getElementById('qbrPurpose').value = qbr.opening.purpose; document.getElementById('qbrCustomRule').value = qbr.opening.customRule || ''; // Load scorecard renderKPIList(qbr.scorecard); document.getElementById('qbrScorecardDiscussion').value = qbr.scorecardDiscussion || ''; // Load deep dives document.getElementById('qbrDeepDive1Title').value = qbr.deepDive1.title; document.getElementById('qbrDeepDive1Lead').value = qbr.deepDive1.lead; renderDeepDiveSubtopics(1, qbr.deepDive1.subtopics); document.getElementById('qbrDeepDive2Title').value = qbr.deepDive2.title; document.getElementById('qbrDeepDive2Lead').value = qbr.deepDive2.lead; renderDeepDiveSubtopics(2, qbr.deepDive2.subtopics); // Load leadership renderLaneOwnership(qbr.leadership.lanes); document.getElementById('qbrTeamDevDiscussion').value = qbr.leadership.teamDevDiscussion || ''; document.getElementById('qbrSpecialConsiderations').value = qbr.leadership.specialConsiderations || ''; // Load planning renderLeaderPriorities(qbr.planning.leaderPriorities); renderSharedTargets(qbr.planning.sharedTargets); // Load commitments renderCommitments(qbr.commitments); document.getElementById('qbrNextQBRDate').value = qbr.nextMeeting.nextQBR || ''; document.getElementById('qbrCheckIn1').value = qbr.nextMeeting.checkIn1 || ''; document.getElementById('qbrCheckIn2').value = qbr.nextMeeting.checkIn2 || ''; document.getElementById('qbrCheckIn3').value = qbr.nextMeeting.checkIn3 || ''; // Scroll to form document.getElementById('qbrForm').scrollIntoView({behavior: 'smooth'}); } function createNewQBR() { var quarter = prompt('Enter quarter (e.g., Q3-2026):'); if (!quarter) return; if (qbrData[quarter]) { alert('This quarter already exists. Please select it from the dropdown.'); return; } qbrData[quarter] = { status: 'draft', header: { client: 'The Tailored Closet', quarter: '', date: '', attendees: 'Dana Nuesca, Kalani Nuesca, Cassidy Thompson, Travis Catania' }, opening: { purpose: '', customRule: '' }, scorecard: [], scorecardDiscussion: '', deepDive1: {title: '', lead: '', subtopics: []}, deepDive2: {title: '', lead: '', subtopics: []}, leadership: {lanes: [], teamDevDiscussion: '', specialConsiderations: ''}, planning: {leaderPriorities: [], sharedTargets: []}, commitments: [], nextMeeting: {nextQBR: '', checkIn1: '', checkIn2: '', checkIn3: ''} }; localStorage.setItem('tc_qbr_data', JSON.stringify(qbrData)); populateQuarterDropdown(); renderQBRHistory(); loadQBR(quarter); } function saveQBR() { if (!currentQBRQuarter) { alert('Please select or create a quarter first'); return; } var qbr = qbrData[currentQBRQuarter]; // Save header qbr.header.client = document.getElementById('qbrClient').value; qbr.header.quarter = document.getElementById('qbrQuarter').value; qbr.header.date = document.getElementById('qbrDate').value; qbr.header.attendees = document.getElementById('qbrAttendees').value; // Save opening qbr.opening.purpose = document.getElementById('qbrPurpose').value; qbr.opening.customRule = document.getElementById('qbrCustomRule').value; // Save scorecard qbr.scorecard = collectKPIData(); qbr.scorecardDiscussion = document.getElementById('qbrScorecardDiscussion').value; // Save deep dives qbr.deepDive1.title = document.getElementById('qbrDeepDive1Title').value; qbr.deepDive1.lead = document.getElementById('qbrDeepDive1Lead').value; qbr.deepDive1.subtopics = collectDeepDiveSubtopics(1); qbr.deepDive2.title = document.getElementById('qbrDeepDive2Title').value; qbr.deepDive2.lead = document.getElementById('qbrDeepDive2Lead').value; qbr.deepDive2.subtopics = collectDeepDiveSubtopics(2); // Save leadership qbr.leadership.lanes = collectLaneOwnership(); qbr.leadership.teamDevDiscussion = document.getElementById('qbrTeamDevDiscussion').value; qbr.leadership.specialConsiderations = document.getElementById('qbrSpecialConsiderations').value; // Save planning qbr.planning.leaderPriorities = collectLeaderPriorities(); qbr.planning.sharedTargets = collectSharedTargets(); // Save commitments qbr.commitments = collectCommitments(); qbr.nextMeeting.nextQBR = document.getElementById('qbrNextQBRDate').value; qbr.nextMeeting.checkIn1 = document.getElementById('qbrCheckIn1').value; qbr.nextMeeting.checkIn2 = document.getElementById('qbrCheckIn2').value; qbr.nextMeeting.checkIn3 = document.getElementById('qbrCheckIn3').value; localStorage.setItem('tc_qbr_data', JSON.stringify(qbrData)); renderQBRHistory(); alert('QBR saved successfully!'); } function autoSaveQBR() { if (qbrAutoSaveTimeout) clearTimeout(qbrAutoSaveTimeout); qbrAutoSaveTimeout = setTimeout(function() { if (currentQBRQuarter) saveQBR(); }, 2000); } function printQBR() { window.print(); } function markQBRComplete() { if (!currentQBRQuarter) { alert('Please select a quarter first'); return; } if (confirm('Mark this QBR as complete?')) { qbrData[currentQBRQuarter].status = 'completed'; localStorage.setItem('tc_qbr_data', JSON.stringify(qbrData)); loadQBR(currentQBRQuarter); renderQBRHistory(); } } // KPI Functions function renderKPIList(kpis) { var container = document.getElementById('qbrKPIList'); var html = ''; kpis.forEach(function(kpi, index) { var statusColor = kpi.status === 'ON TARGET' || kpi.status === 'ABOVE' || kpi.status === 'IMPROVING' ? '#27ae60' : '#c0392b'; html += '
'; html += '
'; html += ''; html += ''; html += ''; html += ''; html += ''; html += '
'; }); container.innerHTML = html; } function addQBRKPI() { var qbr = qbrData[currentQBRQuarter]; qbr.scorecard.push({kpi: '', actual: '', target: '', status: 'ON TARGET'}); renderKPIList(qbr.scorecard); } function removeKPI(index) { var qbr = qbrData[currentQBRQuarter]; qbr.scorecard.splice(index, 1); renderKPIList(qbr.scorecard); } function collectKPIData() { var kpis = []; var container = document.getElementById('qbrKPIList'); var items = container.querySelectorAll('.kpi-name'); items.forEach(function(nameInput, index) { var div = nameInput.closest('div').parentElement; kpis.push({ kpi: div.querySelector('.kpi-name').value, actual: div.querySelector('.kpi-actual').value, target: div.querySelector('.kpi-target').value, status: div.querySelector('.kpi-status').value }); }); return kpis; } // Deep Dive Functions function renderDeepDiveSubtopics(section, subtopics) { var container = document.getElementById('qbrDeepDive' + section + 'Subtopics'); var html = ''; subtopics.forEach(function(st, index) { html += '
'; html += '
'; html += ''; html += '
'; html += '
'; html += ''; html += '
'; st.bullets.forEach(function(bullet, bidx) { html += '
'; html += ''; html += ''; html += '
'; }); html += '
'; html += ''; html += '
'; html += '
'; html += ''; html += ''; html += '
'; html += ''; html += '
'; }); container.innerHTML = html; } function addDeepDiveSubtopic(section) { var qbr = qbrData[currentQBRQuarter]; var dd = section === 1 ? qbr.deepDive1 : qbr.deepDive2; dd.subtopics.push({title: '', bullets: [''], discussion: ''}); renderDeepDiveSubtopics(section, dd.subtopics); } function removeSubtopic(section, index) { var qbr = qbrData[currentQBRQuarter]; var dd = section === 1 ? qbr.deepDive1 : qbr.deepDive2; dd.subtopics.splice(index, 1); renderDeepDiveSubtopics(section, dd.subtopics); } function addDDBullet(btn) { var container = btn.previousElementSibling; var html = '
'; html += ''; html += ''; html += '
'; container.insertAdjacentHTML('beforeend', html); } function removeDDBullet(btn) { btn.parentElement.remove(); } function collectDeepDiveSubtopics(section) { var container = document.getElementById('qbrDeepDive' + section + 'Subtopics'); var subtopics = []; container.querySelectorAll('.dd-subtopic-title').forEach(function(titleInput) { var div = titleInput.closest('div').parentElement; var bullets = []; div.querySelectorAll('.dd-bullet').forEach(function(b) { if (b.value.trim()) bullets.push(b.value.trim()); }); subtopics.push({ title: titleInput.value, bullets: bullets, discussion: div.querySelector('.dd-discussion').value }); }); return subtopics; } // Lane Ownership Functions function renderLaneOwnership(lanes) { var container = document.getElementById('qbrLaneOwnership'); var html = ''; lanes.forEach(function(lane, index) { html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += '
'; html += ''; html += '
'; }); container.innerHTML = html; } function addLaneOwner() { var qbr = qbrData[currentQBRQuarter]; qbr.leadership.lanes.push({person: '', lane: '', discussion: ''}); renderLaneOwnership(qbr.leadership.lanes); } function removeLane(index) { var qbr = qbrData[currentQBRQuarter]; qbr.leadership.lanes.splice(index, 1); renderLaneOwnership(qbr.leadership.lanes); } function collectLaneOwnership() { var container = document.getElementById('qbrLaneOwnership'); var lanes = []; container.querySelectorAll('.lane-person').forEach(function(personInput) { var div = personInput.closest('div').parentElement.parentElement; lanes.push({ person: div.querySelector('.lane-person').value, lane: div.querySelector('.lane-name').value, discussion: div.querySelector('.lane-discussion').value }); }); return lanes; } // Leader Priorities Functions function renderLeaderPriorities(leaders) { var container = document.getElementById('qbrLeaderPriorities'); var html = ''; leaders.forEach(function(leader, lidx) { html += '
'; html += '
'; html += ''; leader.priorities.forEach(function(pri, pidx) { html += ''; html += ''; html += ''; html += ''; }); html += '
PriorityTargetHow We\'ll Measure
'; html += ''; html += ''; html += '
'; }); container.innerHTML = html; } function addLeaderPriority() { var qbr = qbrData[currentQBRQuarter]; qbr.planning.leaderPriorities.push({leader: '', priorities: [{priority: '', target: '', measure: ''}]}); renderLeaderPriorities(qbr.planning.leaderPriorities); } function removeLeader(index) { var qbr = qbrData[currentQBRQuarter]; qbr.planning.leaderPriorities.splice(index, 1); renderLeaderPriorities(qbr.planning.leaderPriorities); } function addPriority(btn) { var tbody = btn.previousElementSibling.querySelector('tbody'); var html = ''; html += ''; html += ''; html += ''; tbody.insertAdjacentHTML('beforeend', html); } function removePriority(btn) { btn.closest('tr').remove(); } function collectLeaderPriorities() { var container = document.getElementById('qbrLeaderPriorities'); var leaders = []; container.querySelectorAll('.leader-name').forEach(function(leaderInput) { var div = leaderInput.closest('div').parentElement; var priorities = []; div.querySelectorAll('.priority-rows tr').forEach(function(row) { priorities.push({ priority: row.querySelector('.pri-priority').value, target: row.querySelector('.pri-target').value, measure: row.querySelector('.pri-measure').value }); }); leaders.push({leader: leaderInput.value, priorities: priorities}); }); return leaders; } // Shared Targets Functions function renderSharedTargets(targets) { var container = document.getElementById('qbrSharedTargets'); var html = ''; targets.forEach(function(t, index) { html += ''; html += ''; html += ''; html += ''; }); html += '
KPIQuarter TargetOwner
'; container.innerHTML = html; } function addSharedTarget() { var qbr = qbrData[currentQBRQuarter]; qbr.planning.sharedTargets.push({kpi: '', target: '', owner: ''}); renderSharedTargets(qbr.planning.sharedTargets); } function removeSharedTarget(index) { var qbr = qbrData[currentQBRQuarter]; qbr.planning.sharedTargets.splice(index, 1); renderSharedTargets(qbr.planning.sharedTargets); } function collectSharedTargets() { var container = document.getElementById('qbrSharedTargets'); var targets = []; container.querySelectorAll('.st-kpi').forEach(function(kpiInput) { var row = kpiInput.closest('tr'); targets.push({ kpi: row.querySelector('.st-kpi').value, target: row.querySelector('.st-target').value, owner: row.querySelector('.st-owner').value }); }); return targets; } // Commitments Functions function renderCommitments(commitments) { var container = document.getElementById('qbrCommitments'); var html = ''; commitments.forEach(function(c, index) { html += '
'; html += '
'; html += '
'; html += ''; html += '
'; }); container.innerHTML = html; } function addCommitment() { var qbr = qbrData[currentQBRQuarter]; qbr.commitments.push({name: '', commitment: ''}); renderCommitments(qbr.commitments); } function removeCommitment(index) { var qbr = qbrData[currentQBRQuarter]; qbr.commitments.splice(index, 1); renderCommitments(qbr.commitments); } function collectCommitments() { var container = document.getElementById('qbrCommitments'); var commitments = []; container.querySelectorAll('.commit-name').forEach(function(nameInput) { var div = nameInput.closest('div').parentElement; commitments.push({ name: div.querySelector('.commit-name').value, commitment: div.querySelector('.commit-text').value }); }); return commitments; } // Initialize QBR on page load if (document.getElementById('qbr')) { initQBR(); }