Spaces:
Sleeping
Sleeping
| /* Authentication-specific styles */ | |
| /* Header navigation */ | |
| .header-content { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| width: 100%; | |
| } | |
| .header-left { | |
| flex: 1; | |
| } | |
| .logo-link { | |
| color: white; | |
| text-decoration: none; | |
| transition: opacity 0.2s ease; | |
| } | |
| .logo-link:hover { | |
| opacity: 0.8; | |
| } | |
| .header-nav { | |
| display: flex; | |
| align-items: center; | |
| gap: 0.75rem; | |
| } | |
| .user-info { | |
| font-size: 0.8rem; | |
| opacity: 0.9; | |
| margin-right: 0.5rem; | |
| } | |
| .nav-button { | |
| background-color: transparent; | |
| color: white; | |
| border: 2px solid white; | |
| padding: 0.375rem 0.75rem; | |
| border-radius: 1rem; | |
| text-decoration: none; | |
| font-size: 0.8rem; | |
| cursor: pointer; | |
| font-family: inherit; | |
| white-space: nowrap; | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| /* Button styles for mobile */ | |
| @media (max-width: 768px) { | |
| .nav-button { | |
| padding: 0.375rem 0.75rem; | |
| min-width: auto; | |
| min-height: 32px; | |
| font-size: 0.8rem; | |
| } | |
| } | |
| .nav-button:hover { | |
| background-color: white; | |
| color: black; | |
| } | |
| .logout-form { | |
| margin: 0; | |
| display: inline; | |
| } | |
| .logout-button { | |
| background-color: transparent; | |
| border: 2px solid white; | |
| } | |
| /* Desktop header navigation */ | |
| @media (min-width: 769px) { | |
| .header-nav { | |
| gap: 1rem; | |
| } | |
| .user-info { | |
| font-size: 0.9rem; | |
| margin-right: 0.75rem; | |
| } | |
| .nav-button { | |
| padding: 0.5rem 1rem; | |
| font-size: 0.9rem; | |
| } | |
| } | |
| /* Flash messages */ | |
| .flash-messages { | |
| padding: 0.75rem; | |
| background-color: white; | |
| } | |
| .flash-message { | |
| padding: 0.75rem 1rem; | |
| border-radius: 1rem; | |
| margin-bottom: 0.5rem; | |
| border: 2px solid; | |
| font-size: 0.9rem; | |
| } | |
| .flash-message:last-child { | |
| margin-bottom: 0; | |
| } | |
| .flash-success { | |
| background-color: #f0f9ff; | |
| border-color: #0ea5e9; | |
| color: #0c4a6e; | |
| } | |
| .flash-error { | |
| background-color: #fef2f2; | |
| border-color: #ef4444; | |
| color: #991b1b; | |
| } | |
| .flash-info { | |
| background-color: #f8fafc; | |
| border-color: #64748b; | |
| color: #334155; | |
| } | |
| /* Desktop flash messages */ | |
| @media (min-width: 769px) { | |
| .flash-messages { | |
| padding: 1rem 2rem; | |
| } | |
| .flash-message { | |
| font-size: 1rem; | |
| margin-bottom: 0.75rem; | |
| } | |
| } | |
| /* Authentication forms */ | |
| .auth-container { | |
| flex: 1; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 1rem; | |
| background-color: white; | |
| } | |
| .auth-form-wrapper { | |
| width: 100%; | |
| max-width: 400px; | |
| background-color: white; | |
| border: 2px solid black; | |
| border-radius: 1.5rem; | |
| padding: 2rem; | |
| } | |
| .auth-form h2 { | |
| text-align: center; | |
| margin-bottom: 1.5rem; | |
| font-size: 1.5rem; | |
| color: black; | |
| font-weight: 600; | |
| } | |
| .form-group { | |
| margin-bottom: 1rem; | |
| } | |
| .form-group label { | |
| display: block; | |
| margin-bottom: 0.5rem; | |
| font-weight: 500; | |
| color: black; | |
| font-size: 0.9rem; | |
| } | |
| .form-group input { | |
| width: 100%; | |
| padding: 0.75rem 1rem; | |
| border: 2px solid black; | |
| border-radius: 1.5rem; | |
| font-size: 1rem; | |
| background-color: white; | |
| color: black; | |
| font-family: inherit; | |
| -webkit-appearance: none; | |
| appearance: none; | |
| } | |
| .form-group input:focus { | |
| outline: none; | |
| border-color: black; | |
| border-width: 3px; | |
| } | |
| .form-group input:invalid { | |
| border-color: #ef4444; | |
| } | |
| .form-error { | |
| color: #ef4444; | |
| font-size: 0.8rem; | |
| margin-top: 0.25rem; | |
| display: none; | |
| } | |
| .form-error.show { | |
| display: block; | |
| } | |
| .auth-button { | |
| width: 100%; | |
| padding: 0.875rem 1rem; | |
| background-color: black; | |
| color: white; | |
| border: 2px solid black; | |
| border-radius: 2rem; | |
| font-size: 1rem; | |
| font-weight: 500; | |
| cursor: pointer; | |
| margin-bottom: 1rem; | |
| font-family: inherit; | |
| } | |
| .auth-button:hover { | |
| background-color: white; | |
| color: black; | |
| } | |
| /* Active state removed for minimal design */ | |
| .auth-button:disabled { | |
| background-color: white; | |
| color: black; | |
| opacity: 0.5; | |
| cursor: not-allowed; | |
| } | |
| .auth-links { | |
| text-align: center; | |
| margin-top: 1rem; | |
| } | |
| .auth-links a { | |
| color: black; | |
| text-decoration: underline; | |
| font-size: 0.9rem; | |
| } | |
| .auth-links a:hover { | |
| opacity: 0.7; | |
| } | |
| /* Desktop auth forms */ | |
| @media (min-width: 769px) { | |
| .auth-container { | |
| padding: 2rem; | |
| } | |
| .auth-form-wrapper { | |
| max-width: 450px; | |
| padding: 2.5rem; | |
| } | |
| .auth-form h2 { | |
| font-size: 1.75rem; | |
| margin-bottom: 2rem; | |
| } | |
| .form-group { | |
| margin-bottom: 1.25rem; | |
| } | |
| .form-group label { | |
| font-size: 1rem; | |
| } | |
| .auth-button { | |
| padding: 1rem; | |
| font-size: 1.1rem; | |
| } | |
| .auth-links a { | |
| font-size: 1rem; | |
| } | |
| } | |
| /* Mobile optimizations */ | |
| @media (max-width: 768px) { | |
| .user-info { | |
| font-size: 0.7rem; | |
| margin-right: 0.25rem; | |
| max-width: 120px; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .auth-form-wrapper { | |
| padding: 1.5rem; | |
| margin: 0.5rem; | |
| border-radius: 0.75rem; | |
| } | |
| .auth-form h2 { | |
| font-size: 1.25rem; | |
| margin-bottom: 1.25rem; | |
| } | |
| /* Prevent zoom on input focus */ | |
| .form-group input { | |
| font-size: 16px ; | |
| } | |
| } | |
| /* Chat-specific main content (when extending base) */ | |
| .chat-container { | |
| flex: 1; | |
| display: flex; | |
| flex-direction: column; | |
| overflow: hidden; | |
| min-height: 0; | |
| } | |
| /* Loading indicator adjustments for auth pages */ | |
| .auth-container .loading-indicator { | |
| position: absolute; | |
| bottom: 2rem; | |
| } | |
| /* Responsive navigation for very small screens */ | |
| @media (max-width: 480px) { | |
| .header-content { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| gap: 0.5rem; | |
| } | |
| .header-left { | |
| flex: 0 0 auto; | |
| } | |
| .header-nav { | |
| justify-content: flex-end; | |
| gap: 0.5rem; | |
| } | |
| .user-info { | |
| max-width: 150px; | |
| } | |
| } | |
| /* High contrast mode support */ | |
| @media (prefers-contrast: high) { | |
| .nav-button { | |
| border-width: 2px; | |
| } | |
| .form-group input { | |
| border-width: 3px; | |
| } | |
| .auth-button { | |
| border-width: 3px; | |
| } | |
| } | |
| /* Spinner for form buttons */ | |
| /* Spinner removed - using text instead */ | |
| /* Spin animation removed for minimal design */ | |
| /* Reduced motion support - animations already removed *//* | |
| Error pages */ | |
| .error-container { | |
| flex: 1; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 2rem; | |
| background-color: white; | |
| } | |
| .error-content { | |
| text-align: center; | |
| max-width: 500px; | |
| width: 100%; | |
| } | |
| .error-code { | |
| font-size: 6rem; | |
| font-weight: 700; | |
| color: black; | |
| margin: 0; | |
| line-height: 1; | |
| } | |
| .error-title { | |
| font-size: 2rem; | |
| font-weight: 600; | |
| color: black; | |
| margin: 1rem 0; | |
| } | |
| .error-message { | |
| font-size: 1.1rem; | |
| color: #4a5568; | |
| margin: 1.5rem 0 2rem 0; | |
| line-height: 1.6; | |
| } | |
| .error-actions { | |
| display: flex; | |
| gap: 1rem; | |
| justify-content: center; | |
| flex-wrap: wrap; | |
| } | |
| .error-button { | |
| padding: 0.75rem 1.5rem; | |
| background-color: black; | |
| color: white; | |
| border: 2px solid black; | |
| border-radius: 2rem; | |
| text-decoration: none; | |
| font-size: 1rem; | |
| font-weight: 500; | |
| cursor: pointer; | |
| font-family: inherit; | |
| display: inline-block; | |
| } | |
| .error-button:hover { | |
| background-color: white; | |
| color: black; | |
| } | |
| .error-button.secondary { | |
| background-color: white; | |
| color: black; | |
| border-color: #d1d5db; | |
| } | |
| .error-button.secondary:hover { | |
| background-color: #f9fafb; | |
| border-color: black; | |
| } | |
| /* Mobile error pages */ | |
| @media (max-width: 768px) { | |
| .error-container { | |
| padding: 1rem; | |
| } | |
| .error-code { | |
| font-size: 4rem; | |
| } | |
| .error-title { | |
| font-size: 1.5rem; | |
| } | |
| .error-message { | |
| font-size: 1rem; | |
| margin: 1rem 0 1.5rem 0; | |
| } | |
| .error-actions { | |
| flex-direction: column; | |
| align-items: center; | |
| } | |
| .error-button { | |
| width: 100%; | |
| max-width: 200px; | |
| } | |
| } | |
| /* Session expiry notification */ | |
| .session-expiry-warning { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| background-color: #fbbf24; | |
| color: #92400e; | |
| padding: 0.75rem; | |
| text-align: center; | |
| font-weight: 500; | |
| z-index: 1000; | |
| border-bottom: 2px solid #f59e0b; | |
| } | |
| .session-expiry-warning button { | |
| background: none; | |
| border: none; | |
| color: #92400e; | |
| font-weight: 600; | |
| cursor: pointer; | |
| margin-left: 1rem; | |
| text-decoration: underline; | |
| } |