@tailwind base; @tailwind components; @tailwind utilities; /* Custom Scrollbar */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { @apply bg-gray-100 dark:bg-gray-800; } ::-webkit-scrollbar-thumb { @apply bg-blue-500 rounded-full; } ::-webkit-scrollbar-thumb:hover { @apply bg-blue-600; } /* Animations */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .tab-content { display: none; animation: fadeIn 0.3s ease; } .tab-content.active { display: block; } /* Persian Font */ body { font-family: 'Vazirmatn', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; } /* List Item Hover Effect */ .list-item { position: relative; overflow: hidden; } .list-item::before { content: ''; position: absolute; top: 0; right: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent); transition: all 0.3s ease; } .list-item:hover::before { right: 100%; } /* Button Hover Effect */ .action-button { position: relative; overflow: hidden; } .action-button::before { content: ''; position: absolute; top: 0; right: 0; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transform: translateX(-100%); transition: all 0.3s ease; } .action-button:hover::before { transform: translateX(100%); } /* Empty State */ .empty-state { @apply flex flex-col items-center justify-center py-12 text-center; } .empty-state-icon { @apply text-gray-400 dark:text-gray-500 text-5xl mb-4; } .empty-state-title { @apply text-lg font-medium text-gray-700 dark:text-gray-300 mb-2; } .empty-state-description { @apply text-gray-500 dark:text-gray-400 max-w-md; } /* Badges */ .badge { @apply inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium; } .badge-success { @apply bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200; } .badge-warning { @apply bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200; } .badge-error { @apply bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200; } .badge-info { @apply bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200; } .badge-secondary { @apply bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-300; } /* Responsive Adjustments */ @media (max-width: 640px) { .stats-grid { @apply grid-cols-1; } .tab-container button { @apply px-3 py-2 text-xs; } .profile-card { @apply p-4; } }