Date: 2026-02-14 17:15 PST Changes: Comprehensive mobile-first improvements
- Bottom tab bar for mobile (Agents / Control / Trace)
- Desktop keeps 3-panel side-by-side layout
- No more cramped side panels on small screens
- Touch-friendly 44px minimum tap targets
- Removed verbose labels on mobile (kept icons only)
- Simplified connection status (dot indicator)
- Hidden desktop-only actions (notifications, search, kill switch)
- Compact user avatar on mobile
- Hidden on mobile (was blocking UI)
- Made more compact on desktop
- Reduced from "Switch to Kanban View 🔄" → "Kanban 🔄"
- Hidden on mobile (saves screen space)
- Still shows on desktop for context
- Mobile title added ("Agents")
- Grid stats (2-column on mobile, 1-column on desktop)
- Larger touch targets for agent cards (p-4 on mobile vs p-3 on desktop)
- Bigger emoji (3xl on mobile, 2xl on desktop)
- Better typography scaling (base→sm for mobile)
- Active states for touch (no hover on mobile)
- Better input sizing (16px font to prevent iOS zoom)
- Simplified mobile layout (removed voice button on mobile)
- Safe area handling for iPhone notch/home indicator
- Better message bubbles (85% max-width on mobile)
- Compact timestamps on mobile
- Touch-friendly send button (bigger, active state)
- Flex tabs (equal width on mobile)
- Icon-only on very small screens
- Labels show on sm+ screens
- Better touch targets (full height, flex-1)
- Smooth scrolling for tab overflow
Created mobile-polish.css with:
- Safe area insets for iOS
- Touch-manipulation optimization
- Typography scaling (@media queries)
- Smoother transitions (reduced motion for performance)
- Better glassmorphism (less blur on mobile for performance)
- Keyboard-aware inputs (scroll-margin-bottom)
- Active states instead of hover on touch devices
/* All interactive elements */
.touch-manipulation {
touch-action: manipulation;
-webkit-tap-highlight-color: transparent;
min-height: 44px;
min-width: 44px;
}.safe-area-bottom {
padding-bottom: max(env(safe-area-inset-bottom), 1rem);
}- Reduced backdrop-blur on mobile (16px vs 24px)
- Shorter transition durations (150ms vs 250ms)
- Disabled hover effects on touch devices (use :active instead)
- Base font size 16px (prevents iOS zoom)
- Responsive text scaling (sm → base on mobile)
- Better line heights for readability
- ❌ 3 side-by-side panels (cramped)
- ❌ Kanban button blocking UI
- ❌ Small touch targets (<44px)
- ❌ Desktop hover states on touch
- ❌ Demo banner taking space
- ❌ Tiny text (hard to read)
- ✅ Bottom tab navigation (one panel at a time)
- ✅ Hidden Kanban button
- ✅ 44px+ touch targets everywhere
- ✅ Active states for touch
- ✅ No demo banner clutter
- ✅ Readable text sizes (16px+)
URL: https://kissing-pcs-expense-monetary.trycloudflare.com
Test on mobile:
- Open URL on phone
- See bottom tab bar (Agents / Control / Trace)
- Tap between tabs - smooth switching
- Try agent cards - bigger, easier to tap
- Type in chat - 16px font, no iOS zoom
- Scroll smoothly with iOS momentum
Test on desktop:
- Same URL on laptop/desktop
- See 3-panel layout (unchanged)
- All desktop features intact (notifications, search, etc.)
- Hover effects work normally
apps/web/src/components/operator/MobileBottomNav.tsx(bottom tab bar)apps/web/src/styles/mobile-polish.css(mobile CSS system)
apps/web/src/components/operator/OperatorLayout.tsx(responsive layout)apps/web/src/components/operator/OperatorView.tsx(mobile header)apps/web/src/components/operator/AgentRegistry.tsx(mobile stats & cards)apps/web/src/components/operator/ChatPanel.tsx(mobile input & messages)apps/web/src/components/operator/CenterTabs.tsx(mobile tabs)apps/web/src/AppRouter.tsx(hidden Kanban button)apps/web/src/main.tsx(import mobile CSS)
- Bottom nav visible and functional
- All 3 tabs switch smoothly (Agents / Control / Trace)
- Agent cards easy to tap (no mis-taps)
- Chat input doesn't zoom on focus (16px font)
- Send button big enough to tap
- No horizontal scroll
- Smooth iOS momentum scrolling
- Safe area respected (no UI behind notch/home bar)
- 3-panel layout intact
- Toggle buttons work (hide/show panels)
- Hover effects work
- All desktop features present
- No mobile nav visible
- Resize browser window - layout adapts smoothly
- Breakpoint at 768px (md: in Tailwind)
- No broken layouts at any size
- Swipe gestures - swipe between tabs instead of tapping
- Pull-to-refresh - refresh agent status
- Haptic feedback - vibrate on tap (iOS/Android)
- Voice input - mobile-specific voice UI
- Push notifications - approval alerts on phone
- Share sheet - share traces/messages natively
- Dark mode switch - system preference detection
- Offline mode - work without internet
- Mobile shortcuts - add to home screen (PWA)
- Better landscape - optimize for horizontal screens
- ✅ No more "looks ugly on mobile"
- ✅ Touch-friendly (44px+ targets)
- ✅ Readable text (16px+ base)
- ✅ One panel at a time (bottom nav)
- ✅ iOS safe areas handled
- ✅ No zoom on input focus
- ✅ Performance optimized (less blur/transitions)
- ✅ Active states replace hover on touch
Total Changes: 9 files modified/created Time: ~20 minutes Status: ✅ Ready for testing on mobile device
Try it now: https://kissing-pcs-expense-monetary.trycloudflare.com