/* Custom styles for Virtual Internship Platform */ /* Additional utility classes */ .text-balance { text-wrap: balance; } /* Custom animations */ .fade-in { animation: fadeIn 0.5s ease-in; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Progress bar animations */ .progress-bar { transition: width 0.6s ease-in-out; } /* Card hover effects */ .card-hover { transition: all 0.3s ease; } .card-hover:hover { transform: translateY(-4px); box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); } /* Custom scrollbar */ .custom-scrollbar::-webkit-scrollbar { width: 8px; } .custom-scrollbar::-webkit-scrollbar-track { background: #f1f5f9; } .custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; } .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #94a3b8; } /* Dark mode scrollbar */ .dark .custom-scrollbar::-webkit-scrollbar-track { background: #374151; } .dark .custom-scrollbar::-webkit-scrollbar-thumb { background: #6b7280; } .dark .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #9ca3af; } /* File upload area */ .file-upload-area { border: 2px dashed #d1d5db; transition: all 0.3s ease; } .file-upload-area:hover, .file-upload-area.dragover { border-color: #3b82f6; background-color: #eff6ff; } .dark .file-upload-area { border-color: #4b5563; } .dark .file-upload-area:hover, .dark .file-upload-area.dragover { border-color: #60a5fa; background-color: #1e3a8a; } /* Form focus styles */ .form-input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgb(59 130 246 / 0.1); } /* Loading spinner */ .spinner { border: 3px solid #f3f4f6; border-top: 3px solid #3b82f6; border-radius: 50%; width: 24px; height: 24px; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Badge styles */ .badge { display: inline-flex; align-items: center; padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.025em; } .badge-success { background-color: #dcfce7; color: #166534; } .badge-warning { background-color: #fef3c7; color: #92400e; } .badge-error { background-color: #fecaca; color: #991b1b; } .badge-info { background-color: #dbeafe; color: #1e40af; } /* Dark mode badges */ .dark .badge-success { background-color: #166534; color: #dcfce7; } .dark .badge-warning { background-color: #92400e; color: #fef3c7; } .dark .badge-error { background-color: #991b1b; color: #fecaca; } .dark .badge-info { background-color: #1e40af; color: #dbeafe; } /* Task difficulty indicators */ .difficulty-easy { color: #16a34a; } .difficulty-medium { color: #ea580c; } .difficulty-hard { color: #dc2626; } /* Status indicators */ .status-active { color: #16a34a; } .status-pending { color: #ea580c; } .status-inactive { color: #6b7280; } /* Responsive utilities */ @media (max-width: 640px) { .mobile-stack > * + * { margin-top: 1rem; } } /* Print styles */ @media print { .no-print { display: none !important; } .print-break { page-break-before: always; } }