@tailwind base; @tailwind components; @tailwind utilities; /* Custom friendly style */ .btn-primary { @apply bg-primary text-white font-semibold rounded-lg px-4 py-2 shadow hover:bg-primary-light transition; } .btn-accent { @apply bg-accent text-gray-900 font-semibold rounded-lg px-4 py-2 shadow hover:bg-accent-light transition; } .sidebar { @apply bg-primary text-white min-h-screen p-0; } .sidebar .nav-link { @apply text-white hover:bg-accent hover:text-gray-900 rounded px-3 py-2 transition block; } .table-header { @apply bg-primary text-white; } .table-row:hover { @apply bg-accent-light; } .alert-success { @apply bg-primary-light text-white px-4 py-2 rounded shadow mb-2; } .alert-warning { @apply bg-accent text-gray-900 px-4 py-2 rounded shadow mb-2; } input:focus, select:focus, textarea:focus { @apply border-primary ring-2 ring-primary-light; } .card { @apply rounded-lg shadow p-4 bg-white; } /* Login page specific styles */ .login-container { @apply min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/10 via-accent/10 to-primary/20; } .login-card { @apply bg-white/95 backdrop-blur-sm shadow-xl rounded-2xl border border-white/20 overflow-hidden; } .login-input { @apply w-full px-4 py-3 border border-gray-300 rounded-lg focus:border-primary focus:ring-2 focus:ring-primary/20 transition duration-200; } .login-button { @apply w-full py-3 bg-primary hover:bg-primary-dark text-white font-semibold rounded-lg transition duration-200 flex items-center justify-center; } .login-select { @apply w-full px-4 py-3 border border-gray-300 rounded-lg focus:border-primary focus:ring-2 focus:ring-primary/20 transition duration-200 bg-white; } /* Custom animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .animate-fade-in-up { animation: fadeInUp 0.6s ease-out; } /* Glass morphism effect */ .glass { background: rgba(255, 255, 255, 0.25); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.18); }