@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap'); body { font-family: 'Roboto', sans-serif; } /* Image optimization */ img { max-width: 100%; height: auto; object-fit: cover; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-track { background: #111827; } ::-webkit-scrollbar-thumb { background: linear-gradient(to bottom, #f43f5e, #ec4899); border-radius: 5px; border: 2px solid #111827; } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(to bottom, #e11d48, #db2777); } /* Animation for buttons */ button, a[role="button"] { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); transform: translateY(0); } button:hover, a[role="button"]:hover { transform: translateY(-3px); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2), 0 4px 6px -2px rgba(0, 0, 0, 0.1); } /* Pulse animation for important elements */ @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(244, 63, 94, 0.7); } 70% { box-shadow: 0 0 0 10px rgba(244, 63, 94, 0); } 100% { box-shadow: 0 0 0 0 rgba(244, 63, 94, 0); } } .pulse { animation: pulse 2s infinite; } /* Custom file upload styling */ input[type="file"] { width: 0.1px; height: 0.1px; opacity: 0; overflow: hidden; position: absolute; z-index: -1; } /* Table row hover effect */ tr { transition: background-color 0.2s ease; }