Spaces:
Sleeping
Sleeping
| /* Enhanced Chat Interface Styles */ | |
| /* Message timestamp styles */ | |
| .message-header { | |
| display: flex; | |
| justify-content: space-between; | |
| padding: 0 1rem 0.5rem 1rem; | |
| font-size: 0.8rem; | |
| color: #64748b; | |
| } | |
| .sender-label { | |
| font-weight: 500; | |
| } | |
| .message-timestamp { | |
| font-size: 0.75rem; | |
| color: #94a3b8; | |
| } | |
| .message-user .message-header { | |
| text-align: right; | |
| } | |
| .message-assistant .message-header { | |
| text-align: left; | |
| } | |
| /* Accessibility Improvements */ | |
| .message:focus { | |
| outline: 2px solid #667eea; | |
| border-radius: 8px; | |
| } | |
| .side-panel:focus { | |
| outline: 2px solid #667eea; | |
| } | |
| button:focus-visible, | |
| textarea:focus-visible, | |
| input:focus-visible, | |
| .clickable:focus-visible { | |
| outline: 2px solid #667eea; | |
| outline-offset: 2px; | |
| } | |
| .sr-only { | |
| position: absolute; | |
| width: 1px; | |
| height: 1px; | |
| padding: 0; | |
| margin: -1px; | |
| overflow: hidden; | |
| clip: rect(0, 0, 0, 0); | |
| white-space: nowrap; | |
| border-width: 0; | |
| } | |
| /* Mobile Experience Optimization */ | |
| @media (max-width: 768px) { | |
| /* Adjustments for smaller screens */ | |
| .message-header { | |
| padding: 0 0.5rem 0.25rem 0.5rem; | |
| font-size: 0.75rem; | |
| } | |
| /* Mobile swipe gestures */ | |
| .chat-container { | |
| position: relative; | |
| touch-action: pan-y; | |
| } | |
| /* Improved touch targets for mobile */ | |
| .feedback-btn, .icon-button, .primary-button { | |
| min-height: 44px; | |
| min-width: 44px; | |
| } | |
| } | |
| /* Mobile swipe indicator */ | |
| .swipe-indicator { | |
| position: absolute; | |
| top: 50%; | |
| right: -5px; | |
| width: 30px; | |
| height: 50px; | |
| background: rgba(102, 126, 234, 0.2); | |
| border-top-left-radius: 25px; | |
| border-bottom-left-radius: 25px; | |
| display: none; | |
| justify-content: center; | |
| align-items: center; | |
| z-index: 90; | |
| opacity: 0.7; | |
| box-shadow: -1px 0 3px rgba(0, 0, 0, 0.1); | |
| animation: pulse 2s infinite; | |
| } | |
| /* Only show swipe indicator on smaller screens */ | |
| @media (max-width: 768px) { | |
| .swipe-indicator { | |
| display: flex; | |
| } | |
| } | |
| .swipe-indicator svg { | |
| width: 16px; | |
| height: 16px; | |
| stroke: #667eea; | |
| } | |
| /* Conversation export/import */ | |
| .export-import-buttons { | |
| display: flex; | |
| gap: 0.5rem; | |
| padding-bottom: 0.5rem; | |
| border-bottom: 1px solid #e2e8f0; | |
| } | |
| .search-conversations { | |
| margin-top: 0.5rem; | |
| margin-bottom: 0.5rem; | |
| } | |
| .search-input { | |
| width: 100%; | |
| padding: 0.75rem; | |
| border: 1px solid #e2e8f0; | |
| border-radius: 8px; | |
| font-size: 0.875rem; | |
| } | |
| .search-input:focus { | |
| border-color: #667eea; | |
| box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); | |
| outline: none; | |
| } | |
| /* Improved error handling */ | |
| .retry-button { | |
| background: #f8fafc; | |
| border: 1px solid #ef4444; | |
| color: #ef4444; | |
| border-radius: 8px; | |
| padding: 0.5rem 0.75rem; | |
| font-size: 0.875rem; | |
| margin-top: 0.5rem; | |
| cursor: pointer; | |
| transition: all 0.2s; | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| } | |
| .retry-button:hover { | |
| background: #fef2f2; | |
| } | |
| .error-details { | |
| background: #fef2f2; | |
| padding: 0.5rem; | |
| border-radius: 6px; | |
| margin-top: 0.5rem; | |
| font-size: 0.8rem; | |
| color: #b91c1c; | |
| max-height: 100px; | |
| overflow-y: auto; | |
| } | |
| /* File upload for import */ | |
| .file-upload { | |
| display: none; | |
| } | |
| .file-upload-label { | |
| cursor: pointer; | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| background: #f8fafc; | |
| border: 1px solid #e2e8f0; | |
| border-radius: 8px; | |
| padding: 0.5rem 0.75rem; | |
| font-size: 0.875rem; | |
| color: #1e293b; | |
| transition: all 0.2s; | |
| } | |
| .file-upload-label:hover { | |
| background: #f1f5f9; | |
| border-color: #cbd5e1; | |
| } | |
| /* Auto-retry status */ | |
| .auto-retry-status { | |
| font-size: 0.8rem; | |
| color: #f59e0b; | |
| margin-top: 0.5rem; | |
| display: flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| } | |
| .retry-countdown { | |
| font-weight: 600; | |
| } | |