Cloud Profiles (ProfilesPage.tsx):
- Add template visibility control (showInModal flag)
- Eye/EyeOff toggle in templates modal to show/hide templates
- Only templates with showInModal=true appear in preset modals
- Default new templates to showInModal=true in save dialog
- Add preset diff/compare view with two modes:
- Compare button in edit modal (preset vs base)
- Compare mode on main page (two-preset comparison)
- Side-by-side diff with added/removed/changed highlighting
- Stats showing added/removed/changed/same counts
- Search filter and Changes/All toggle
- Type restriction (only compare same preset types)
- Fix array value display (show "value" instead of ["value"])
- Fix printer preset G-code display (format escaped \n as real newlines)
- Fix modal overflow issues with proper flex patterns
- Fix light theme colors for compare selection text
- Add dynamic humidity indicator with Bambu Lab style water drop icons
- Empty drop for good (dry), half-filled for fair, full for bad (wet)
- Configurable thresholds via Settings page
- Add dynamic temperature indicator with thermometer icons
- Empty for good, half-filled for fair, full for hot
- Colors match humidity: green/gold/red
- Add AMS Display Thresholds settings card
- Humidity thresholds (good/fair) configurable
- Temperature thresholds (good/fair) configurable
- Persisted in backend settings
- Fix AMS card stability issues
- Add ams_extruder_map to WebSocket broadcasts
- Cache AMS data and extruder map to prevent bouncing
- Fix L/R nozzle indicator for dual-nozzle H2 printers
- Fix status summary bar counting
- Don't count printers with unknown status as offline
- Theme-aware L/R nozzle badges (light/dark theme support)