# UI TEMPLATE STANDARDIZATION AND CLEANUP SOLUTION
**Solution Date:** 2025-09-08  
**Based on:** INVESTIGATION.md findings  
**Implementation Status:** Ready for execution  
**Estimated Timeline:** 1-2 days for cleanup + standardization  

---

## EXECUTIVE SOLUTION SUMMARY

**RateRight's UI template architecture is fundamentally sound but requires comprehensive cleanup and standardization.** The solution focuses on **removing orphaned files, consolidating CSS fixes, and establishing clear development standards** to prevent future fragmentation.

**APPROACH:** Cleanup and standardization rather than rebuilding - preserve the working template inheritance system while eliminating confusion from orphaned files and failed UI attempts.

---

## STANDARDIZATION DECISIONS

### **1. SINGLE BASE TEMPLATE STANDARDIZATION**

**DECISION:** Standardize on `app/templates/base.html` as the single base template

**RATIONALE:**
- Already used by ALL active templates (consistent inheritance)
- Large file size (21,253 bytes) indicates comprehensive functionality
- All routes successfully use this template
- Alternative `base_with_all_features.html` is unused and redundant

**ACTION:** Keep `base.html` as primary, delete alternative base templates

### **2. SHARED COMPONENTS PLACEMENT**

**CURRENT STRUCTURE (KEEP):**
```
app/templates/partials/
├── auth_nav.html      - Authentication navigation
├── public_nav.html    - Public navigation
```

**ENHANCED STRUCTURE (RECOMMEND):**
```
app/templates/partials/
├── navigation/
│   ├── auth_nav.html      - Authenticated user navigation
│   ├── public_nav.html    - Public/guest navigation  
│   └── mobile_nav.html    - Mobile navigation component
├── footer/
│   ├── main_footer.html   - Primary footer
│   └── legal_footer.html  - Legal pages footer
└── widgets/
    ├── notification_badge.html
    ├── user_dropdown.html
    └── time_summary.html (move from time_tracking/)
```

**INCLUSION PATTERN:**
```jinja2
{# In base.html #}
{% include 'partials/navigation/auth_nav.html' if current_user.is_authenticated else 'partials/navigation/public_nav.html' %}
{% include 'partials/footer/main_footer.html' %}
```

### **3. CSS TOKENS AND VARIABLES TO ENFORCE**

**PRIMARY VARIABLES (Required):**
```css
:root {
  /* Brand Colors */
  --rateright-primary: #007bff;
  --rateright-secondary: #6c757d;
  --rateright-success: #28a745;
  --rateright-warning: #ffc107;
  --rateright-danger: #dc3545;
  
  /* Navigation */
  --nav-height: 60px;
  --nav-background: var(--rateright-primary);
  --nav-text: #ffffff;
  --nav-hover: rgba(255, 255, 255, 0.1);
  
  /* Dropdowns */
  --dropdown-bg: #ffffff;
  --dropdown-border: #dee2e6;
  --dropdown-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --dropdown-z-index: 1050;
  
  /* Footer */
  --footer-bg: #343a40;
  --footer-text: #ffffff;
  --footer-link: #adb5bd;
  --footer-hover: #ffffff;
}
```

**CONSOLIDATION TARGET:** Merge these files into single variables system:
- `brand-color-standardization.css` → CSS variables
- `nav_color_override.css` → CSS variables  
- `exact_index_colors.css` → CSS variables

### **4. DATA CONTRACT PATTERN FOR TEMPLATES**

**BASE TEMPLATE REQUIREMENTS:**
```python
# Required context variables for base.html
{
    'current_user': User object or AnonymousUser,
    'page_title': str,           # Page-specific title
    'body_class': str,           # CSS class for body element  
    'show_footer': bool,         # Whether to show footer
    'active_nav': str,           # Active navigation item
    'breadcrumbs': list,         # Page breadcrumbs
    'notifications_count': int,   # Unread notifications
    'user_role': str             # 'contractor', 'worker', or None
}
```

**FEATURE TEMPLATE CONTRACTS:**
```python
# Dashboard templates require:
dashboard_context = {
    'posted_jobs': list,         # For contractor
    'applications': list,        # User applications  
    'contracts': list,           # Active contracts
    'recent_activity': list,     # Recent platform activity
    'statistics': dict           # Role-specific stats
}

# Contract templates require:
contract_context = {
    'contract': Contract object,
    'time_entries': list,        # If time tracking page
    'can_edit': bool,           # Edit permissions
    'status_options': list      # Available status changes
}

# Job templates require:
job_context = {
    'job': Job object,          # If job detail page
    'categories': list,         # If job posting/editing
    'user_applied': bool,       # If detail page
    'applications_count': int    # For job owner
}
```

---

## DELETION PLAN - ORPHANED TEMPLATES

### **PHASE 1: BACKUP FILES DELETION (SAFE)**
**Priority:** HIGH - No functional impact
**Timeline:** 30 minutes

```bash
# Delete all backup files (SAFE - no functional impact)
Remove-Item "app\templates\*.backup*" -Force
Remove-Item "app\templates\*\*.backup*" -Force -Recurse
Remove-Item "app\templates\*.safe_backup*" -Force
Remove-Item "app\templates\*.BROKEN*" -Force -Recurse
Remove-Item "app\templates\*.corrupted*" -Force -Recurse
Remove-Item "app\templates\*.duplicate_backup*" -Force -Recurse
Remove-Item "app\templates\base_backup_20250907_211127.html" -Force
Remove-Item "app\templates\index_complete.html" -Force
Remove-Item "app\templates\index_dashboard_footer.html" -Force
```

**CHECKLIST:**
- [ ] Backup current state: `git commit -m "Pre-cleanup state"`
- [ ] Delete .backup files 
- [ ] Delete .safe_backup files
- [ ] Delete .BROKEN files
- [ ] Delete .corrupted files
- [ ] Delete .duplicate_backup files
- [ ] Delete timestamped backup files
- [ ] Verify no routes reference deleted files
- [ ] Test application functionality
- [ ] Commit cleanup: `git commit -m "Remove backup file pollution"`

### **PHASE 2: EMPTY/BROKEN TEMPLATES (SAFE)**
**Priority:** HIGH - No functional impact  
**Timeline:** 15 minutes

```bash
# Delete empty and broken templates
Remove-Item "app\templates\about.html" -Force           # 0 bytes - empty
Remove-Item "app\templates\offline.html" -Force        # Offline functionality not implemented
```

### **PHASE 3: ALTERNATIVE BASE TEMPLATES (MEDIUM RISK)**
**Priority:** MEDIUM - Verify not used before deletion
**Timeline:** 30 minutes

```bash
# After verifying no references exist:
Remove-Item "app\templates\base_with_all_features.html" -Force
```

**VERIFICATION REQUIRED:**
- [ ] Search codebase: `Select-String -Pattern "base_with_all_features" -Path "**\*.py","**\*.html"`
- [ ] Confirm no routes or templates reference this file
- [ ] Create backup of file contents before deletion (in case features needed)

### **PHASE 4: SUPERSEDED/OLD TEMPLATES (MEDIUM RISK)**
**Priority:** MEDIUM - Verify routes don't reference
**Timeline:** 45 minutes

```bash
# Old profile system templates (replaced by profile/*)
Remove-Item "app\templates\auth\profile.html" -Force
Remove-Item "app\templates\auth\contractor_profile.html" -Force  
Remove-Item "app\templates\auth\worker_profile.html" -Force
Remove-Item "app\templates\auth\logout.html" -Force

# Old contract templates
Remove-Item "app\templates\contracts\ratings.html" -Force    # Superseded by rate.html

# Unused payout templates (no active routes)
Remove-Item "app\templates\payouts\contractor.html" -Force
Remove-Item "app\templates\payouts\worker.html" -Force
```

**VERIFICATION CHECKLIST:**
- [ ] Verify no routes reference these templates
- [ ] Check for any {% include %} references
- [ ] Test affected user flows (profile, payouts)
- [ ] Ensure replacement templates handle all use cases

### **PHASE 5: FEATURE TEMPLATES WITHOUT ROUTES (HIGH RISK)**
**Priority:** LOW - Investigate before deletion
**Timeline:** 1-2 hours investigation

**DO NOT DELETE IMMEDIATELY - INVESTIGATE FIRST:**
```bash
# These templates exist but have no current routes:
# app\templates\analytics\client.html
# app\templates\analytics\worker.html  
# app\templates\scheduling\bookings.html
# app\templates\scheduling\calendar.html
# app\templates\dashboard\enhanced_contractor.html
# app\templates\contracts\closeout.html
# app\templates\jobs\edit.html
```

**INVESTIGATION REQUIRED:**
- [ ] Check if routes planned but not implemented
- [ ] Check blueprint registration for analytics, scheduling
- [ ] Verify if enhanced_contractor.html has superior features
- [ ] Check if closeout/edit functionality needed for business logic

### **PHASE 6: UI REBUILD DIRECTORIES (MEDIUM RISK)**
**Priority:** MEDIUM - Contain experimental templates
**Timeline:** 30 minutes

```bash
# Remove experimental UI rebuild attempts:
Remove-Item "ui_rebuild\" -Recurse -Force
Remove-Item "ui_rebuild_v2\" -Recurse -Force  
Remove-Item "ui_rebuild_v3\" -Recurse -Force
Remove-Item "ui_rebuild_v4\" -Recurse -Force
Remove-Item "ui_rebuild_v5\" -Recurse -Force
Remove-Item "ui_rebuild_v6\" -Recurse -Force
```

**CAUTION:** Archive any successful patterns before deletion

---

## CSS CONSOLIDATION STRATEGY

### **CONSOLIDATE CSS FIX FILES**

**CURRENT FRAGMENTED STATE:**
```
dropdown_fix.css         → Merge into navigation.css
footer_dropdown_fix.css   → Merge into navigation.css  
navigation_fix.css        → Merge into navigation.css
nav_color_override.css    → Merge into brand variables
z-index-master.css        → Merge into base CSS with variables
```

**TARGET CONSOLIDATED STRUCTURE:**
```css
/* In app/static/css/main.css (new consolidated file) */
@import 'variables.css';      /* CSS custom properties */
@import 'bootstrap.min.css';
@import 'bootstrap-overrides.css';
@import 'navigation.css';     /* Consolidated navigation styles */
@import 'components.css';     /* Reusable UI components */
@import 'utilities.css';      /* Utility classes */

/* Remove these files after consolidation: */
/* dropdown_fix.css - merge into navigation.css */
/* footer_dropdown_fix.css - merge into navigation.css */
/* navigation_fix.css - merge into navigation.css */
/* nav_color_override.css - merge into variables.css */
/* z-index-master.css - merge into variables.css */
```

### **CSS ARCHITECTURE IMPLEMENTATION:**

**1. Create CSS Variables File:**
```css
/* app/static/css/variables.css */
:root {
  /* Z-index hierarchy (from z-index-master.css) */
  --z-dropdown: 1050;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1055;
  --z-popover: 1070;
  --z-tooltip: 1080;
  
  /* Brand colors (from brand-color-standardization.css) */
  --primary-color: #007bff;
  --secondary-color: #6c757d;
  --success-color: #28a745;
  --warning-color: #ffc107;
  --danger-color: #dc3545;
  
  /* Navigation (consolidate nav overrides) */
  --nav-bg: var(--primary-color);
  --nav-text: #ffffff;
  --nav-hover-bg: rgba(255, 255, 255, 0.1);
  --nav-dropdown-bg: #ffffff;
  --nav-dropdown-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
```

**2. Update base.html CSS References:**
```html
<!-- In app/templates/base.html, replace multiple CSS imports with: -->
<link rel="stylesheet" href="{{ url_for('static', filename='css/variables.css') }}">
<link rel="stylesheet" href="{{ url_for('static', filename='css/main.css') }}">
```

---

## COMPONENT EXTRACTION PLAN

### **EXTRACT NAVIGATION COMPONENTS**

**CURRENT:** Navigation HTML directly in base.html
**TARGET:** Extracted components for maintainability

**1. Extract User Dropdown:**
```jinja2
{# app/templates/partials/navigation/user_dropdown.html #}
<div class="dropdown">
  <button class="btn btn-link dropdown-toggle" data-bs-toggle="dropdown">
    {{ current_user.first_name }} {{ current_user.last_name }}
  </button>
  <ul class="dropdown-menu">
    <li><a class="dropdown-item" href="{{ url_for('user_settings') }}">Settings</a></li>
    <li><a class="dropdown-item" href="{{ url_for('profile_edit') }}">Profile</a></li>
    <li><hr class="dropdown-divider"></li>
    <li><a class="dropdown-item" href="{{ url_for('logout') }}">Logout</a></li>
  </ul>
</div>
```

**2. Extract Notifications Badge:**
```jinja2
{# app/templates/partials/navigation/notification_badge.html #}
<a href="{{ url_for('notifications_wrapper') }}" class="nav-link position-relative">
  <i class="fas fa-bell"></i>
  {% if unread_notifications_count > 0 %}
  <span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">
    {{ unread_notifications_count }}
  </span>
  {% endif %}
</a>
```

### **EXTRACT FOOTER COMPONENTS**

**1. Main Footer:**
```jinja2
{# app/templates/partials/footer/main_footer.html #}
<footer class="footer mt-auto py-3 bg-dark text-light">
  <div class="container">
    <div class="row">
      <div class="col-md-6">
        <span>&copy; {{ current_year }} RateRight Pty Ltd. All rights reserved.</span>
      </div>
      <div class="col-md-6 text-end">
        <a href="{{ url_for('legal.terms') }}" class="text-light">Terms</a> |
        <a href="{{ url_for('legal.privacy') }}" class="text-light">Privacy</a> |
        <a href="{{ url_for('legal.safety') }}" class="text-light">Safety</a>
      </div>
    </div>
  </div>
</footer>
```

---

## IMPLEMENTATION ROADMAP

### **PHASE 1: IMMEDIATE CLEANUP (Day 1 Morning)**

**1.1 Git Backup Current State**
```bash
git add .
git commit -m "Pre-UI-cleanup state - backup before template deletion"
git tag "ui-cleanup-backup-$(date +%Y%m%d)"
```

**1.2 Delete Backup File Pollution**
```bash
# Execute Phase 1 deletion commands from deletion plan
# Verify: Total ~25+ backup files removed
```

**1.3 Delete Empty/Broken Files**
```bash
# Execute Phase 2 deletion commands
# Remove about.html (0 bytes), offline.html
```

**SUCCESS CRITERIA:**
- [ ] 25+ backup files deleted
- [ ] Empty files removed  
- [ ] Application still runs
- [ ] No broken template references

### **PHASE 2: TEMPLATE CONSOLIDATION (Day 1 Afternoon)**

**2.1 Standardize Base Template**
```bash
# Verify no references to alternative base templates
Select-String -Pattern "base_with_all_features" -Path "**\*.py","**\*.html"

# If clear, delete alternative base:
Remove-Item "app\templates\base_with_all_features.html" -Force
```

**2.2 Clean Old Authentication Templates**
```bash
# Execute Phase 4 deletion commands for old profile system
# Verify profile/* templates handle all use cases
```

**SUCCESS CRITERIA:**
- [ ] Single base template (`base.html`) in use
- [ ] Old profile system templates removed
- [ ] All user profile functionality works
- [ ] Authentication flows functional

### **PHASE 3: CSS CONSOLIDATION (Day 2 Morning)**

**3.1 Create CSS Variables System**
```css
/* Create app/static/css/variables.css with consolidated variables */
```

**3.2 Consolidate Navigation CSS**
```css
/* Merge into app/static/css/navigation.css: */
/* - dropdown_fix.css content */
/* - footer_dropdown_fix.css content */
/* - navigation_fix.css content */
/* - z-index rules from z-index-master.css */
```

**3.3 Update Base Template CSS References**
```html
<!-- Simplify CSS includes in base.html -->
<link rel="stylesheet" href="{{ url_for('static', filename='css/variables.css') }}">
<link rel="stylesheet" href="{{ url_for('static', filename='css/main.css') }}">
```

**SUCCESS CRITERIA:**
- [ ] CSS variables system implemented
- [ ] Navigation/dropdown issues resolved
- [ ] CSS fix files consolidated
- [ ] Reduced CSS file count
- [ ] Consistent styling across pages

### **PHASE 4: COMPONENT EXTRACTION (Day 2 Afternoon)**

**4.1 Extract Navigation Components**
```bash
# Create partials/navigation/ directory structure
# Extract user dropdown, notification badge to separate components
```

**4.2 Extract Footer Components**  
```bash
# Create partials/footer/ directory structure
# Extract footer HTML from base.html to reusable component
```

**4.3 Update Base Template to Use Components**
```jinja2
<!-- Replace inline navigation/footer with component includes -->
{% include 'partials/navigation/auth_nav.html' %}
{% include 'partials/footer/main_footer.html' %}
```

**SUCCESS CRITERIA:**
- [ ] Navigation extracted to reusable components
- [ ] Footer extracted to reusable components
- [ ] base.html simplified and more maintainable
- [ ] Component reusability improved

---

## UI REBUILD CLEANUP STRATEGY

### **ARCHIVE BEFORE DELETION**

**PRESERVE VALUABLE PATTERNS:**
Before deleting ui_rebuild directories, archive any successful patterns:
```bash
# Check for successful techniques in:
ui_rebuild_v5/css/professional_base.css     # Professional styling patterns
ui_rebuild_v4/css/clean_base.css            # Clean design principles  
ui_rebuild_v3/css/main.css                  # Main stylesheet approach

# Archive useful patterns:
mkdir "archive\ui_rebuild_successful_patterns"
copy ui_rebuild_v*/css/*.css "archive\ui_rebuild_successful_patterns\"
```

**THEN DELETE:**
```bash
# After archiving useful patterns:
Remove-Item "ui_rebuild*" -Recurse -Force
```

---

## DEVELOPMENT STANDARDS ESTABLISHMENT

### **TEMPLATE DEVELOPMENT RULES**

**1. Base Template Standards:**
- **SINGLE BASE RULE:** Only `base.html` allowed as base template
- **NO ALTERNATIVES:** Any alternative base templates require justification and approval
- **COMPONENT FIRST:** Extract reusable components to partials/ before duplicating HTML

**2. CSS Development Rules:**
- **VARIABLES FIRST:** Use CSS custom properties, not hardcoded values
- **NO FIX FILES:** Address root cause in main stylesheets, not separate fix files
- **CONSOLIDATION:** Merge related CSS into logical files, not micro-files

**3. File Naming Standards:**
```
Templates:
- feature/action.html (e.g., contracts/list.html, auth/login.html)
- NO versioning in filenames (use git for versions)
- NO backup files in templates directory

CSS:
- variables.css (CSS custom properties)
- main.css (primary styles)
- components.css (reusable components)
- feature-specific.css only if substantial (e.g., time_tracking_mobile.css)
```

### **DEVELOPMENT WORKFLOW STANDARDS**

**1. Template Addition Process:**
```bash
# Before adding new template:
1. Check if existing template can be extended
2. Verify component extraction opportunity
3. Update this INVESTIGATION.md with new template info
4. Follow data contract pattern
5. Test template inheritance
```

**2. CSS Modification Process:**
```bash
# Before adding new CSS:
1. Check if variables.css change sufficient
2. Identify target file (main.css, navigation.css, etc.)
3. NO new "fix" files - modify root cause
4. Test across multiple templates
```

**3. PR Checklist for UI Changes:**
- [ ] No backup files included
- [ ] Template inheritance verified  
- [ ] CSS variables used instead of hardcoded values
- [ ] Component extraction considered
- [ ] Cross-browser testing completed
- [ ] Mobile responsiveness verified
- [ ] Documentation updated

---

## RISK MITIGATION

### **HIGH RISK OPERATIONS**

**1. Alternative Base Template Deletion:**
- **Risk:** May contain features not in main base.html
- **Mitigation:** Compare files before deletion, archive differences
- **Rollback:** Git tag created before cleanup

**2. CSS Consolidation:**
- **Risk:** CSS cascade changes may affect styling
- **Mitigation:** Test all major pages after each consolidation step
- **Rollback:** Individual CSS files backed up in git

**3. Component Extraction:**
- **Risk:** Template includes may break existing functionality  
- **Mitigation:** Extract components one at a time, test thoroughly
- **Rollback:** Gradual extraction allows easy reversal

### **TESTING PROTOCOL**

**After Each Phase:**
```bash
# Critical user flows to test:
1. User registration/login
2. Dashboard access (contractor + worker)  
3. Job posting/browsing
4. Contract creation/review
5. Navigation dropdown functionality
6. Footer link functionality
7. Mobile navigation
```

---

## POST-CLEANUP ARCHITECTURE

### **TARGET TEMPLATE STRUCTURE:**
```
app/templates/
├── base.html                    # SINGLE base template
├── index.html                   # Landing page
├── partials/                    # Shared components
│   ├── navigation/
│   │   ├── auth_nav.html
│   │   ├── public_nav.html
│   │   └── mobile_nav.html
│   ├── footer/
│   │   └── main_footer.html
│   └── widgets/
│       ├── notification_badge.html
│       ├── user_dropdown.html
│       └── time_summary.html
├── auth/                        # Authentication pages
│   ├── login.html
│   ├── register.html
│   └── settings.html
├── dashboard/                   # Role-specific dashboards  
│   ├── contractor.html
│   └── worker.html
├── jobs/                        # Job marketplace
├── contracts/                   # Contract management
├── messages/                    # Communication
├── payments/                    # Financial transactions
├── profile/                     # User profile management
└── legal/                       # Legal compliance pages
```

### **TARGET CSS STRUCTURE:**
```
app/static/css/
├── variables.css               # CSS custom properties
├── main.css                    # Primary stylesheet
├── bootstrap.min.css           # Bootstrap core
├── bootstrap-overrides.css     # Bootstrap customizations
├── navigation.css              # Consolidated navigation styles
├── components.css              # Reusable UI components
├── time_tracking_mobile.css    # Feature-specific (keep if substantial)
└── utilities.css               # Helper/utility classes
```

---

## MAINTENANCE STANDARDS

### **ONGOING TEMPLATE HYGIENE**

**Monthly Cleanup Checklist:**
- [ ] Search for .backup files: `Get-ChildItem -Filter "*.backup*" -Recurse`
- [ ] Check for orphaned templates: Compare template directory to routes
- [ ] Verify CSS file count not growing (max 8-10 files)
- [ ] Review component extraction opportunities

**Template Addition Standards:**
- [ ] New template extends base.html only
- [ ] Component extraction considered first
- [ ] Data contract documented
- [ ] Cross-feature impact assessed
- [ ] Mobile responsiveness verified

**CSS Modification Standards:**
- [ ] Variables used instead of hardcoded values
- [ ] Consolidated into appropriate existing file
- [ ] No new "fix" files created
- [ ] Cross-template impact tested

---

## SUCCESS CRITERIA

### **CLEANUP COMPLETION METRICS:**
- **Template Count Reduction:** From 49+ to ~30 active templates
- **Backup File Elimination:** From 25+ to 0 backup files
- **CSS File Consolidation:** From 15+ to 8-10 logical CSS files
- **Base Template Simplification:** Single base template with component includes

### **STANDARDIZATION ACHIEVEMENT:**
- **Consistent Inheritance:** All templates extend base.html (maintained)
- **Component Reusability:** Navigation/footer extracted to partials
- **CSS Variables:** Consistent color/sizing tokens across platform
- **Development Standards:** Clear rules preventing future fragmentation

### **FUNCTIONAL VERIFICATION:**
- **No Regressions:** All existing functionality preserved
- **UI Issues Resolved:** Navigation/dropdown problems addressed through CSS consolidation
- **Performance Improved:** Reduced CSS file count, streamlined template loading
- **Maintainability Enhanced:** Clear structure for future UI development

---

## IMPLEMENTATION CONCLUSION

**This solution provides a systematic approach to clean up RateRight's template fragmentation while preserving all working functionality.** The focus is on **maintenance and standardization** rather than rebuilding, leveraging the solid template inheritance foundation that already exists.

**KEY BENEFITS:**
1. **Reduced Confusion:** Clear template structure without orphaned files
2. **Improved Maintainability:** Component-based architecture for shared elements
3. **Consistent Styling:** CSS variables and consolidated stylesheets
4. **Better Developer Experience:** Clear standards and rules for future development
5. **Preserved Functionality:** No breaking changes to working features

**IMPLEMENTATION CONFIDENCE:** **HIGH** - Low-risk cleanup operations with comprehensive testing and rollback procedures.

---

**Solution Prepared:** 2025-09-08  
**Ready for Implementation:** Immediate  
**Estimated Effort:** 1-2 days  
**Risk Level:** Low-Medium with proper testing  
**Evidence Location:** 3.7 Evidence Archive\Features\UI_BaseTemplate\BUGS\BUG_UI_AUDIT_2025-09-08\
