        :root { --strength-color: #e2e8f0; }
        body { 
            font-family: 'Inter', sans-serif; 
            background: radial-gradient(circle at top right, #f8fafc 0%, #ffffff 100%);
        }
        
        /* Premium Glassmorphism */
        .glass-card {
            background: rgba(255, 255, 255, 0.8);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.6);
            box-shadow: 0 40px 100px -20px rgba(0,0,0,0.08);
            border-radius: 3rem;
        }

        /* Smooth Tab Slider */
        .tab-slider {
            transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
        }
        
        .tab-btn {
            transition: color 0.3s ease;
        }

        /* Clean Input Fields */
        .input-field {
            border-bottom: 2px solid #f1f5f9;
            transition: all 0.3s ease;
            width: 100%;
            padding: 0.875rem 0;
            background: transparent;
            font-size: 1rem;
            font-weight: 500;
            outline: none;
        }
        .input-field:focus {
            border-bottom-color: #000;
        }
        .input-field::placeholder {
            color: #e2e8f0;
            font-weight: 400;
        }

        /* Password Strength Bar */
        #strength-bar {
            width: 0%;
            height: 100%;
            background-color: var(--strength-color);
            transition: width 0.6s cubic-bezier(0.23, 1, 0.32, 1), background-color 0.4s linear;
        }

        .fade-in { 
            animation: fadeIn 0.5s forwards; 
        }
        @keyframes fadeIn { 
            from { opacity: 0; transform: translateY(10px); } 
            to { opacity: 1; transform: translateY(0); } 
        }

        .hidden-element { display: none !important; }

        /* Logo */
        .logo-text {
            font-size: 2.5rem;
            line-height: 1;
            letter-spacing: -0.03em;
            white-space: nowrap;
        }
        @media (min-width: 768px) {
            .logo-text { font-size: 3rem; }
        }

        /* Background blobs */
        .blob {
            position: absolute;
            border-radius: 50%;
            filter: blur(100px);
            z-index: -1;
        }