diff --git a/frontend/src/pages/Login.tsx b/frontend/src/pages/Login.tsx index bbb6433..1477a15 100644 --- a/frontend/src/pages/Login.tsx +++ b/frontend/src/pages/Login.tsx @@ -1,7 +1,7 @@ import { useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import { useAuth } from '@/contexts/AuthContext'; -import { Plane } from 'lucide-react'; +import { Plane, LogIn, Shield } from 'lucide-react'; export function Login() { const { isAuthenticated, loginWithRedirect } = useAuth(); @@ -14,30 +14,51 @@ export function Login() { }, [isAuthenticated, navigate]); return ( -
-
-
-
- +
+ {/* Background ambient effects */} +
+
+
+
+
+ + {/* Content */} +
+ {/* Breathing logo circle */} +
+
+ {/* Inner circle */} +
+ +
-

+

+ + {/* Title */} +
+

VIP Coordinator

-

- Transportation logistics and event coordination +

+ Transportation logistics & event coordination

- + {/* Sign in card */} +
+ +
-
-

First user becomes administrator

-

Subsequent users require admin approval

+ {/* Footer note */} +
+ + Authorized personnel only
diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js index b709e9c..97aae4e 100644 --- a/frontend/tailwind.config.js +++ b/frontend/tailwind.config.js @@ -66,12 +66,25 @@ export default { }, animation: { 'bounce-subtle': 'bounce-subtle 2s ease-in-out infinite', + 'heartbeat': 'heartbeat 3s ease-in-out infinite', + 'glow-pulse': 'glow-pulse 3s ease-in-out infinite', }, keyframes: { 'bounce-subtle': { '0%, 100%': { transform: 'translateY(0)' }, '50%': { transform: 'translateY(-2px)' }, }, + 'heartbeat': { + '0%, 100%': { transform: 'scale(1)' }, + '15%': { transform: 'scale(1.08)' }, + '30%': { transform: 'scale(1)' }, + '45%': { transform: 'scale(1.05)' }, + '60%': { transform: 'scale(1)' }, + }, + 'glow-pulse': { + '0%, 100%': { boxShadow: '0 0 20px rgba(59, 130, 246, 0.15), 0 0 60px rgba(59, 130, 246, 0.05)' }, + '50%': { boxShadow: '0 0 30px rgba(59, 130, 246, 0.3), 0 0 80px rgba(59, 130, 246, 0.1)' }, + }, }, }, },