Spaces:
Running
Running
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| /* Custom CSS Variables */ | |
| :root { | |
| --primary-50: #f0f9ff; | |
| --primary-100: #e0f2fe; | |
| --primary-500: #0ea5e9; | |
| --primary-600: #0284c7; | |
| --primary-700: #0369a1; | |
| --secondary-500: #8b5cf6; | |
| --success-500: #10b981; | |
| --warning-500: #f59e0b; | |
| --error-500: #ef4444; | |
| --gray-50: #f9fafb; | |
| --gray-100: #f3f4f6; | |
| --gray-200: #e5e7eb; | |
| --gray-300: #d1d5db; | |
| --gray-400: #9ca3af; | |
| --gray-500: #6b7280; | |
| --gray-600: #4b5563; | |
| --gray-700: #374151; | |
| --gray-800: #1f2937; | |
| --gray-900: #111827; | |
| } | |
| /* Reset and base styles */ | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| html, body, #root { | |
| height: 100%; | |
| width: 100%; | |
| overflow: hidden; | |
| } | |
| body { | |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', | |
| 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); | |
| color: var(--gray-900); | |
| } | |
| /* Scrollbar styling */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| height: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: var(--gray-100); | |
| border-radius: 4px; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--gray-300); | |
| border-radius: 4px; | |
| transition: background 0.2s; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--gray-400); | |
| } | |
| /* Firefox scrollbar */ | |
| * { | |
| scrollbar-width: thin; | |
| scrollbar-color: var(--gray-300) var(--gray-100); | |
| } | |
| /* Focus styles */ | |
| *:focus { | |
| outline: 2px solid var(--primary-500); | |
| outline-offset: 2px; | |
| } | |
| button:focus, | |
| input:focus, | |
| textarea:focus, | |
| select:focus { | |
| outline: 2px solid var(--primary-500); | |
| outline-offset: 2px; | |
| } | |
| /* Button reset */ | |
| button { | |
| cursor: pointer; | |
| border: none; | |
| font-family: inherit; | |
| background: none; | |
| } | |
| button:disabled { | |
| cursor: not-allowed; | |
| opacity: 0.6; | |
| } | |
| /* Form elements */ | |
| input, textarea, select { | |
| font-family: inherit; | |
| } | |
| input::placeholder, | |
| textarea::placeholder { | |
| color: var(--gray-400); | |
| } | |
| /* Utility classes */ | |
| .gradient-bg { | |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); | |
| } | |
| .glass-effect { | |
| background: rgba(255, 255, 255, 0.25); | |
| backdrop-filter: blur(10px); | |
| -webkit-backdrop-filter: blur(10px); | |
| border: 1px solid rgba(255, 255, 255, 0.18); | |
| } | |
| .shadow-glow { | |
| box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(255, 255, 255, 0.05); | |
| } | |
| /* Animation classes */ | |
| .fade-in { | |
| animation: fadeIn 0.3s ease-in-out; | |
| } | |
| .slide-up { | |
| animation: slideUp 0.3s ease-out; | |
| } | |
| .scale-in { | |
| animation: scaleIn 0.2s ease-out; | |
| } | |
| @keyframes fadeIn { | |
| from { opacity: 0; } | |
| to { opacity: 1; } | |
| } | |
| @keyframes slideUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(20px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes scaleIn { | |
| from { | |
| opacity: 0; | |
| transform: scale(0.95); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| } | |
| /* Loading spinner */ | |
| .spinner { | |
| animation: spin 1s linear infinite; | |
| } | |
| @keyframes spin { | |
| from { transform: rotate(0deg); } | |
| to { transform: rotate(360deg); } | |
| } | |
| /* Responsive design helpers */ | |
| @media (max-width: 768px) { | |
| .mobile-hidden { | |
| display: none ; | |
| } | |
| } | |
| @media (min-width: 769px) { | |
| .mobile-only { | |
| display: none ; | |
| } | |
| } | |
| /* Print styles */ | |
| @media print { | |
| body { | |
| background: white ; | |
| } | |
| } |