@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
    --primary: #2563eb;
    --primary-glow: rgba(37, 99, 235, 0.4);
    --bg-light: #f8fafc;
    --text-main: #0f172a;
    --text-muted: #64748b;
}

body {
    font-family: 'Outfit', sans-serif;
    background-color: var(--bg-light);
    color: var(--text-main);
    -webkit-font-smoothing: antialiased;
}

/* Glassmorphism effects */
.glass-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.05);
}

.premium-shadow {
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
}

.input-styled {
    @apply w-full bg-slate-50 border-none rounded-xl px-4 py-3 text-slate-700 transition-all duration-200;
}

.input-styled:focus {
    @apply ring-2 ring-blue-500/20 bg-white shadow-sm outline-none;
}

.label-styled {
    @apply block text-[10px] font-bold uppercase tracking-widest text-slate-400 mb-2;
}

.btn-premium {
    @apply relative flex items-center justify-center gap-2 bg-blue-600 text-white font-bold py-4 px-6 rounded-xl transition-all duration-300 shadow-lg shadow-blue-500/30;
}

.btn-premium:hover {
    @apply bg-blue-700 shadow-blue-500/50 -translate-y-0.5;
}

.btn-premium:active {
    @apply translate-y-0;
}

/* Specific button glow from Image 1 */
.btn-glow {
    box-shadow: 0 0 20px var(--primary-glow);
}

/* Smooth transitions */
.page-transition {
    animation: fadeIn 0.5s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes bounce-in {
    0% { opacity: 0; transform: translateY(20px) scale(0.9); }
    50% { opacity: 1; transform: translateY(-5px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

.animate-bounce-in {
    animation: bounce-in 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}