        /* Custom New Animations */
        .animate-gradient-text {
            background: linear-gradient(-45deg, #0054a6, #4ca6f5, #ff2d75, #0054a6);
            background-size: 300%;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            animation: gradientText 6s ease infinite;
        }
        @keyframes gradientText {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        .card-entrance {
            opacity: 0;
            transform: translateY(30px) scale(0.95);
            animation: slideUpScale 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }
        @keyframes slideUpScale {
            to { opacity: 1; transform: translateY(0) scale(1); }
        }

        .hover-float-icon {
            transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
        }
        .group:hover .hover-float-icon {
            transform: translateY(-8px) scale(1.15) rotate(5deg);
        }

        .btn-pulse {
            position: relative;
        }
        .btn-pulse::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            box-shadow: 0 0 0 0 rgba(0, 84, 166, 0.6);
            animation: pulse-ring 2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
            z-index: -1;
        }
        @keyframes pulse-ring {
            70% { box-shadow: 0 0 0 12px rgba(0, 84, 166, 0); }
            100% { box-shadow: 0 0 0 0 rgba(0, 84, 166, 0); }
        }

        /* Dark Mode CSS Overrides */
        .dark body { background: #0f172a; }
        .dark #page-loader { background: #0f172a; }
        .dark .bg-animate { 
            background: radial-gradient(circle at 10% 20%, #1e1b4b 0%, transparent 40%), 
                        radial-gradient(circle at 90% 80%, #064e3b 0%, transparent 40%), 
                        radial-gradient(circle at 50% 50%, #451a03 0%, transparent 50%); 
        }
        .dark .glowing-inner { 
            background-color: #1e293b; 
            border-color: #334155; 
        }
        .dark .auth-tab.active { 
            border-bottom-color: #4facfe; 
            color: #4facfe; 
        }
        .dark .card-3d { 
            background: rgba(30, 41, 59, 0.85); 
            border-color: rgba(255, 255, 255, 0.1); 
        }
        .dark .card-3d:hover, .dark .card-3d:focus-visible { 
            background: rgba(30, 41, 59, 1); 
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5); 
        }

        /* Accessibility: Reduce motion if preferred by user OS */
        @media (prefers-reduced-motion: reduce) {
            .animate-gradient-text, .card-entrance, .btn-pulse::before { transition: none !important; animation: none !important; }
            .card-entrance { opacity: 1; transform: none; }
        }
        
        /* Hide number input arrows */
        input[type="number"]::-webkit-inner-spin-button, 
        input[type="number"]::-webkit-outer-spin-button { 
            -webkit-appearance: none; 
            margin: 0; 
        }
    </style>
